FATFS文件系统剖析(全)要点.pdf

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FATFS 文件系统剖析 1 : FAT16 : 数据按照其不同的特点和作用大致可分为 5 部分: MBR 区、 DBR 区、 FAT 区、 DIR 区和 DATA 区,相比 fat12 多了 DBR 区 Main boot record: MBR (0--1bdh ) 磁盘参数存放 DPT (1beh--1fdh ) 磁盘分区表 55 , aa 分区结束标志 DBR (Dos Boot Record )是操作系统引导记录区的意思 FAT 区(有两个,一个备份):对于 fat16 ,每一个 fat 项 16 位,所以可寻址的簇项数 为 65535 (2 的 16 次方)。而其每簇大小不超 过 32k ,所以其每个分区最大容量为 2G 。fat32 , 每一个 fat 项 32 位,可寻址簇数目为 2 的 32 次方。 DIR 区(根目录区):紧接着第二 FAT 表(即备份的 FAT 表)之后,记录着根目录下 每个文件(目录)的起始单元,文件的属性等。定位文件位置时,操作系统根据 DIR 中的 起始单元,结合 FAT 表就可以知道文件在硬盘中的具体位置和大小了。 DATA 区:实际文件内容存放区。 FAT32 : 暂时放在这里,不讨论! Fatfs :嵌入式 fat 文件系统,支持 fat16 ,fat32 。 包含有 ff.h,diskio.h,integer.h,ffconf.h 四个头文件以及 ff.c 文件系统实现。 当然要实现 具体的应用移植,自己要根据 diskio.h 实现其 diskio 。c 底层驱动。 diskio.h : 底层驱动头文件 ff.h : 文件系统实现头文件,定义有文件系统所需的数据结构 ff.c : 文件系统的具体实现 如下开始逐个文件加以分析: integer.h : 仅实现数据类型重定义 ,增加系统的可移植性。 ffconf.h : 文件系统配置 逐个配置,先配置实现一个最小的 fat 文件系统 ,下面来分析各 配置选项: #define _FFCONF 8255 // 版本号 #define _FS_TINY 0 /* 0:Normal or 1:Tiny */ // 在这里与先前版本 有些许变化,是通过配置头配置两种不同大小的文件系统 ,这里配置为 0 。 #define _FS_READONLY 1 // 定义文件系统只读,也就不能写修改,在此定义 为 1 ,这样文件系统会大大缩小,简化学习理解过程。 #define _FS_MINIMIZE 3 /* 0 to 3 */ 这个选项是用于过滤掉一些文件系统功 能,为 0 时是全功能, 3 是功能实现最小 #define _USE_STRFUNC 0 /* 0:Disable or 1/2:Enable */ 是否使用字符串文件 接口,为 0 ,不使用 #define _USE_MKFS 0 /* 0:Disable or 1:Enable */ 制作文件系统,这个功 能实现是还要 _FS_READONLY=0 #define _USE_FORWARD 0 /* 0:Disable or 1:Enable */ f_forward function 实 现还需 _FS_TINY =1 #define _USE_FASTSEEK 0 /* 0:Disable or 1:Enable */ 快速查找功 能 #define _CODE_PAGE 936 // 936 - Simplified Chinese GBK (DBCS, OEM, Windo

文档评论(0)

tianya189 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体阳新县融易互联网技术工作室
IP属地湖北
统一社会信用代码/组织机构代码
92420222MA4ELHM75D

1亿VIP精品文档

相关文档