我的SD卡sd卡能做启动盘吗区怎么不在0000地址上而是在1f200地址开始,怎么找到sd卡能做启动盘吗区?FAT1,FAT2,根目录 都偏移了1f200

sd卡在FAT32中的应用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
sd卡在FAT32中的应用
上传于||文档简介
&&F​A​T2​ ​S​D​卡​读​取​法​。
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩1页未读,继续阅读
你可能喜欢基于MCF51QE128的SD卡文件系统设计
16:03:56&&&来源:单片机与嵌入式系统应用 &&
&&& 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个字节数据(由高位向低位读取),即Ox。可知,第1分区引导记录位于SD卡的第0xE9个扇区。
1.2 分区引导记录
&&& 分区BR(Boot Record,引导记录)位于分区的第O扇区。它由跳转代码,OEM(Original Eqtlipment Manufacturer,原始设备制造商),BPB(BIOs Parameter Block,BIOS参数块),扩展BPB,引导代码和结束标志(Ox55 AA)组成。图3重点列出了分区引导记录中BPB的各项参数。读图3中Ox扇区,由偏移量0x0B处2字节数据Ox可知,SD卡每扇区的字节数为512。类似地,可得到其他相关参数。
1.3 FAT表和文件存储原则
&&& FATl6文件系统主要通过FAT表(FATl和FAT2)、根目录和数据区实现对文件的存储管理。FAT表记录了数据文件的存储链表,对数据的读取极为重要,通常都会有一个或多个备份。这里,FAT2就是对FATl的备份,必须随着FATl即时同步更新。根目录一般以32字节为单位来存放文件记录。
&&& 数据区主要存放文件数据,为了有效利用存储空间,一般以簇为单位,簇的大小通常是2的,n次幂个扇区。FAT格式化后,簇的大小就确定下来了,可通过读取分区引导记录获得。例如,读取图3中Ox扇区,由偏移量OxOD处1字节数据0x10=16可知,SD卡的1个簇占16个扇区。
&&& 如果将SD卡的存储空间想象成一本书,那么要阅读一篇文章,首先应该打开目录找到文章的页码,然后根据页码翻到文章所在的地方。类比到FATl6文件系统,FAT表和根目录就像书的目录,簇号类似于书的页码,而数据区存放的就是文章的具体内容。
&&& 以打开文件为例,文件的存储原则可以这样描述:首先在根目录中查找文件名,如有匹配,就找到了文件的开始簇号,好比知道了文章的页码。但文件的存储和书不同,书的内容一般是连续的,而文件在存储后是可以随意修改的(例如添加或删除),因而在存储空间上可能不连续,这样就无法仅通过开始簇号找到整个文件。那么怎样才能完整找到这些不连续的数据呢?答案就是FAT表。FAT表以“0xF8FF FFFF”作为开始标志,以2字节为单位存放文件簇号。FAT表实质是一个二维链表,如图4所示。
&&& FAT表上面的数字是这2个字节在表中的位置序号,同时也代表文件的簇号,与数据区的簇号对应,类似目录的页码。通常SD卡上第一个文件的开始簇号为2。若文件长度小于1簇,则其开始簇号所对应的2字节值为FFFF。若文件长度大于1簇,则其开始簇号所对应2字节中存放的是文件所在的下一个簇号,由所得簇号再查找其对应的2字节,可找到文件接下来的簇号。依此类推,直到最后所得簇号对应的2字节值为FFFF,即为文件的结束簇号。根据上述原则,由FAT表和根目录就可以确定文件在数据区的存储簇号,从而实现文件数据的管理。
2 FATl6文件系统设计
&&& 文件系统的基本功能包括:文件的创建、打开和读写。这里假定已经实现了MCF51QEl28微控制器和SD卡的硬件接口和底层通信,具体细节参考文献。
2.1 数据结构
&&& 为了便于对主引导记录、分区引导记录、FAT表、根目录和数据区中的相关信息进行记录和处理,定义了FATl6_t和FILE_t两个结构体类型。数据类型byte、word和dword分别对应于8位、16位和32位数据。
&&& FATl6_t结构体类型用于记录主引导记录和第1分区引导扇区信息,部分定义如下:
&&& FILE_t结构体类型用于记录每个文件项信息,部分定义如下:
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
MCF51QE128相关资源
SD卡相关资源
FAT16文件系统相关资源
编辑:金海
本文引用地址:
本周热门资源推荐
EEWORLD独家以上内容摘取自《SD存储方案的研究和实现.pdf》,若想查看原文格式,请如果您觉得不放心或未尽人意,请复制链接到电脑端访问(同时支持支付宝和微信支付)。

我要回帖

更多关于 sd敢达无法启动 的文章

 

随机推荐