欢迎来到天天文库
浏览记录
ID:15285403
大小:541.50 KB
页数:47页
时间:2018-08-02
《基于mcf51qe128的sd卡文件系统设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、基于MCF51QE128的SD卡文件系统设计SDcardfilesystemdesignbasedonMCF51QE128童静TongJing摘要:随着嵌入式系统的发展,越来越多的嵌入式设备需要处理大量的数据,同时市场上也随之涌现出了许多大容量的存储器件,使用文件系统将成为这类嵌入式应用的一个必然趋势。本文基于Freescale公司MCF51QE128微控制器和SD卡,结合实验数据,深入探讨了FAT16文件系统及其存储原则,实现了文件的创建、打开和多扇区数据的读写。关键词:MCF51QE128微控制器,SD
2、卡,FAT16文件系统Abstract:Withthedevelopmentofembeddedsystems,moreandmoreembeddeddevicesneedtodealwithlargeamountsofdata,whilethemarketalsoemergedalotoflarge-capacitymemories,usetheFilesystemwillbeaninevitabletrendfortheseembeddedapplications.ThepaperbasedonFree
3、scaleMCF51QE128microcontrollerandSecureDigitalcard,in-depthexplorationintoFAT16Filesystemandfilesstorageprinciplesincombinationwithexperimentaldata,anddescribedhowtocreate,openafile,andreadorwritemulti-sectordata.Keywords:MCF51QE128microcontroller,SecureDi
4、gitalcard,FAT16Filesystem引言MCF51QE128微控制器是飞思卡尔公司生产的8位/32位兼容的低功耗微处理器,工作电压的典型值是3.6V,与SD卡的工作电压兼容,可直接与SD卡连接而无须电平转换电路。SD卡因为其体积小、功耗低、容量大且成本低廉,目前被广泛应用于各类嵌入式数据采集系统中。本文针对此类应用,通过实测512MSD卡数据,以实例的形式深入解析了FAT16文件系统的存储原则,并给出了实现方案。1.FAT16文件系统SD卡格式化为FAT文件系统时,一般只采用1个分区,以便于存
5、储空间的管理,其划分形式如图1所示。FAT16主要由图中所示的6个深色部分组成,主引导记录位于SD卡的第0扇区,通常情况下,每扇区的大小为512字节。图1FAT16的组织形式1.1主引导记录MSR(MasterBootRecord,主引导记录)总是位于存储卡的起始位置,即扇区0。图2是主引导记录的详细信息。由于只有1个分区,所以由偏移量0x1BE可找到第1分区的入口,接着由偏移量0x08找到第1分区的相对起始扇区,即第1分区引导记录所在扇区。以512MBSD卡为例,读图2中地址0x1C6~0x1C9处4个字
6、节数据:0x000000e9(由高位向低位读取),可知第1分区引导记录位于SD卡的第0xe9个扇区。32图2主引导记录1.2分区引导记录分区BR(BootRecord,引导记录)位于分区的第0扇区,由跳转代码、OEM(OriginalEquipmentManufacturer,原始设备制造商)、BPB(BIOSParameterBlock,BIOS参数块)、扩展BPB、引导代码和结束标志组成。图3重点列出了分区引导记录中BPB的各项参数。读图3中0x000000e9扇区,由偏移量0x0B处2字节数据:0x0
7、200=512,可知SD卡每扇区字节数为512。类似,可得到其他相关参数。图3分区引导记录1.3FAT表和文件存储原则FAT16文件系统主要通过FAT表(FAT1和FAT2)、根目录和数据区实现对文件的存储管理。FAT表记录了数据文件的存储链表,对数据的读取极为重要,通常都会有一个或多个备份。这里,FAT2就是对FAT1的备份,必须随着FAT1即时同步更新。根目录一般以32字节为单位来存放文件记录,具体描述如表1所示。数据区主要存放文件数据,为了有效利用存储空间,一般以簇为单位,簇的大小通常是2的n次幂个扇
8、区。FAT格式化后,簇的大小就确定下来了,可通过读取分区引导记录获得,例如,读图3中0x000000e9扇区,由偏移量0x0D处1字节数据:0x10=16,可知SD卡的1个簇占16个扇区。32表1根目录文件记录项如果将SD卡的存储空间想象成一本书,要阅读一篇文章,首先应该打开目录找到文章的页码,然后根据页码翻到文章所在的地方。类比到FAT16文件系统,FAT表和根目录就像书的目录,簇号类似于书的页码,而数据区存放
此文档下载收益归作者所有