u-boot-2011.06在基于s3c2440开发板的移植之支持YAFFS2

2014-11-24 10:19:16 · 作者: · 浏览: 1

YAFFS和YAFFS2是由AlephOne公司开发的NAND Flash文件系统。YAFFS和YAFFS2主要差异在于PAGE读写size的大小,YAFFS2可支持到2Kper page,远高于YAFFS的512 Bytes,因此YAFFS2对于大容量NANDflash来说更具优势。


就u-boot来说,主要是能够使它支持下载YAFFS文件,以供操作系统使用,因此只要能够实现YAFFS的写入功能即可,无需实现读取功能。


u-boot-2011.06是支持写入YAFFS文件的,但默认情况下,该功能没有开启。要想开启该功能,就必须在include/configs/zhaocj2440.h文件内定义CONFIG_CMD_NAND_YAFFS宏,即:


#define CONFIG_CMD_NAND_YAFFS


至于到底是YAFFS,还是YAFFS2,u-boot-2011.06会根据NANDFlash页的大小,自动实现。


在定义了CONFIG_CMD_NAND_YAFFS宏以后,u-boot-2011.06会多出一个nand write.yaffs命令,用该命令就可以把YAFFS文件写入到NANDFlash中,它的格式与nand write相似。


在这里,我们再随便介绍一下如何制作YAFFS2文件。


首先输入下列网址,下载yaffs2-source.tar:


http://fatplus.googlecode.com/files/yaffs2-source.tar


解压后,进入utils目录,然后执行make命令编译文件。该命令执行完后,会在该目录下生成mkyaffs2image文件,以根用户的身份再把该文件复制到/usr/bin目录下,并改变它的属性,具体操作如下:


$ su
# cp mkyaffs2image /usr/bin/
# chmod 777 /usr/bin/mkyaffs2image


回到普通用户下,检查mkyaffs2image是否安装成功:


$ mkyaffs2image
mkyaffs2image: image building tool for YAFFS2 built Jul 18 2012
usage: mkyaffs2image dir image_file [convert]
dir thedirectory tree to be converted
image_file the output file to hold theimage
'convert' produce a big-endianimage from a little-endian machine


表明安装成功,其中第二行显示了该命令的用法:


mkyaffs2image dir image_file


第一个参数为被转换的目录,第二个参数为最终输出的镜像文件。


相关阅读: