如何在C51系统上实现YAFFS文件系统
4 C51系统下的YAFFS使用实例
下面的程序代码是设计中的对DBF数据库文件操作的关键代码。
yaffs_StartUp();//设置一些参数,包括各分区在Flash中的起始块和结束块的地址、预留块数等
yaffs_mount("/flash"); //YAFFS支持多个分区,这里选择挂载/flash分区新建文件db1.dbf
f=yaffs_open("/flash/db1.dbf", O_CREAT,S_IREAD | S_IWRITE);
yaffs_close(f);//关闭文件db1.dbf
f=yaffs_open("/flash/db1.dbf", O_RDWR,0);//以读/写的方式打开文件db1.dbf
r=yaffs_write(f,"hello",5);//向文件写数据
yaffs_lseek(f,2,SEEK_SET);//移动文件读/写指针
r=yaffs_write(f,"world",5);
r=yaffs_lseek(f,0,SEEK_SET);
r=yaffs_read(f,buffer,10);//从文件读取数据
r=yaffs_close(f);//关闭文件db1.dbf
r=yaffs_unlink("/flash/db1.dbf");//删除文件db1.dbf
可见, YAFFS的接口函数的使用方法与标准C语言中对文件的操作函数十分相似,简单易用。
5 总结
YAFFS文件系统是第一个专门为NAND Flash存储器编写的嵌入式文件系统。它实现了掉电保护、疲劳均衡和有效的垃圾回收,与JFFS相比占用资源更少,运行速度更快;与FAT相比,更适合用于管理NAND Flash数据存储器。在C51系统中如果需要实现Flash文件系统,那么移植YAFFS是个不错的选择,但是毕竟它是一个在32位机的Linux下开发出来的,要让它能与8位机的C51风格完美结合,还需要进一步的努力。
YAFFS文件系统 NAND Flash C51系统 相关文章:
- YAFFS文件系统在嵌入式Linux系统中的构建与改进(08-18)
- Nand+Flash存储管理在DSP系统中的实现(03-12)
- YAFFS2在嵌入式系统中的实现(07-19)
- 从NAND闪存中启动U-BOOT的设计(05-16)
- FLASH K9F1G08U0M在MSP430F149嵌入式系统中的应用(08-28)
- 基于Nand+Flash存储管理在DSP系统中的实现(03-17)