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

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:

解压后,进入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

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

相关阅读:

U-Boot源代码下载地址

U-Boot-2011.06启动流程分析

u-boot-2011.06在基于s3c2440开发板的移植之编译配置

u-boot-2011.06在基于s3c2440开发板的移植之NorFlash启动

u-boot-2011.06在基于S3C2440开发板的移植之解决raise: Signal # 8 caught

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

u-boot-2011.06在基于s3c2440开发板的移植之硬件ECC

u-boot-2011.06在基于s3c2440开发板的移植之DM9000

u-boot-2011.06在基于s3c2440开发板的移植之nandflash启动

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

u-boot-2011.06在基于s3c2440开发板的移植之引导内核与加载根文件系统

u-boot-2011.06在基于s3c2440开发板的移植之结束篇

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/1b6f7d5d47f5811506068c5fb53c3c0f.html