今天按照国嵌视屏,进行uboot--网卡驱动的移植,对移植过程中的几点疑问记录如下:
1、修改DM9000网卡的地址
通过查看原理图,dm9000链接的是arm的bank4,即地址应该是0x20000000,什么会是0x20000300呢??(原理图如下)
2、修改完后,编译后移植uboot,应该支持网卡dm9000,但是发现开发板子不能ping同虚拟机服务器的ip
Mini2440 # set serverip 192.168.189.128 // 设置好服务器的ip
Mini2440 # set ipaddr 192.168.189.120 // 设置好开发板子的ip
Mini2440 # printenv
bootdelay=3
baudrate=115200
netmask=255.255.255.0
stdin=serial
stdout=serial
stderr=serial
serverip=192.168.189.128
ipaddr=192.168.189.120
Environment size: 139/65532 bytes
Mini2440 # ping 192.168.189.128
dm9000 i/o: 0x20000300, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 00:00:00:00:00:00
*** ERROR: `ethaddr' not set
ping failed; host 192.168.189.128 is not alive
Mini2440 # set ethaddr 10:23:45:67:89:ab // 设置好网卡的mac地址
Mini2440 # print
bootdelay=3
baudrate=115200
netmask=255.255.255.0
stdin=serial
stdout=serial
stderr=serial
serverip=192.168.189.128
ipaddr=192.168.189.120
ethaddr=10:23:45:67:89:ab
Environment size: 165/65532 bytes
Mini2440 # ping 192.168.189.128 // 插上交叉网线后,ping服务器ip
dm9000 i/o: 0x20000300, id: 0x90000a46
DM9000: running in 16 bit mode
MAC: 10:23:45:67:89:ab
ping failed; host 192.168.189.128 is not aliv // 发现提示没有服务
疑问:
(1)、难道是虚拟机的tftp服务器没有开启的原因??