首页 > 代码库 > SD卡FAT32文件系统格式

SD卡FAT32文件系统格式

 一、SD卡FAT32文件系统

二、DBR(DOS BOOT RECORD,DOS引导记录

1、DBR

10x00~0x023字节,"EB5890",跳转指令。 

20x03~0x0A8字节,文件系统标志和版本号,这里为MSDOS5.0。 

30x0B~0x0C2字节,每扇区字节数,5120X02 00)。 

40x0D~0x0D1字节,每簇扇区数,80x08),这个值不能为0,而且必须是2的整数次方,比如1、2、4、8、16、32、64、128。

【5】0x0E~0x0F:2字节,保留扇区数,38(0x00 26),那么就知道FAT1起始位置在38扇区。  

60x10~0x101字节,FAT表个数为2,另外一个是备份的。 

70x11~0x122字节,FAT32必须等于0FAT12/FAT16根目录中目录的个数; 

80x13~0x142字节,FAT32必须等于0FAT12/FAT16扇区总数。 

90x15~0x151字节,哪种存储介质,0xF8标准值,可移动存储介质。 

100x16~0x17:2字节,FAT32必须为0FAT12/FAT16一个FAT表所占的扇区数

110x18~0x19:2字节,每磁道扇区数,只对于有“特殊形状”(由磁头和柱面每 分割为若干磁道)的存储介质有效,630x003F)。 

120x1A~0x1B2字节,磁头数,只对特殊的介质才有效,2550x00 FF)。 

130x1C~0x1F4字节,EBR分区之前所隐藏的扇区数,00x00 00 00 00)。

140x20~0x234字节,文件系统总扇区数,3887104(0x 00 3B 50 00),3887104 * 512 = 1990197248   1.9GB

150x24~0x274字节,每个FAT占用扇区数,3789(0x 00 00 0E CD)。 

160x28~0x292字节,标记,此域FAT32 特有。 

170x2A~0x2B2字节FAT32版本号0.0,FAT32特有。 

180x2C~0x2F4字节,根目录所在第一个簇的簇号,2。(虽然在FAT32文件系统 下,根目录可以存放在数据区的任何位置,但是通常情况下还是起始于2号簇)。

190x30~0x312字节,FSINFO(文件系统信息扇区)扇区号是1,该扇区为操作系统提供关于空簇总数及下一可用簇的信息。 

200x32~0x332字节,备份引导扇区的位置。备份引导扇区总是位于文件系统的6号扇区。 

210x34~0x3F12字节,用于以后FAT 扩展使用。  

220x40~0x401字节,与FAT12/16 的定义相同,只不过两者位于启动扇区不同的位置而已。

【230x41~0x411字节,与FAT12/16 的定义相同,只不过两者位于启动扇区不同的位置而已 。 

240x42~0x421字节,扩展引导标志,0x29。与FAT12/16 的定义相同,只不过两者位于启动扇区不同的位置而已

250x43~0x464字节,卷序列号。通常为一个随机值。 

260x47~0x5111字节,卷标(ASCII码),如果建立文件系统的时候指定了卷标,会保存在此。 

270x52~0x598字节,文件系统格式的ASCII码,FAT32。 

★【280x5A~0x1FD90~509共410字节,引导代码。 

290x1FE~0x1FF:签名标志“55 AA”。 

说明:引导代码

FAT文件系统将引导代码与文件形同数据结构融合在一起,FAT32文件系统引导扇区的512字节中,90~509字节为引导代码,而FAT12/16则是62~509字节为引导代码。同时,FAT32还可以利用引导扇区后的扇区空间存放附加的引导代码。一个FAT卷即使不是可引导文件文件系统,也会存在引导代码。

2、DBR参数计算

由以上信息我们知道:

扇区大小:512 Bytes

簇大小:8 Sector = 2048 Bytes

保留扇区数:38 Sector

FAT表占用扇区数:3789 Sector

 

参考资料:SD卡中FAT32文件格式快速入门(图文详细介绍