SD卡FAT32文件结构(1)

本文详细介绍了如何通过分析SD卡的DBR(引导扇区)和BPB(BIOS参数块)来获取FAT32文件系统的相关信息,包括扇区大小、簇大小、保留扇区数量、FAT表的数量和大小以及根目录位置。通过计算确定了FAT1、FAT2和根目录的起始地址,并用WinHex进行了验证。
摘要由CSDN通过智能技术生成

     FAT32文件层,这个文件层体系不是十分的复杂。但为了寻找一个根目录的文件,得几经周折,所写的程序也非常的庞大。

     首先,我们为了知道我们的SD卡的基本信息,这些信息一般被存储在BPB表中,而BPB表位于DBR中,也就是逻辑扇区0号。但逻辑0扇区并不在0号扇区之中,使用WinHex,看0扇区,结果如下所示。

    

     0x0190之前的区域全是0,省略掉了。从图中看出,这必定不是DBR,而是主引导扇。图中红圈的地方,标示出了DBR所在的位置,红圈的位置是MBR的0x01C6~0x01C9。而从WinHex能看出,我的SD卡的DBR是在地址0x5600开始的。而红圈的数据为小端模式的,一般来说,单片机的数据存储格式为大端,所以需要一个转化。而0x2B000000这个小端数据转化为大端之后为0x2B(我个人认为小端就是把高字节存在低位,低字节存在高位)。而之前读取SD卡的CSD寄存器可知,一个扇区是512byte的。所以经过简单的算式便可算出DBR的位置。       

     0x002B * 0x0200 = 0x5600。

    那么,我们就可以寻找到DBR了,从WinHe

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值