本文实验环境:
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
如果是jffs2
文件系统,在 u-boot 命令行,输入
set bootargs noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0 rootfstype=jffs2
(6)保存参数
save
(7)验证
重启板子,可以看到板子的显示屏如下图:
通过TFTP下载文件系统并烧写
操作步骤:
(1)设置好开发板和PC的IP地址,使开发板可以 ping 通 PC
如果搞不定,可以参考我的博文
http://blog.csdn.net/longintchar/article/details/71250060
(2)启动软件tftpd32,选择要传输的文件所在的目录
(3)三条命令就可以
tftp 30000000 fs_qtopia.yaffs2
nand erase root
nand write.yaffs 30000000 0x00260000 $(filesize)
或者
tftp 30000000 fs_qtopia.jffs2
nand erase root
nand write.jffs2 30000000 0x00260000 $(filesize)
说明:
第一行,把文件下载到内存0x3000_0000处;
第二行,擦除root分区;
第三行,把内存 0x3000_0000 处的内容烧写到 Nand Flash 起始地址0x0026_0000(也就是root分区的起始地址)处,文件大小在变量filesize
中。
当用tftp
命令下载文件后,文件大小会被保存在filesize
变量中。
下载后,可以用命令
print filesize
查看filesize
的值(返回结果是以16进制表示的)。
PS:查看分区可以用命令mtd
返回结果是:
(4)设置启动参数并保存(同前文)
(5)重启
【完】