首页 理论教育 如何加载文件系统-零点起步

如何加载文件系统-零点起步

时间:2023-10-31 理论教育 版权反馈
【摘要】:近年来,日志文件系统在嵌入式系统上得到了较多的应用,其中以支持NORFLASH的JFFS、JFFS2和支持NANDFLASH的YAFFS最为流行。本系统需要将采集到的指纹图像保存到NANDFLASH中,所以采用YAFFS。YAFFS还带有NAND芯片驱动,并为嵌入式系统提供了直接访问文件系统的API。下面分几个步骤进行根文件系统的加载。1)下载YAFFS相关文件,建立目录,更改Makefile文件。其中包括yaffs_ecc.c,yaffs_fileem.c,yaffs_fs.c,yaffs_guts.c,yaffs_mtdif.c和yaffs_ramem.c。7)在Flash上建立根文件系统。

如何加载文件系统-零点起步

近年来,日志文件系统在嵌入式系统上得到了较多的应用,其中以支持NORFLASH的JFFS、JFFS2和支持NANDFLASH的YAFFS最为流行。这些系统都支持掉电文件保护,同时支持标准的MTD驱动。本系统需要将采集到的指纹图像保存到NANDFLASH中,所以采用YAFFS。

YAFFS(Yet Another Flash File System)是一种类似于JFFS/JFFS2的专门为Flash设计的嵌入式文件系统。与JFFS相比,YAFFS减少了一些功能,因此速度更快、占用内存更少。YAFFS还带有NAND芯片驱动,并为嵌入式系统提供了直接访问文件系统的API。用户可以不使用Linux中的MTD和VFS,直接对文件进行操作。NANDFlash大多采用MTD+YAFF的模式。MTD(Memory Technology Devices,内存技术设备)是对Flash操作的接口,提供了一系列的标准函数,将硬件驱动设计和系统程序设计分开。

下面分几个步骤进行根文件系统的加载。

1)下载YAFFS相关文件,建立目录,更改Makefile文件。其中包括yaffs_ecc.c(ECC校验算法),yaffs_fileem.c(测试Flash),yaffs_fs.c(文件系统接口函数),yaffs_guts.c(YAFFS文件系统算法),yaffs_mtdif.c(NAND()函数)和yaffs_ramem.c(Ramdisk实现)。

内核中没有YAFFS,所以需要自己建立YAFFS目录,并把下载的YAFFS代码复制到该目录下面。

2)修改fs/Kconfig,使得可以配置YAFFS。

Kconfig文件中主要是配置一些宏,在MTD上面挂载YAFFS,以及一些辅助配置。

3)修改NAND分区。(www.xing528.com)

4)配置内核时选中MTD支持和YAFFS支持。

配置内核时选中MTD支持:

配置内核时选中YAFFS支持:

5)编译内核,并将内核下载到开发板的Flash中。

6)建立mount目录。

7)在Flash上建立根文件系统。

8)重新启动,并改变启动参数。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈