FatFs是用于小型嵌入式系统的通用FAT / exFAT文件系统模块。FatFs模块是按照ANSI C(C89)编写的,并且与磁盘I / O层完全分开。因此,它独立于平台。它可以并入资源有限的小型微控制器中,例如8051,PIC,AVR,ARM,Z80,RX等。此处还提供了适用于小型微控制器的Petit FatFs模块。
特征
- DOS / Windows兼容的FAT / exFAT文件系统。
- 平台无关。易于移植。
- 程序代码和工作区的占用空间非常小。
- 支持以下各种配置选项:
- ANSI / OEM或Unicode中的长文件名。
- exFAT文件系统,64位LBA和GPT可存储大量数据。
- RTOS的线程安全。
- 多个卷(物理驱动器和分区)。
- 可变扇区大小。
- 多个代码页,包括DBCS。
- 只读,可选API,I / O缓冲区等...
应用介面
FatFs为应用程序提供各种文件系统功能,如下所示。
- 档案存取
- 目录访问
- f_opendir-打开目录
- f_closedir-关闭打开的目录
- f_readdir-读取目录项
- f_findfirst-打开目录并读取匹配的第一项
- f_findnext-阅读下一个匹配的项目
- 文件和目录管理
- 卷管理和系统配置
- f_mount-注册/注销卷的工作区
- f_mkfs-在逻辑驱动器上创建FAT卷
- f_fdisk-在物理驱动器上创建分区
- f_getfree-获取卷上的可用空间
- f_getlabel-获取卷标
- f_setlabel-设置卷标
- f_setcp-设置活动代码页
媒体访问界面
由于FatFs模块是独立于平台和存储介质的文件系统层,因此它与物理设备(例如存储卡,硬盘和任何类型的存储设备)完全分开。低级设备控制模块不是FatFs模块的任何部分,需要由实施者提供。FatFs通过如下所示的简单媒体访问界面访问存储设备。下载中还提供了某些平台的示例实现。此处提供了用于低级磁盘I / O模块的功能检查器。
- disk_status-获取设备状态
- disk_initialize-初始化设备
- disk_read-读取扇区
- disk_write-写入扇区
- disk_ioctl-控制设备相关的功能
- get_fattime-获取当前时间
资源资源
FatFs模块是为教育,研究和开发开放的免费软件。您可以在个人项目或商业产品中使用,修改和/或重新分发它,而不受您的责任限制。有关更多信息,请参见应用笔记。
- 首先阅读:FatFs模块应用笔记 2019年10月14日
- 下载:FatFs R0.14 | 变更 | 最新补丁 2019年11月10日
- 下载:适用于各种平台的FatFs示例项目 2019年11月17日
- 下载:先前版本
- 社区:FatFs用户论坛
- Microsoft FAT32规范(FAT文件系统上的授权文件)
- FAT文件系统的基础
- exFAT文件系统的基础
- 如何使用MMC / SDC
- 玩FlashAir和FatFs
- Nemuisan的Blog↗(针对STM32F / SPI和SDIO和LPC4088 / SDMMC的书面实现)
- 由Tilen Majerle on在STM32F4xx器件上读取带有FatF的SD卡(用于STM32F4-Discovery的快速简便实现)
- 基准1(ATmega1284 / 20MHz,MMC通过SPI中的USART,CFC通过GPIO)
- 基准2(LPC2368 / 72MHz,带有通过MCI的MMC)
- 应用程序的演示影片(此项目在ffsample.zip/lpc23xx中)