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

xiaoxiao2021-02-28  48

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

【完】

转载请注明原文地址: https://www.6miu.com/read-72025.html

最新回复(0)