码迷,mamicode.com
首页 > 其他好文 > 详细

u-boot可ping通PC,PC不可ping通u-boot

时间:2015-08-18 13:38:47      阅读:134      评论:0      收藏:0      [点我收藏+]

标签:

http://blog.csdn.net/ce123_zhouwei/article/details/7339134

开发板运行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请求响应的守护进程

 

wanweitech# ping 192.168.1.222

dm9000 i/o: 0x30000000, id: 0x90000a46

DM9000: running in 16 bit mode

MAC: 08:00:3e:26:0a:5b

could not establish link

host 192.168.1.222 is alive

u-boot可ping通PC,PC不可ping通u-boot

标签:

原文地址:http://www.cnblogs.com/embedded-linux/p/4739018.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!