uClinux下NorFlash的JFFS2文件系统构建
s3c4510b flash device: 200000 at 5000000
Found: SST SST39VF160
number of JEDEC chips: 1
Creating 3 MTD partitions on ″S3C4510B flash de-vice″:
0x00000000-0x00020000: ″bootloader(128K)″
mtd:Giving out device 0 to bootloader(128K)
0x00020000-0x00f0000:″uClinux_kernel(832K)″
mtd: Giving out device 1 to uClinux_kernel(832K)
0x00f0000-0x00200000:″jffs2_usr(1088K)″
mtd: Giving out device 2 to jffs2_usr(1088K)
init_mtdchar: allocated major number 90.
init_mtdblock: allocated major number 31.
……
3.3 创建文件系统镜像文件
系统会编译生成JFFS2的辅助工具:mkfs.jffs2、eraseall、erase。其中mkfs.jffs2会产生JFFS2文件系统镜像的工具,eraseall和erase用来对FLASH芯片的擦除。mkfs.jffs的使用方法如下:mkfs.jffs -d根目录-b| l-e 擦除块大小-o 输出文件-v 0-9-q。
另外,为了使系统在启动时自动挂载建好的JFFS2文件系统,在启动脚本里应加入:
mount -t jffs2 /dev/mtdblock2 /mnt4 结束语
本文讨论了在uClinux下建立基于Nor Flash的JFFS2的文件系统的一般步骤。Nor Flash的特性决定了它在对数据存储要求不高的嵌入式系统中有着广泛的应用,因此JFFS2文件系统对Flash上的数据管理非常方便。对于一些高端的掌上设备来说,Nand Flash更为适合,其单元存储密度比较高,成本较低,这样系统可以在不增加成本的情况下扩大存储容量。目前有一种新型的文件系统YAFFS更适于Nand Flash,本文不再予以讨论。