FATFS介绍及相关参数计算

本文详细解析了MBR主引导记录、VBR卷引导记录和FAT文件系统在硬盘上的组织,包括扇区划分、分区表编写和文件系统初始化过程。重点介绍了单分区MBR的结构,VBR的引导程序信息,以及FAT12的文件分配原则。此外,还展示了如何通过源码实现分区表创建和挂载检查过程,以及根目录和目录结构的细节。

1.相关概念
Volume的概念:卷,例如C盘。除开前63个扇区,
Clusters:文件系统的基本操作单元
Sector:扇区,flash的操作单元
MBR 主引导记录(MBR,Master Boot Record)由 446 个字节的引导代码、64 字节的主分区(4 个)表及两个字节的签名值“55 AA”组成

VBR:卷引导记录VBR除了包含引导启动代码,还包含文件系统的元数据。

2.MBR,VBR,DIR结构及扇区划分

格式化的过程,写入分区表
0扇区写主引导区MBR (boot区)
MBR表的起始从446开始,
四个分区,每个分区为16字节信息共64字节,加两字节的数字签名刚好为一个扇区大小512,其他填0
#define MBR_Table           446     /* MBR: Offset of partition table in the MBR */
#define SZ_PTE              16      /* MBR: Size of a partition table entry */

//********************************
#define PTE_Boot            0       /* MBR PTE: Boot indicator */
#define PTE_StHead          1       /* MBR PTE: Start head */
#define PTE_StSec           2       /* MBR PTE: Start sector */
#define PTE_StCyl           3       /* MBR PTE: Start cylinder */
#define PTE_System          4       /* MBR PTE: System ID */
#define PTE_EdHead          5       /* MBR PTE: End head */
#define PTE_EdSec           6       /* MBR PTE: End sector */
#define PTE_EdCyl           7       /* MBR PTE: End cylinder */
#define PTE_StLba           8       /* MBR PTE: Start in LBA */
#define PTE_SizLba          12      /* MBR PTE: Size in LBA */ word

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值