tag 标签: sd卡,文件系统

相关博文
  • 热度 22
    2013-2-22 13:41
    6307 次阅读|
    4 个评论
    一:引文 由于本人研究生毕设会用到SD卡,用SD卡又不免要研究文件系统,故将此学习过程记录如下: 1.在网上下载Winhex工具,建议大家都备用,干我们技术这行的迟早会用到这个工具; 2.SONY 8G SD卡一枚,出厂时被厂家格式化成了FAT32文件系统,为了学习方便,我在里面存了一个TXT文档,起名my_test,里面写入了如下内容:This is my SD_card file system test,下面开始学习旅程:       二:普及知识 1.一个FAT文件系统按照地址增加的顺序包括四个不同的部分: 保留扇区 位于最开始的位置。第一个保留扇区是引导区(分区启动记录,包括启动扇区)。它包括一个称为基本输入输出参数块的区域(包括一些基本的文件系统信息尤其是它的类型和其它指向其它扇区的指针),通常包括操作系统的启动调用代码。保留扇区的总数记录在引导扇区中的一个参数中。引导扇区中的重要信息可以被DOS和OS/2中称为驱动器参数块的操作系统结构访问。  FAT区域 它包含有两份文件分配表,这是出于系统冗余考虑,尽管它很少使用,即使是磁盘修复工具也很少使用它。它是分区信息的映射表,指示簇是如何存储的。  根目录区域 它是在根目录中存储文件和目录信息的目录表。在FAT32下它可以存在分区中的任何位置,但是在早期的版本中它永远紧随FAT区域之后。  数据区域 这是实际的文件和目录数据存储的区域,它占据了分区的绝大部分。通过简单地在FAT中添加文件链接的个数可以任意增加文件大小和子目录个数(只要有空簇存在)。然而需要注意的是每个簇只能被一个文件占有,这样的话如果在32KB大小的簇中有一个1KB大小的文件,那么31KB的空间就浪费掉了。 2. 对于小容量的SD卡来说,一般没有MBR(主引导记录),所以读第0扇区就是在WinHex 软件里边查看的启动扇区,所以很容易进行验证。但是对于大容量的SD卡来说,由于里边有MBR,而一般读取第0扇区,读出的就是MBR的内容;而在WinHex里边一般都隐藏了MBR部分,而直接显示启动扇区。所以读取的第0扇区和启动扇区的数据当然是不对的,所以容易让实验者认为读取是数据有误。 采用winhex软件查看SD卡有没有MBR 如果打开磁盘时选择的是逻辑驱动器,那么是看不到MBR的,只能看到数据从启动扇区开始的信息;如果采用物理磁盘方式打开,就可以查看分区信息了。 选择逻辑驱动器(数据从启动扇区,没有MBR):