嵌入式中網路除錯

2021-10-25 20:59:01 字數 1440 閱讀 3145

這裡主要是在uboot下,通過在uboot中讀取phy暫存器的狀態來判斷網路,所以當前狀況下必須保證mdio匯流排沒有問題,否則無法讀取phy暫存器

zynq-uboot> mdio

mdio - mdio utility commands

usage:

mdio list - list mdio buses

mdio read [.]- read phy's register at .mdio write [.]- write phy's register at .may be:

, and may be ranges, e.g. 1-5.4-0x1f.

以上是uboot中的mdio的幫助說明。

zynq-uboot> mdio list

gem.e000b000:

3 - generic phy gem.e000b000

根據mdio可以看到當前uboot中只有乙個phy_dev為3的phy晶元

下一步便是讀取暫存器

zynq-uboot> mdio read 3 0   

3 is not a known ethernet

reading from bus gem.e000b000

phy at address 3:

0 - 0x1140

zynq-uboot> mdio read 3 0-15

3 is not a known ethernet

reading from bus gem.e000b000

phy at address 3:

0 - 0x1140

1 - 0x796d

2 - 0x22

3 - 0x1622

4 - 0x1e1

5 - 0xcde1

6 - 0xd

7 - 0x2001

8 - 0x4ae2

9 - 0x300

10 - 0x7800

11 - 0x0

12 - 0x0

13 - 0x0

14 - 0x0

15 - 0x3000

可以讀取乙個暫存器,也可以讀取乙個範圍內的暫存器,我們關注的一般為0暫存器(基本控制暫存器basic control)和1暫存器(basic  status),來確定我們是否已經link up和當前的鏈結速率。這兩個暫存器為標準ieee 802.3 specification中明確規定的

嵌入式gdb gdbserver除錯

在很多情況下,需要對應用程式進行除錯。在 linux 下除錯程式,常用的工具是 gdb。由於嵌入式單板的資源有限,一般不直接在目標機上執行 gdb 進行除錯,而是採取 gdb gdbserver 的方式。gdbserver 在目標機中執行,gdb 則在宿主機上執行。根檔案系 統中已經包含 gdbse...

嵌入式除錯技術

嵌入式除錯方法 1.模擬器。比如qtopia core可以用奇趣提供的frame buffer模擬工具qvfb,arm硬體模擬可以用skyeye開源專案。2.遠端除錯。偵錯程式還在pc上,偵錯程式與被除錯的程式通過網路通訊。3.通過log和core dump等檔案事後分析。stdprm標準印表機lp...

嵌入式的gdb除錯

在開發過程中有很多問題如果用gdb進行除錯跟蹤會大大提高效率,但是我發現不少同事對於gdb除錯概念比較模糊,特別是跨平台的除錯,以至於放棄用gdb除錯而影響排除bug的效率。因此我這裡主要對跨平台除錯做乙個簡要的說明。我們對機頂盒上的軟體進行除錯主要有兩種方式,本地除錯和遠端除錯。遠端除錯還有乙個問...