四、网络命令
只要你的网卡驱动没问题,那么你就可以通过网络来传输文件到开发板,这可比串口快多了。你可以直接用交叉网线连接开发板和电脑,也可以用普通直连网线连接路由器,再连到电脑,不过记得配置好网络,关闭防火墙哦。 先测试网络是否通了,现在开发板使用ping 命令,看看是否可以ping通电脑: [u-boot@MINI2440]# ping 192.168.1.100 dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device host 192.168.1.100 is alive | 如果出现:
[u-boot@MINI2440]# ping 192.168.1.100 dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device ping failed; host 192.168.1.100 is not alive |
这样无法ping通的事,可能是: 1、U-boot网卡驱动有问题 2、U-boot网络协议延时配置有问题 3、网络参数配置问题,比如IP等,Host和Target都有可能有问题。Host最好关闭IPv6。 实在找不到原因,用Wireshark抓包看看。 如果网络畅通,下面就可以使用下面的命令从tftp目录或者nfs目录下载文件到SDRAM了。 命令: dhcp - boot image via network using DHCP/TFTP protocol rarpboot- boot image via network using RARP/TFTP protocol nfs - boot image via network using NFS protocol tftpboot- boot image via network using TFTP protocol bootp - boot image via network using BOOTP/TFTP protocol 这几个命令的格式都是:<指令> [目的SDRAM地址] [[主机IP:]文件名] 注意: 要使用dhcp、rarpboot或 bootp 等功能要路由器或Host的支持。 如果没有输入[目的SDRAM地址],系统就是用编译时定义的CONFIG_SYS_LOAD_ADDR作为目的SDRAM地址 如果tftpboot和nfs命令没有定义[主机IP:],则使用ENV中的serverip 其它命令必需定义[主机IP:],否则会使用提供动态IP服务的主机IP作为[主机IP:]。 使用范例:
[u-boot@MINI2440]# nfs 0x30008000192.168.1.100:/home/tekkaman/development/share/u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device File transfer via NFS from server 192.168.1.100; our IP address is 192.168.1.101 Filename '/home/tekkaman/development/share/u-boot.bin'. Load address: 0x30008000 Loading: ################################################### done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# tftp u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'u-boot.bin'. Load address: 0x30008000 Loading: T ################## done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# dhcp 192.168.1.100:u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 192.168.1.101 Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'u-boot.bin'. Load address: 0x30008000 Loading: ################## done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# bootp 192.168.1.100:u-boot.bin dm9000 i/o: 0x20000300, id: 0x90000a46 DM9000: running in 16 bit mode MAC: 08:08:11:18:12:27 operating at 100M full duplex mode BOOTP broadcast 1 BOOTP broadcast 2 DHCP client bound to address 192.168.1.101 Using dm9000 device TFTP from server 192.168.1.100; our IP address is 192.168.1.101 Filename 'u-boot.bin'. Load address: 0x30008000 Loading: ################## done Bytes transferred = 256220 (3e8dc hex) [u-boot@MINI2440]# rarpboot 192.168.1.100:u-boot.bin |
我的路由器没有开rarp协议,所以rarpboot 无法使用,要使用dhcp或 bootp 也是要路由或Host支持的。
|