uboot網路除錯方法

2021-08-21 23:27:35 字數 710 閱讀 9680

一、硬體簡單確認:

1、確認rgmii模式(hi3559a支援rgmii/rmii)

2、phy的位址phy_addr

3、phy是否有延時電阻(rtl8211有)

4、phy晶振時鐘

5、速率1000m clk 125m,100m clk 25m

二、軟體確認

1、uboot涉及驅動:drivers/net/higmacv300,phy配置驅動:drivers/net/phy/realtek.c

2、先看mdio能否掃瞄到phy,讀出的phy id要和phy datasheet一致;同時,讀出phyid的addr需要和上面硬體的phy_add一致

3、如果第二步是正確的,那麼說明mdio介面和phy已經工作;接下來要檢查rgmii介面

4、將板子和筆記本直連:gmac<—>phy<—>pc

板子ping pc 以及pc ping板子,然後讀gmac和phy的暫存器(讀gmac要自己寫,讀phy有個mii命令)

可以檢視gmac收發了多少資料,phy收發了多少資料,從而判斷是gmac發給phy異常還是phy發給pc異常,或gmac接收異常還是phy接收異常

5、到這一步還是不行,就需要自己寫回環測試**:

乙個是gmac回環:mac_if_stat_ctrl暫存器

第二個phy回環:bmcr暫存器

6、uboot遇到時通時不通時,將uboot強製成100m速率試試

使用AXD除錯u boot

用ads axd debugger 實現u boot的源 級除錯 c語言級 如果板子沒有網口,在除錯u boot和uclinux時就沒法用gdb除錯。這時只能利用串列埠和jtag口進行除錯,linux下可以用bdi這個玩意除錯,可是bdi非常昂貴,不適合大眾需求。我總結了下,根據我的除錯經驗,可以用...

使用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 ...

除錯U Boot筆記(二)

大概的思路就是用axd來除錯u boot,方法很簡單。在linux下編譯u boot的目錄除了生成u boot.bin檔案,還有乙個u boot檔案。將u boot,u boot.bin這兩個檔案複製到windows下的乙個目錄下,如 e u boot gdb。然後將 u boot 重新命名為 u ...