linux系统构建过程中,需要用到windows系统,linux系统,所以需要准备一台装有windows xp系统的台式机和一台装有linux系统的台式机。
一.u-boot的烧写
1.按接线说明连好板卡电源,用交叉串口线连接 开发板串口DBGU和PC的串口。
2.配置超级终端
打开超级终端,选择相应串口,配置如下:
1)波特率:115200
2)数据位:8
3)奇偶校验:无
4)停止位:1
5)数据流控制:无
3.检查硬件连接,确认无误后,打开板卡电源。这时在超级终端窗口中应该可以看到DBGU连续输出字符‘C’,如果没有,按一下板卡的复位键,就可以正常显示了。
4.发送loader.bin程序文件
1)选择菜单:“传送\发送文件”, 显示发送文件窗口。
2)单击“浏览”,选择文件loader.bin。
3)选择传送协议为Xmodem。
4)单击“发送”按钮。
此时可以看到发送窗口打开,并显示发送进程。发送完成后,loader程序自动运行,并继续打印字符‘C’,这表示loader程序又启动了一个新的Xmodem通讯,这时可以开始传送文件u-boot0.bin。
5.发送u-boot0.bin程序
按照4继续发送u-boot0.bin,发送完毕后出现以下文字:
U-Boot 1.1.4 (Nov
U-Boot code: 21F00000 -> 21F19AF4
RAM Configuration:
Bank #0: 20000000 32 MB
Flash:
In:
Out:
Err:
Hit any key to stop autoboot:
若有“Hit any key to stop autoboot”显示时,按任意键,禁止其从u-boot引导。按键之后就会出现提示符:
U-Boot>
6.烧写固化u-boot.bin程序
在提示符下,用命令loadb将u-boot.bin下载到sdram的地址0x20000000处:
Uboot> loadb 20000000
出现“## Ready for binary (kermit) download to 0x20000000 at 115200 bps...”时,按照下列顺序传送u-boot.bin文件:
1)选择菜单:“传送\发送文件”, 显示发送文件窗口。
2)单击“浏览”,选择文件u-boot.bin。
3)选择传送协议为 Kermit。
4)单击“发送”按钮。
发送成功完成后会显示所发送文件的大小和地址信息:
## Total Size
## Start Addr
U-Boot>
打开Flash的写保护:
U-Boot> protect off 10000000 1001ffff
擦除Flash的原有内容:
U-Boot> erase 10000000 1001ffff
将0x20000000处的内容拷贝到Flash的地址0x10000000处:
Uboot> cp.b 20000000 10000000 1ffff
7.设置环境变量:
U-Boot> setenv bootargs mem=32M console=ttyS0,115200 root=31:02 mtdparts=physmap-flash.0:384k(UBOOT),1920k(KERNEL),2816k(Cramfs),-(JFFS2)
U-Boot> saveenv
U-Boot> setenv bootcmd bootm 10060000
U-Boot> saveenv
8.查看引导程序是否正常工作
U-Boot 1.1.4 (Nov
U-Boot code: 21F00000 -> 21F19CA4
RAM Configuration:
Bank #0: 20000000 32 MB
Flash:
In:
Out:
Err:
Hit any key to stop autoboot:
U-Boot>
与第5步相同若有 “Hit any key to stop autoboot” 显示时,按任意键,禁止其从u-boot引导,这时我们就可以下载自己的应用程序或kernel到ARM里面运行了。
二.kernel和根文件系统的下载
由于内核和文件系统比较大,用串口下很慢,可以通过tftp下载。需要一台装有linux的批PC机作为tftp服务器,方法如下:
1.设置tftp服务器
1) 修改服务器IP:Ifconfig eth0 192.168.2.1
2)查看服务器tftp服务是否启动:
#netstat –a | grep tftp
若出现“udp
3)设置tftp服务:
A:建立tftp主工作目录 –〉#mkdir /tftpboot
B:修改配置文件 – 〉#vi /etc/xinetd.d/tftp
Service tftp
{
}
C:打开tftp服务-〉#chkconfig tftp on
D:重启tftp服务-〉# /etc/init.d/xinetd restart
E:按照2)检查tftp服务是否已经打开。
4)关闭防火墙
iptables –F
5)把内核文件uImage.21和文件系统rootnolog拷贝到/tftpboot下。
2.烧写内核和文件系统
连接开发板的串口和装有linux系统PC机串口,打开一个终端,然后执行minicom –s,
选择“Serial port setup”,按照如下进行配置 :
A:/dev/ttyS0
B:/var/lock
C:
D:
E:115200 8N1
F:No
G:No
配置好后按回车键,然后选择“Save setup as dfl”,按回车保存,即可打开minicom。 按复位键,复位 ,看到“Hit any key to stop autoboot”时,按任意键进入U-Boot,
连接5650 网口和PC机网口。
按照以下过程少些内核和根文件系统:
1)烧内核
Step 1:U-Boot> tftp 21000000 uImage.21
出现以下信息:
TFTP from server 192.168.2.1; our IP address is 192.168.2.100
Filename 'uImage.21'.
Load address: 0x21000000
Loading: #################################################################
#################################################################
#################
done
Bytes transferred = 1429696 (15d0c0 hex)
Step 2:U-Boot> erase 10060000 101bffff
出现以下信息:
. done
Erased 11 sectors
Step 3:U-Boot> cp.b 21000000 10060000 15d0c0
出现以下信息:
Copy to Flash... done
2)烧根文件系统
Step 1:U-Boot> tftp 21200000 rootnolog
出现以下信息:
TFTP from server 192.168.2.1; our IP address is 192.168.2.100
Filename 'rootnolog'.
Load address: 0x21200000
Loading: #################################################################
#################################################################
#################
done
Bytes transferred = 2228224 (220000 hex)
Step 2:U-Boot> erase 10240000 1047ffff
出现以下信息:
. done
Erased 18 sectors
Step 3:U-Boot> cp.b 21200000 10240000 220000
出现以下信息:
Copy to Flash... done
若出现“TFTP error : ‘File not found’(1)”或者“TFTP error: ‘Permission denied’(0)”,修改要下载的文件名即可解决问题。