如果开发板运行linux的时候可以ping通虚拟机,但是运行uboot的时候ping不同,可以参考下面的做法:
一、uboot无法ping通局域网内其他设备
1、虚拟机和开发板的网络配置
虚拟机的网络配置可以参考另外一篇文章:
开发板在进入uboot之后,需要修改下面的环境变量:
env default -a;saveenv
setenv ipaddr 192.168.10.50
setenv ethaddr 00:04:9f:04:d2:35
setenv gatewayip 192.168.10.1
setenv netmask 255.255.255.0
setenv serverip 192.168.10.100
saveenv
也是要注意开发板和虚拟机在同一网段的问题。
2、查看开发板的环境变量是否修改正确
如图:打印出来的环境变量和设置的完全一样,说明环境变量配置成功了。但是这里要注意一个问题,如果环境变量
current eth =unknown
则还没配置完全,需要将这个环境变量重新定义成FEC1:
setenv current eth FEC1
saveenv
可能需要reset一下开发板,如果打印出来的环境变量正确,则应该可以ping通虚拟机了。
二、uboot使用网络命令导致重启
1、重启问题
无论是使用ping还是dhcp或者tftp,开发板都重启了。
2、解决方法
需要修改uboot源码了。去往所使用的uboot文件夹:
cd /arch/arm/cpu/armv7
vi start.S
注意这个后缀名的s是大写的
来到第
130行,改成00
重新编译和烧录uboot,再回到开发板发现已经能正常使用网路命令了,问题解决。