SD卡与fatfs文件系统(2)

SD卡FAT分区内容:

(1)主引导记录MBR和分区表

MBR和分区表占512个字节(占用第1个扇区的空间):


分区表的内容:


(2)分区引导记录

DBR 中记录着文件系统的起始位置、大小、每簇扇区数、FAT表个数及大小等相关信息。

分区启动扇区的内容是FDC或FDC扩展描述符:

SD卡与fatfs文件系统(2)_第1张图片

(3)文件分配表

    文件系统分配磁盘空间按簇来分配。因此,文件占有磁盘空间时,基本单位不是字节而是簇,即使某个文件只有一个字节,操作系统也会给它分配一个最小单元:即一个簇。对于大文件,需要分配多个簇。同一个文件的数据并不一定完整地存放在磁盘中一个连续地区域内,而往往会分若干段,像链子一样存放。这种存储方式称为文件的链式存储。为了实现文件的链式存储,文件系统必须准确地记录哪些簇已经被文件占用,还必须为每个已经占用的簇指明存储后继的下一个簇的簇号,对于文件的最后一簇,则要指明本簇无后继簇。这些都是由FAT表来保存的,FAT 表对应表项中记录着它所代表的簇的有关信息:诸如是空,是不是坏簇,是否是已经是某个文件的尾簇等。

    数据区的大小决定了FAT表的大小,FAT表可能有多个。

(4)根目录

    文件系统刚被创建时,还没有存储任何数据时,根目录下没有任何内容,文件系统只是为根目录分配了一个簇的空间(通常为 2号簇),将结束标记写入该簇对应的 FAT 表项,表示该簇已经被分配使用。这时候,为根目录分配的空间没有任何内容。

    一个目录项占用32个字节:

SD卡与fatfs文件系统(2)_第2张图片



你可能感兴趣的:(SD卡与fatfs文件系统(2))