基于单片机的sd卡读写系统设计内容摘要:

ocationTable)区、 DIR(Directory)区和 DATA 区 [2], 如图 4 所示 : 主引导记录 MBR 系统引导记录 DBR FAT1 FAT2 根目录区 DIR 数据区 DATA 图 4 FAT16 存储结构示意图 其中 , MBR 区位于物理磁盘 0 扇区 , DBR 区位于逻辑磁盘 0 扇区。 MBR 区与物理磁盘一一对应 , 其余四个区和逻辑磁盘一一对应。 SD 卡不支持多 分区 , 因此以上五个区在 SD 卡中都是唯一的。 主引导记录区 ( Main BootRecord ,MBR) 位于物理磁盘第零扇区。 MBR 中有硬盘分区记录表 (Disk Partition Table ,DPT) ,DPT 记录了各逻辑分区的相对偏移。 SD 卡不支持多分区 ,在 1 个 SD 卡中只有 1 个分区 ,因此在 SD 卡上的DPT 只有 1 个分区表项被占用。 系统引导记录区 (DOS Boot Record ,DBR)位于磁盘逻辑分区的第 0 扇区 ,是操作系统可以访问的第 1 个扇区 ,它其中包含 1 个称为 BPB(Bios Parameter Block) 的本分区参数记录表。 BPB 记录着本分区的根目录大小、 FAT 个数、磁盘介质描述、分配单元大小等重要参数。 BPB 结构如表 2 所示 : 表 2 BPB 结构表 名称 偏移 长度 描述 BS_jmpBoot 0 3 指向引导代码的跳转指令 BS_OEMName 3 8 OEM 名称 BPB_BytsPerSec 11 2 每扇区的字节数 BPB_SecPerClus 13 1 每簇扇区数 BPB_RsvdSecCnt 14 2 保留扇区数 BPB_NumFATs 16 1 FAT 表数目 BPB_RootEntCnt 17 2 根目录区的目录项数 BPB_TotSec16 19 2 总扇区数 BPB_Media 21 1 存储介质 BPB_FATSz16 22 2 FAT 表所占的扇区数 , 以 16 位表示 BPB_SecPerTrk 24 2 每磁道扇区数 BPB_NumHeads 26 2 磁头数 BPB_HiddSec 28 4 隐藏扇区数 BPB_TotSec32 32 4 该卷总扇区数 , FAT16 卷中应该取值为 0 DBR 之后是 FAT( File Allocation Table ,文件分配记录表 ) ,记录文件在磁盘上的存储位置。 在 Windows 系统中 ,文件存储的单位是簇而不是字节 ,1 个文件不是连续地存放于磁盘的某一区域 ,而往往分成若干段 ,像链子一样存放。 FAT 表记录了每个文件的起始簇号、 后继簇号 和终止簇号。 FAT表中的每个表项对应数据存储区中的 1 个簇 ,由于 FAT表对文件管理的重要性 ,FAT 表有 1 个备份。 DIR 是根目录区 ,紧接着第 2 个 FAT 表 ( FAT2) 之后 ,记录着根目录下每个文件的起始簇号、 大小等属性。 操作系统根据 DIR 中文件的起始簇号和大小 ,结合 FAT 表来定位文件。 FAT16 文件系统中 1个文件的存储示意图如图 5所示。 根目录: File 0004 FAT: 0003 0004 0005 0006 0007 FFFF 0005 0007 0008 FFFF 数据区: File P。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。