天桥陨石分享 http://blog.sciencenet.cn/u/chrujun 让地球物理仪器飞起来

博文

移植YAFFS文件系统

已有 5856 次阅读 2010-6-6 00:50 |个人分类:地球物理及仪器|系统分类:科研笔记| Linux, 移植, 文件系统, YAFFS

移植YAFFS文件系统

仇洁婷,陈儒军

YAFFS是适用于NAND Flash存储器设计的嵌入式文件系统。YAFFS文件为NANDFlash提供了一种可靠的操作系统,并且特别适合用于对能耗要求比较高的嵌入式系统。
YAFFS中,以固定大小的数据块存储文件,块的大小可以是512字节、1024字节或者2048字节。每个文件(包括目录)都有一个数据块头与之相对应,数据块头中保存了ECC(Error Correction Code)和文件系统的组织信息,用于错误检测和坏块处理。
http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi获取源代码文件root.tar.gz,解压后得到Development目录,里面有两个子目录:yaffsyaffs2yaffs目录已经不再维护,本系统使用yaffs2目录下的代码,它向前兼容YAFFS1。移植yaffs有两个步骤:
1)在内核中加入yaffs2代码。
根据 patch-ker.sh脚本文件来给内核打补丁:
$ cd yaffs2
$ sh patch-ker.sh c ../linux-2.6.21
修改内核fs/Kconfig,增加如下代码:
Source “fs/yaffs2/Kconfig”
修改内核fs/Makefile文件,增加生成yaffs2目标文件代码。
Obj-$(CONFIG_YAFFS_FS)               +=yaffs2/
2)配置Linux内核。
Filesystems >Miscellaneous filesystems >目录下,选上对YAFFS的支持。
Filesystems >
       Miscellaneous filesystems >
<*> YAFFS2 file system support
           <*> 512 byte / page devices
          <*> Lets Yaffs do its own ECC
         <*> 2048 byte (or larger) / page devices
          <*> Autoselect yaffs2 format
          <*> Disable lazy loading
          <*> Turn off wide tnodes
           <*> Turn off debug chunk erase check

    本系统选用YAFFS中的ECC校验,因此要把MTD NAND 驱动中的ECC 校验关闭。在drivers/mtd/nand/at91_nand.c的初始化函数中设置this-eccmode = NAND_ECC_NONE



https://blog.sciencenet.cn/blog-39626-332575.html

上一篇:修改NAND Flash分区
下一篇:制作uImage镜像
收藏 IP: .*| 热度|

3 姚红春 邓景华 luxh11

发表评论 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-22 03:51

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部