用u_boot进行下载 uImage (一种kernel镜像文件)
首先,把编译好的uImage文件放在/tftpboot/目录下。用网线把开发板和电脑连上。
但PC上的网卡显示是没连接的,这一点是没有关系的,go on
1、u_boot的命令行
[u_boot@SMDK2440A]# printenv (打印变量) 并查看是否需要设置环境变量
结果如下:[u-boot@SMDK2440A]# printenv
bootargs=console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.72:/opt/rootfs ip=192.168.1.226:192.168.1.72:192.168.1.72:255.255.255.0:smdk2440a.embedclub.com:eth0:off
bootcmd=nand read 0x30008000 60000 500000;bootm 0x30008000
bootdelay=1
baudrate=115200
ethaddr=08:08:11:18:12:27
embedclub=bmp d 70000
stdin=serial
stdout=serial
stderr=serial
lcdtype=w
ethact=dm9000
filesize=22E4EC
fileaddr=30008000
gatewayip=192.168.1.1
netmask=255.255.255.0
ipaddr=192.168.1.226
serverip=192.168.1.108
Environment size: 485/131068 bytes
2.例如:如果你的linux的IP为192.168.1.108 则你得把serverip设置为192.168.1.108
命令:[u-boot@SMDK2440A]# set serverip 192.168.1.108 //设置tftp服务器的IP
[u-boot@SMDK2440A]# saveenv //保存环境变量
3.利用tftp 进行下载:(首先要把编译好的uImage内核 复制到 /tftpboot/目录下)然后用如下命令进行下载:
[u-boot@SMDK2440A]# tftp 0x30008000 uImage //tftp把uImage下载到nandflash中//的0x30008000开始的单元里
执行命令结果如下:
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.108; our IP address is 192.168.1.226
Filename 'uImage'.
Load address: 0x30008000
Loading: T #################################################################
#################################################################
##########################
done
Bytes transferred = 2286828 (22e4ec hex)
(显然下载成功)
4.用命令[u-boot@SMDK2440A]#bootm //启动内核 内核会自动加载nandflash中的Yaffs根文件系统的。
XP和开发班的网络也通啦!