烧写文件系统——韦东山嵌入式Linux学习笔记11

2019-07-12 22:07发布

本文实验环境:
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)重启 【完】