最近做一个项目,要用到大量数据的动态动态存储。存储介质选定 nandflash ,文件系统选定yaffs2.
yaffs2的介绍可以在http://www.yaffs.net/找到,源代码下载可以再http://www.aleph1.co.uk/cgi-bin/viewcvs.cgi/#dirlist找到。关于文件的操作,与unix环境相同在http://dev.csdn.net/article/49/49776.shtm可以看到解释。
我选定的flash,页面512字节,spare空间16字节,我选择yaffs2,只不过yaffs2的tag有三十多个字节,spare空间存储不 下,还好,yaffs2支持tag的压缩,捡重要的tags和校验码一块存储在spare空间,总共16字节。我只需要对源文件做必要的裁剪,关于ram 盘,我用不到,全部删除。关于2k的代码全部删除。关于linux接口的源文件全部删除。只需要重新修 改 writeChunkToNAND,readChunkFromNAND ,eraseBlockInNAND ,initialiseNAND函数 ,填充yaffsfs_Lock,yaffsfs_Unlock函数,再做简单的配置就ok了,direct目录下dtest.c都是测试代码。
![](http://img.zemanta.com/pixy.gif?x-id=8520de8c-5171-8913-98cc-c8eb148e6214)