您的位置:首页 > 其它

U-boot、Kernel、文件系统的几种下载方式总结(基于TQ2440开发板)

2015-02-01 16:18 253 查看
自己移植U-boot的话会生成nor
flash启动文件u-boot-nor.bin和nand flash启动文件u-boot-nand.bin。
内核移植生成文件uImage.bin。
文件系统生成文件rootfs.bin。
(实际文件名字根据个人生成的名字为准,这里只是举例,方便后续说明)。
nand flash设置分为4个区:
Uboot区 0 80000
参数区 80000 100000
内核区 200000 600000
文件系统区 800000 1000000
下面说明具体下载过程:
1、通过J-Flash下载u-boot-nor.bin到nor
flash中,nor flash便可启动了。

2、下载u-boot-nand.bin到nand
flash中。这里有三种方式下载:

(1)通过J-Flash下载
TQ2440开发板的nor
flash空间大小为2M,u-boot-nor.bin默认下载到nor
flash的前1M存储空间内(如果文件小于1M),将u-boot-nand.bin下载到后1M空间内。具体操作为
运行J-Flash软件,点击File->open,选择u-boot-nand.bin后会出现如下框



设置开始地址为100000(u-boot-nor.bin是从0开始),便可下载到后1M空间内。具体下载空间的安排根据个人情况而定,只要u-boot-nor.bin和u-boot-nand.bin的总大小不超过2M便可使用此方法。
U-boot从nor
flash启动后,首先擦除nand flash,我使用的开发板nand flash大小为256M,用nand
erase 0 10000000擦除全部空间。使用命令nand write 100000 0 80000将nor
flash中的u-boot-nand.bin下载到nand flash的Uboot分区。
(2)使用SecureCRT的loadx下载
U-boot默认情况下是不支持xmodem协议的,具体移植请参考U-boot移植-----支持串口xmodem协议。
U-boot从nor
flash启动后,输出loadx命令会出现如下图:



说明loadx命令可用,默认波特率为115200,下载到以30800000为起始地址的空间。
然后选择菜单Transfer->Send Xmodem,选择要下载的文件,等待下载完毕。此种方法有时候下载会中断,重新下载便可。
下载完后,使用命令nand erase 0 80000和nand write 30800000
0 80000 下载到nand flash中(每次下载文件到nand
flash,nand flash必须首先擦除相应的空间)。

(3)使用tftp网络下载
U-boot从nor
flash启动后

设置物理地址

setenv ethaddr 00.11.22.33.44.55

设置本地IP地址

setenv ipaddr 192.168.1.6

设置TFTP服务器IP地址,若用Linux的TFTP服务器,serverip用Linux的IP地址。

setenv serverip 192.168.1.122

保存环境设置
saveenv
设置完ping 192.168.1.122 ping通后再进行tftp下载
tftp 31000000 u-boot-nand.bin
nand write 31000000 0 80000
将u-boot-nand.bin下载到nand
flash中。
需要注意的是,不管是linux还是windows下的tftp服务器,都需要将下载的文件放到服务器指定的路径下。我使用的windows下tftp服务器。软件运行后界面如下图



选择Tftpd---Configure,在Home
Directoty选择u-boot、内核镜像和文
件系统所在的目录。选择Tftpd---Start开启Tftp
Server。
如果是在linux下下载,需将生成的下载文件放到/tftpboot目录下。
3、下载uImage.bin和rootfs.bin
U-boot启动,选择nor
flash和nand flash启动都可以。个人建议最好从nand flash启动,因为nand
flash启动的U-boot功能比较全。

(1) tftp下载
tftp 31000000 uImage.bin
nand erase 200000 400000
nand write 31000000 200000 400000
tftp 31000000 rootfs.bin
nand erase 800000 800000
nand write.jffs2 31000000 800000 实际文件大小
下载文件系统的时候用到了write.jffs2是因为是jffs2根文件系统,如果是yaffs/yaffs2文件系统则为write.yaffs

(2) loadx下载
具体下载同上方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: