Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1395352
  • 博文数量: 343
  • 博客积分: 13098
  • 博客等级: 上将
  • 技术积分: 2862
  • 用 户 组: 普通用户
  • 注册时间: 2005-07-06 00:35
文章存档

2012年(131)

2011年(31)

2010年(53)

2009年(23)

2008年(62)

2007年(2)

2006年(36)

2005年(5)

分类: LINUX

2006-09-16 00:14: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 文件系统。

 

 

       这个文件我们已经下载到光盘的 [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 文件系统的支持。

阅读(2236) | 评论(0) | 转发(0) |
0

上一篇:s3c2410上jffs2的移植

下一篇:FPGA介绍

给主人留下些什么吧!~~