大概的思路就是用axd來除錯u-boot,方法很簡單。
在linux下編譯u-boot的目錄除了生成u-boot.bin檔案,還有乙個u-boot檔案。
將u-boot,u-boot.bin這兩個檔案複製到windows下的乙個目錄下,如 e:u-boot-gdb。然後將 u-boot 重新命名為 u-boot.axf。
開啟axd除錯程式,如果沒有axd的,則要安裝ads1.2。
按快捷鍵 alt+l 鍵就彈出命令執行視窗:
在命令列中依次輸入以下命令:
這裡,我要簡單地說一下為什麼把bin檔案載入到0x33f80000,而將pc的值也設定為這個位址。是因為在u-boot編譯的時候 board/my2440/config.mk 檔案中定義了text_base = 0x33f80000,也就是指明了u-boot的執行位址是0x33f80000,u-boot從0x0000位址啟動之後會將自己複製到 0x33f80000。所以,我們將其載入到這個位址。
在執行setpc 0x33f80000的時候,axd會彈出乙個檔案開啟對話方塊,讓我們指定start.s檔案的路徑。
這時候,最好在windows下有乙份u-boot最新的源**,開啟源**中的 cpu/arm920t/start.s axd視窗就彈出非常友好的除錯視窗了。如果沒有u-boot原始碼,那就只有辛苦一下,axd會列出彙編**。
好了,開始我們的u-boot除錯這旅吧!!
使用AXD除錯u boot
用ads axd debugger 實現u boot的源 級除錯 c語言級 如果板子沒有網口,在除錯u boot和uclinux時就沒法用gdb除錯。這時只能利用串列埠和jtag口進行除錯,linux下可以用bdi這個玩意除錯,可是bdi非常昂貴,不適合大眾需求。我總結了下,根據我的除錯經驗,可以用...
uboot網路除錯方法
一 硬體簡單確認 1 確認rgmii模式 hi3559a支援rgmii rmii 2 phy的位址phy addr 3 phy是否有延時電阻 rtl8211有 4 phy晶振時鐘 5 速率1000m clk 125m,100m clk 25m 二 軟體確認 1 uboot涉及驅動 drivers n...
使用QEMU除錯u boot
參考 qemu uboot kernel nfs檔案系統 qemu system arm vexpress a9踩坑記 u boot 分析 2 在qemu環境下的除錯 1.安裝交叉編譯和除錯工具 sudo apt get install gcc arm linux gnueabi sudo apt ...