FATFS 文件系统剖析1: FAT16: 数据按照其不同的特点和作用大致可分为5 部分:MBR 区、DBR 区、FAT 区、DIR 区和DATA 区,相比 fat12 多了 DBR 区 Main boot record: MBR(0--1bdh) 磁盘参数存放 DPT(1beh--1fdh) 磁盘分区表 55,aa 分区结束标志 DBR(Dos Boot Record)是操作系统引导记录区的意思 FAT 区(有两个,一个备份):对于 fat16,每一个 fat项 16 位,所以可寻址的簇项数为65535(2 的16 次方)
而其每簇大小不超 过 32k,所以其每个分区最大容量为2G
fat32,每一个 fat项 32 位,可寻址簇数目为2 的32 次方
DIR 区(根目录区):紧接着第二 FAT 表(即备份的FAT 表)之后,记录着根目录下每个文件(目录)的起始单元,文件的属性等
定位文件位置时,操作系统根据DIR 中的起始单元,结合 FAT 表就可以知道文件在硬盘中的具体位置和大小了
DATA 区:实际文件内容存放区
FAT32: 暂时放在这里,不讨论
Fatfs:嵌入式 fat文件系统,支持 fat16,fat32
包含有 ff
h,diskio
h,integer
h,ffconf
h 四个头文件以及 ff
c 文件系统实现
当然要实现具体的应用移植,自己要根据diskio
h 实现其diskio
c 底层驱动
diskio
h : 底层驱动头文件 ff
h : 文件系统实现头文件,定义有文件系统所需的数据结构 ff
c : 文件系统的具体实现 如下开始逐个文件加以分析: integer
h :仅实现数据类型重定义,增加系统的可移植性
ffconf
h : 文件系统配置---逐个配置,先配置实现一个最小的fat 文件系统,下面来分析各配置选项: #de