一种易于移植和使用的文件系统FatFs Moule(转载自21IC) 2008-10-24 08:59 一种易于移植和使用的文件系统FatFs Moule 引 言 随着信息技术的发展,当今社会的信息量越来越大,以往由单片机构成的系统简单地对存储媒介按地址、按字节的读/写已经不满足人们实际应用的需要,于是利用文件系统对存储媒介进行管理成了今后单片机系统的一个发展方向
目前常用的文件系统主要有微软的FATl2、FATl6、FAT32、NTFS,以及 Linux系统下的EXT2、EXT3等
由于微软 Windows的广泛应用,在当前的消费类电子产品中,用得最多的还是 FAT文件系统,如 U盘、MP3、MP4、数码相机等,所以找到一款容易移植和使用、占用硬件资源相对较小而功能又强大的FAT开源文件系统,对于单片机系统设计者来说是很重要的
FatFs Module是一种完全免费开源的FAT文件系统模块,专门为小型的嵌入式系统而设计
它完全用标准 C语言编写,所以具有良好的硬件平台独立性,可以移植到 8051、PIC、AVR、SH、Z80、H8、ARM等系列单片机上而只需做简单的修改
它支持 FATl2、FATl6和FAT32,支持多个存储媒介;有独立的缓冲区,可以对多个文件进行读/写,并特别对8位单片机和16位单片机做了优化
FatFs Module有个简化版本Tiny—FatFs,它跟完全版FatFs的不同之处主要有两点: ①占用内存更少,只要 1 KB RAM; ②1 次仅支持1 个存储介
FatFs和Tiny—FatFs的用法一样,仅仅是包含不同的头文件即可,非常方便,本文主要介绍Tiny-FatFs
1 Tiny-FatFs 1
1 移植前的准备 FatFs Module一开始就是为了能在不同的单片机上使用而设计的,所以具有良好的层次结构,如图 1 所示
最顶层是应用层