文件系统是什么
负责管理和存储文件信息的软件结构称为文件管理系统,简称文件系统。即在磁盘上组织文件的方法。
常用的文件系统
- FAT/FATFS
- NTFS:基于安全性的文件系统,是Windows NT 所采用的独特的文件系统结构
- CDFS:大部分光盘的文件系统
FATFS文件系统
- 完全免费开源,专为小型嵌入式系统而设计。
- 支持FAT12 FAT16 FAT32
- ~是可裁剪的文件系统
FATFS文件系统特点
- Windows兼容的FATA文件系统
- 与平台无关,移植简单。全C编写
- 代码量少、效率高
- 多种配置选项
支持多卷、支持RTOS。。。。
FATFS文件系统层次结构
FATFS文件系统包结构
-
经验
大部分可移植的小系统或应用,都是采用类似这种将与底层打交道的源码开发给用户编写,然后提供顶层配置文件供配置。 -
diskio.c和diskio.h是硬件层
-
ff.c和ff.h是FatFs的文件系统层和文件系统的API层
-
FATFS模块在移植时,只需要修改2个文件,ffconf.h和diskio.c,~的所有配置项都存放在ffconf.h里,可以通过配置里面的一些选项,来满足自己的需求。diskio.c是硬件层,负责与底层硬件接口适配。
ffconf.h
- 10个常用配置解释:
FATFS移植步骤
- 数据类型
在integer.h里定义好数据的类型,根据编译器定义好数据类型。 - 配置
通过ffconf.h配置FATFS的相关功能 - 函数编写
打开diskio.c,进行底层驱动编写,一般需要编写6个接口函数