广告

【博客大赛】FAT32文件系统详解-SD卡版

2013-2-22 13:41 4245 0 4 分类: 工程师职场

一:引文

由于本人研究生毕设会用到SD卡,用SD卡又不免要研究文件系统,故将此学习过程记录如下:

1.在网上下载Winhex工具,建议大家都备用,干我们技术这行的迟早会用到这个工具;

2.SONY 8G SD卡一枚,出厂时被厂家格式化成了FAT32文件系统,为了学习方便,我在里面存了一个TXT文档,起名my_test,里面写入了如下内容:This is my SD_card file system test,下面开始学习旅程:

1.jpg

 

 

 二:普及知识

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

2.jpg

如果打开磁盘时选择的是逻辑驱动器,那么是看不到MBR的,只能看到数据从启动扇区开始的信息;如果采用物理磁盘方式打开,就可以查看分区信息了。

选择逻辑驱动器(数据从启动扇区,没有MBR):

3.jpg

 

4.jpg
5.jpg
6.jpg
7.jpg
8.jpg
9.jpg
11.jpg
10.jpg

 

 

广告

文章评论 4条评论)

登录后参与讨论

zhang_40130_192081757 2014-2-11 20:55

谢谢楼主,你分析的很好!

3l.xpu_578193110 2013-10-11 07:25

非常有用。

sunyzz 2013-2-22 13:42

不好意思,是在word中编辑好的,复制的时候图片出了点问题。。,重新截图了,qq截图,png格式的还不行,麻烦死了。。。。

2haven_670965431 2013-2-21 14:02

谢谢博主文章,可是,说好的图片呢?

lbbzmj520_171137459 2012-11-29 21:48

是的,只告诉我未授权,没有提示。

pangtina_185718184 2012-11-28 16:52

没有明确的提示,提醒你下载高级编辑器的插件吗?
相关推荐阅读
sunyzz 2017-08-19 10:38
【博客大赛】AVALON总线介绍
1、AVALON总线简介Avalon总线是一种协议较为简单的片内总线,是ALTERA公司定义的片上互联总线,该总线可以将诸如NIOS II的CPU与其他外设连接起来,进而进行数据交换。AVALON总线...
sunyzz 2017-08-17 21:36
【博客大赛】不要轻易做职场滥好人
小A毕业于国内普通高校,但是他聪明,勤奋,能干,动手能力强,可是即便有这些优点也不能让小A轻轻松松找到一份好工作。这不,去年9月份小A好不容易找到一份工作,然后立马就入职了C公司,生怕C公司过两天不要...
sunyzz 2017-08-16 21:15
【博客大赛】IC设计低功耗技术四
五:工艺层面的降低功耗前面几节都是在讨论设计人员如何在前期阶段,中期阶段降低功耗,涉及到软件层面的,硬件层面的,这些技巧基本都是前辈总结出来的,或者根据理论推论出来的。但是到了后期,想降低功耗基本就要...
sunyzz 2017-08-14 22:35
【博客大赛】IC设计之低功耗技术三
四:RTL(寄存器传输)级的低功耗设计4.1 状态机的设计状态机编码中一般有两种方式,普通的二进制编码,特殊的格雷码,格雷码的特点是两个数据之间的跳变时只会有一个bit在toggle,显然比起多bit...
sunyzz 2017-08-12 16:51
【博客大赛】IC设计之低功耗技术二
三、架构层面的降低功耗系统的实现有很多的方式,每种方式对功耗的影响都不相同,本节主要介绍架构对功耗的影响。3.1 高级门口电路 在同步电路系统中,时钟占据了大部分的动态功耗,因而在一些情况下,如果有些...
sunyzz 2017-08-12 10:37
【博客大赛】IC 设计之低功耗技术一
一、前言随着计算机技术和微电子技术的迅速发展,嵌入式系统应用领域越来越广泛。节能是全球化的热潮,如计算机里的许多芯片过去用5V供电,现在用3.3V,1.8V,甚至更低的电压。目前的低功耗设计主要从芯片...
我要评论
4
0
广告