返回列表 发新帖

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

[复制链接]

443

主题

3979

帖子

65万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
657589
QQ
发表于 2018-11-6 14:49:30 | 显示全部楼层 | 阅读模式
关键词: 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。


欢迎大牛补充
回复

使用道具 举报

443

主题

3979

帖子

65万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
657589
QQ
发表于 2018-11-6 14:50:30 | 显示全部楼层
此贴uboot,U-Boot,U-boot不做区分,统称uboot
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表