本文实验环境:
1. windows 7(64bit)
2. JZ2440(V2)

使用 u-boot 烧写文件系统,一般有两种方法。
1. 通过USB下载功能
2. 通过TFTP功能

通过USB下载功能烧写文件系统
这种方法比较简单。
操作步骤:
(1)连接板子和PC(串口+USB)
(2)进入u-boot的菜单,如下图

 

(3)根据文件系统的类型,输入j(表示jffs2)或者y(表示yaffs2),回车 .

(4)打开dnw.exe软件
选择【USB Port】–>【Transmit】,选择要烧写的文件,比如fs_qtopia.jffs2或者fs_qtopia.yaffs2

(5)设置启动参数
如果是yaffs2文件系统,在 u-boot 命令行,输入

set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0


1
如果是jffs2文件系统,在 u-boot 命令行,输入

set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 rootfstype=jffs2


1
(6)保存参数

save
1
(7)验证
重启板子,可以看到板子的显示屏如下图:

 

通过TFTP下载文件系统并烧写
操作步骤:
(1)设置好开发板和PC的IP地址,使开发板可以 ping 通 PC
如果搞不定,可以参考我的博文

(2)启动软件tftpd32,选择要传输的文件所在的目录

 

(3)三条命令就可以

tftp 30000000 fs_qtopia.yaffs2
nand erase root
nand write.yaffs 30000000 0x00260000 $(filesize)
1
2
3
4


或者

tftp 30000000 fs_qtopia.jffs2
nand erase root
nand write.jffs2 30000000 0x00260000 $(filesize)
1
2
3


说明:
第一行,把文件下载到内存0x3000_0000处;
第二行,擦除root分区;
第三行,把内存 0x3000_0000 处的内容烧写到 Nand Flash 起始地址0x0026_0000(也就是root分区的起始地址)处,文件大小在变量filesize中。

当用tftp命令下载文件后,文件大小会被保存在filesize变量中。
下载后,可以用命令

print filesize
1
查看filesize的值(返回结果是以16进制表示的)。

PS:查看分区可以用命令mtd
返回结果是:

 

(4)设置启动参数并保存(同前文)
(5)重启

【完】