×
家电数码 > 数码产品 > 详情

基于MCF51QE128的SD卡文件系统设计

发布时间:2020-05-22 发布时间:
|

引言

MCF51QEl28微控制器是FREESCALE公司生产的8位/32位兼容的低功耗微处理器。工作电压的典型值是3.6V,与SD卡的工作电压兼容,可直接与SD卡连接而无需电平转换电路。SD卡因为其体积小、功耗低、容量大且成本低,目前被广泛应用于各类嵌入式数据采集系统中。本文针对此类应用,通过实测512MB SD卡数据,以实例的形式深入解析了FATl6文件系统的存储原则,并给出了实现方案。

1 FATl6文件系统

SD卡格式化为FAT文件系统时,一般只采用1个分区,以便于存储空间的管理。FATl6主要由图1所示的6个阴影部分组成。通常情况下,每扇区的大小为512字节。

1. 1 主引导记录

MBR(Master Boot Record,主引导记录)总是位于存储卡的起始位置,即扇区O。图2是主引导记录的详细信息。由于只有1个分区,所以由偏移量0x1BE可找到第1分区的入口,接着由偏移量0x08找到第1分区的相对起始扇区,即第1分区引导记录所在的扇区。以512 MB SD卡为例,读取图2中地址OxlC6~OxlC9处的4个字节数据(由高位向低位读取),即Ox000000E9。可知,第1分区引导记录位于SD卡的第0xE9个扇区。

1.2 分区引导记录

分区BR(Boot Record,引导记录)位于分区的第O扇区。它由跳转代码,OEM(Original Eqtlipment Manufacturer,原始设备制造商),BPB(BIOs Parameter Block,BIOS参数块),扩展BPB,引导代码和结束标志(Ox55 AA)组成。图3重点列出了分区引导记录中BPB的各项参数。读图3中Ox000000E9扇区,由偏移量0x0B处2字节数据Ox0200=512可知,SD卡每扇区的字节数为512。类似地,可得到其他相关参数。

1.3 FAT表和文件存储原则

FATl6文件系统主要通过FAT表(FATl和FAT2)、根目录和数据区实现对文件的存储管理。FAT表记录了数据文件的存储链表,对数据的读取极为重要,通常都会有一个或多个备份。这里,FAT2就是对FATl的备份,必须随着FATl即时同步更新。根目录一般以32字节为单位来存放文件记录。

  


『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
世界首款智能设备用立体声AEC线性远场语音套件