SD+FAT16文件系统学习笔记1
2012-08-30 11:05
204 查看
SD+FAT16文件系统学习笔记1
2010-08-12 23:17
2010-08-12 23:17
一、物理扇区0(MBR) 物理扇区0常称为引导扇区(MBR).读取出SD卡的物理扇区0,在物理扇区0的0x<?XML:NAMESPACE PREFIX = ST1 />1C6~0x1C9这4个字节中,可以得到逻辑扇区0(主引导区)的物理扇区地址.可能是因为我不会用WinHex,无法打开物理扇区,只能选择打开逻辑扇区.所以只有从开发板上读出物理扇区0的信息,然后用UART输出.我的SD卡物理扇区0的部分内容如下: 0 1 2 3 4 5 6 7 8 9 A B C D E F 1B0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1C0 c 0 6 3f ff b7 89 0 0 0 77 91 3a 0 0 0 1D0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1E0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1F0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 55 aa 前446字节为一些引导信息,地址为0x00~0x1BD。从0x1BE开始,每16字节就为一个分区的信息,我的SD卡只有一个分区,所以只有0X1BE~0X1CD有内容.最后两个字节0X55、0XAA为签名.从0X1C6~0X1C9可以知道逻辑扇区0的位置。我这里为89 00 00 00,即0X89,所以第137个物理扇区为逻辑扇区0.这16字节的分区信息的其它内容参考下表(表截图于jimsboy(海洋之星)的“SD卡中FAT16文件分析”一文中)。 二、主引导区逻辑扇区0(BPB--BIOS参数数据块) 知道了逻辑扇区0的物理扇区位置,接下来的文件系统操作都是基于这个逻辑扇区0,但SD卡的读、写扇区的操作都是从物理扇区地址计算的,比如我想读出逻辑扇区0的数据,我这里就是ReadSingelBlock(137,buffer).我的SD逻辑分区0的内容如下: 从这里,我们可以得到每扇区的字节数,每簇的扇区数,FAT表所占的扇区数,总扇区数(逻辑扇区),隐藏扇区数(逻辑扇区0前面的物理扇区数),详细内容参考下表(表截图于jimsboy(海洋之星)的“SD卡中FAT16文件分析”一文中)。 |
相关文章推荐
- SD卡FAT16文件系统的学习笔记
- SD卡FAT16文件系统的学习笔记
- FAT16文件系统学习笔记(2009/12/31)
- 文件系统系列学习笔记 - inode/dentry/file/super(2)
- linux系统管理学习笔记之六---linux文件系统
- [文件系统]EXT文件系统学习笔记(二)——数据结构
- 第一行代码学习笔记-第一章 开始启程-2.安卓系统文件介绍
- PowerShell 学习笔记-- 3 -- 格式化输出,文件系统
- 文件过滤系统驱动开发Filemon学习笔记
- 【saltstack学习笔记之七】salt的文件系统
- Linux学习笔记:2.文件系统的管理命令(2)
- ROS学习笔记二:探索ROS文件系统
- [文件系统]文件系统学习笔记(十)---杂项
- 移植内核学习笔记3-----支持yaffs文件系统
- Unix原理与应用学习笔记----第四章 文件系统2
- [学习笔记] Linux 文件系统
- php5学习笔记之文件系统
- Linux鸟哥私房菜学习笔记_第八章Linux磁盘与文件系统管理
- hadoop学习笔记:hadoop文件系统浅析
- hadoop学习笔记:hadoop文件系统浅析