zoukankan      html  css  js  c++  java
  • 基于FATFS的磁盘分布

    1.前言

    本文主要采用FAT32文件系统的磁盘各个部分是如何划分的

    2. 磁盘分布总图

    如包含两个分区的磁盘整体分布如下:

    图 带有两个分区的磁盘分布 

    2.1 MBR

                                       图  MBR的高层视图

    主引导记录 ( MBR)位于设备物理起始位置上的一个或多个扇区。

    1. MBR 的引导区包含 DOS引导加载程序代码,该代码会在设备格式化后被写入 (否则不会被动态 C FAT 文件系统所使用)。

    2. 引导区之后是分区表。分区表中含有四个 16 字节的条目,允许设备划分多达四个分区。
    分区表条目中含有一些关键信息:分区类型 (动态 C FAT 可识别 FAT12 FAT16 的分区类型)以及分区的起始与结束扇区号。

    另外还有一个字段指明分区中的扇区总数。如果该数字为零,则对应的分区是空的可用分区

    2. 2 FAT分区

    FAT分区主要包含如下几部分信息:

    1. BPB 参数块
    BPB 中的字段包含该分区的描述信息:
    每个扇区的字节数;
    每个簇的扇区数;
    该分区的扇区总数;
    根目录下的条目数。
    2. FAT 分配表
    文件分配表是一种结构,也是 FAT 文件系统的命名由来。 FAT 中保存了关于簇的分配信息。
    一个簇既可以分配给一个文件,也可以使用,还可以标记为坏簇。 FAT 分配表的副本会紧跟
    着第一个 FAT 分配表存放。
    3.根目录
    根目录具有预定义的位置及大小。根目录有 512 个条目,每个条目 32 字节。根目录中的条目
    既可以是空条目,也可以包含文件或子目录名称(以 8.3 格式)、文件大小、上一次修改的日
    期时间以及文件或子目录的起始簇号。
    4.数据区
    数据区占据了分区中的大部分空间。其中包含文件数据与子目录。请注意,按照惯例,分区
    的数据区必须从第 2 簇开始。欲了解更多信息,请参考 Microsoft® EFI FAT32 文件系统规范

    3.参考文献

    [1] 在 STM32Cube 上开发 FatFs 相关应用.pdf

  • 相关阅读:
    RESTful API入门
    $.ajax()参数详解及标准写法(转)
    Jquery 页面首次加载方式
    jQuery操作单选按钮(radio)用法
    GridView的 OnRowDataBound 事件用法
    ASP.NET文件上传大小的限制解决方案
    jQuery经典学习笔记
    Thermal management in a gaming machine
    iis7配置网站容易出现的问题(转)
    你能熟练使用Dictionary字典和List列表吗?(转)
  • 原文地址:https://www.cnblogs.com/smartjourneys/p/8460165.html
Copyright © 2011-2022 走看看