歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

U-Boot與Ping命令

開發板運行U-Boot,在終端下使用Ping命令是能Ping通PC機,但PC機Ping不同U-Boot。

在開發行U-Boo下的Ethernet 驅動時,只能在Target上去Ping 外面的主機能檢測以太網是否連通,如果在外面的主機上去ping目標板,則即使目標板上的Ethernet一切OK,也是ping 不通的。這是因為行U-Boo是一個單線程main_loop函數+中斷處理的架構,中斷處理程序處理串口輸入輸出等,main_loop解析U-Boot命令, 並沒有另外的任務接受並處理ICMP的包,即使U-Boot支持ICMP的協議棧。

U-Boot的Ping是通過一個NETLOOP發送和接受ARP包的!LOOP會不斷的檢測是否接受到ARP REPLY。所以可以Ping通PC。但是U-Boot模式下是單線程的,總不會老是停在那裡檢測是否有ARP 。PC  Ping通U-Boot的前提是:U-Boot存在一個類似於ARP請求響應的守護進程。

相關閱讀:U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm

Copyright © Linux教程網 All Rights Reserved