这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » MCU » 如何移植YAFFS2文件系统

共1条 1/1 1 跳转至

如何移植YAFFS2文件系统

菜鸟
2007-03-29 17:56:13     打赏

YAFFS Yet Another Flash File System ,是一种类似于 JFFS/JFFS2 的专门为 Flash 设计的嵌入式文件系统。与 JFFS 相比,它减少了一些功能,因此速度更快、占用内存更少。 YAFFS JFFS 都提供了写均衡,垃圾收集等底层操作。它们的不同之处在于:

1 )、 JFFS 是一种日志文件系统,通过日志机制保证文件系统的稳定性。 YAFFS 仅仅借鉴了日志系统的思想,不提供日志机能,所以稳定性不如 JAFFS ,但是资源占用少。

2 )、 JFFS 中使用多级链表管理需要回收的脏块,并且使用系统生成伪随机变量决定要回收的块,通过这种方法能提供较好的写均衡,在 YAFFS 中是从头到尾对块搜索,所以在垃圾收集上 JFFS 的速度慢,但是能延长 NAND 的寿命。

3 )、 JFFS 支持文件压缩,适合存储容量较小的系统; YAFFS 不支持压缩,更适合存储容量大的系统。

YAFFS 还带有 NAND 芯片驱动,并为嵌入式系统提供了直接访问文件系统的 API ,用户可以不使用 Linux 中的 MTD VFS ,直接对文件进行操作。 NAND Flash 大多采用 MTD+YAFFS 的模式。 MTD Memory Technology Devices ,内存技术设备)是对 Flash 操作的接口,提供了一系列的标准函数,将硬件驱动设计和系统程序设计分开。

YAFFS2 YAFFS 的升级版,能更好的支持 NAND FLASH ,我们采用最新的 YAFFS2 文件系统。我们首先下载 YAFFS 文件系统。

http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/yaffs2.tar.gz?view=tar

这个文件我们已经下载到光盘的 [DISK4\linux 相关 \linuxtool\yaffs2] 目录下。下载完成以后解压着文件包,在文件包的根目录下面有个文件 patch-ker.sh, 我们执行这个文件,就可以很轻松的把 yaffs2 加入到内核中。具体命令是:

[root@localhost yaffs2]# sh patch-ker.sh /linux2.6_2410/linux-2.6.14

这里我们假设我们的 linux2.6.14 的内核在 /linux2.6_2410/linux-2.6.14 目录下。执行完成以后,我们的 yaffs2 已经加入到了内核,在内核的 fs 目录下你会发现多了一个 yaffs2 目录,在这个目录下是 yaffs2 的相关内容,在内核的配置菜单 [File systems] à [miscellaneous filesystems] 中增加了 [Yaffs2 file systems support] 选项。这个选项就是 yaffs2 的配置内容。我们可以选择这个选项的全部内容,保存配置,然后退到终端,输入 make ,重新编译内核,内核中就增加了对 yaffs2 文件系统的支持。




关键词: 如何     移植     YAFFS2     文件     系统    

共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]