文件系统定义:
文件系统是为了存储和管理数据,而在存储介质(存储数据的载体如Flash芯片、SD卡等等)建立的一种组织结构(包括系统引导区、目录和文件);
文件系统的工作过程:
在使用文件系统前,要先对存储介质进行格式化。先擦除原来内容,在存储介质上新建一个文件分配表和目录, 以便于文件系统可以记录数据存储的状态信息,如物理地址、空间等。
使用文件系统时,数据都以文件的形式存储;
写入新文件时,先在目录中创建一个文件索引,它指示了文件存放的物理地址,再把数据存储到该地址中;
当需要读取数据时,可以从目录中找到该文件的索引,进而在相应的地址中读取出数据;
//具体还涉及到逻辑地址、簇大小、不连续存储等一系列辅助结构或处理过程;
FATFS文件系统简介:
FatFs 是面向小型嵌入式系统的一种通用的 FAT 文件系统。它完全是由 标准C 语言编写并且完全独立于底层的 I/O 介质。因此它可以很容易地不加修改地移植到其他的处理器当中,如 8051、PIC、ARM 等。
//FAT 是文件分配表(File Allocation Table)的缩写,FatFs是管理数据区域分配和文件系统本身名称的合称。
目前有三种 FAT 子类型,FAT12,FAT16 和 FAT32。它们按数字大小顺序开发,完全向后兼容旧版本。
FAT 文件系统将自身称为逻辑卷(或逻辑驱动器)。 FAT 逻辑卷由三个或四个区域组成,每个区域由一个或多个扇区组成,并按以下顺序位于卷上:
1-Reserved area (volume configuration data)
保留区域(卷配置数据)
2-FAT area (allocation table for data area)
FAT区域(数据区域的分配表)
3-Root directory area (not present on FAT32 volume)
根目录区域(FAT32 卷上不存在)
4-Data area (contents of file and directory)
数据区(文件和目录的内容)
FATFS文件系统特点
(1)Windows兼容的FAT/exFAT文件系统
(2)平台独立性,容易使用
(3)程序代码量少,占用资源低
(4)配置参数丰富,配置详情可参考官方网站http://elmchan.org/fsw/ff/00index_e.html
FATFS的目录结构: