社区应用 最新帖子 精华区 社区服务 会员列表 统计排行 银行
主题 : 关于uboot下ping功能的简要说明  t.sina.com.cn 分享到新浪微博   腾讯微博 转播到腾讯微博
小果 离线
级别: 管理员
显示用户信息 
楼主  发表于: 2018-11-06   

关于uboot下ping功能的简要说明

关键词: uboot  ping  ARP  ARM  Linux  MDKA5D27  SAMA5D27

简述:
有个别客户问起关于uboot下ping功能问题,现简单整理如下。
首先简单说一下uboot的功能,uboot的最基本功能是用来引导启动内核,也就是初始化系统(或者直接沿用上一级boot的配置),然后从FLASH复制内容到内存并启动。复制的这部分内容一般是Linux内核,当然也可以是用户自己配置好的应用程序;uboot还有一个重要的功能是通过nfs来方便Linux系统开发调试;除此之外uboot还可以被调整成可以用来通过网络/SD/U盘等升级系统,或者用uboot来简单测试硬件设备。

下面我们说一下客户遇到的问题,有客户反应,在设置了板子的ip和服务器的ip后,板子可以ping通路由器,也可以ping通路由器内的电脑,但是板子ping不通自己的ip,电脑也ping不通板子的ip。不过板子和电脑可以正常的进行nfs操作,说明网络设备硬件层面工作正常。为什么会出现这种情况?

其实uboot本身是一个类似单片机运行方式的单线程+中断处理的程序,原则上来讲就是一次只能执行/处理一条命令。
uboot去ping远程主机走的是ICMP协议,通过发送ARP REQUEST包并检查有无收到ARP REPLAY来确认能否ping通目标主机。但是当uboot停在命令提示符下的时候并不会有任何响应网络或者USB或者SD卡的后台进程,此时uboot只接收来自串口的输入。

另外当uboot在执行当前命令的时候它没法响应另外一个命令/进程。如果一定要让uboot响应PC端ping过来的包,那么uboot就得启动一个支持ICMP协议的进程/命令,比如dhcp或者tftp或者bootp(注意,不同的开发板上的uboot功能和命令不尽相同,请根据实际情况测试)。

类似的,在uboot命令提示符下,也无法实现U盘或者SD卡的自动mount。


欢迎大牛补充
Team Mcuzone
Phone:18957113411
QQ:8204136
小果 离线
级别: 管理员
显示用户信息 
沙发  发表于: 2018-11-06   
此贴uboot,U-Boot,U-boot不做区分,统称uboot
Team Mcuzone
Phone:18957113411
QQ:8204136
描述
快速回复

如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
验证问题:
本站提到的AT是什么的缩写?
(备选答案:微博、爱特梅尔、爱她) 正确答案:爱特梅尔
按"Ctrl+Enter"直接提交