FatFs - 通用 FAT 文件系统模块
Last updated
Was this helpful?
Last updated
Was this helpful?
FatFs 是用于小型嵌入式系统的通用 FAT/exFAT 文件系统模块。 FatFs 模块的编写符合 ANSI C (C89),并与磁盘 I/O 层完全分离。 因此它独立于平台。 它可以集成到资源有限的小型微控制器中,例如 8051,PIC,AVR,ARM,Z80,RX 等。此外,还提供用于微型微控制器的 模块。
特性
DOS/Windows 兼容的 FAT/exFAT 文件系统。
平台独立,移植简单。
非常小的程序代码和工作区占用空间。
支持多种选项:
ANSI/OEM 或 Unicode 中的长文件名。
exFAT 文件系统。
RTOS 线程安全。
多个卷(物理驱动器和分区)。
可变的扇区大小。
多个代码页,包括 DBCS。
只读,可选的 API, I/O 缓存等等。
FatFs 提供了如下对应用的多种文件系统函数。
文件访问
- 打开/创建文件
- 关闭一个已打开的文件
- 从一个文件中读取数据
- 写数据到一个文件中
- 移动读/写指针(光标),扩展大小
- 截断文件大小
- 刷新缓存数据
- 将数据发送到流
- 为文件分配一个连续的块
- 读一个字符串
- 写一个字符
- 都一个字符串
- 写一个格式化的字符串
- 获得当前的读/写指针(光标)。
- 测试文件结尾
- 获取大小
- 测试一个错误
目录访问
- 打开一个目录
- 关闭一个已打开的目录
- 读取目录成员
- 打开目录并读取第一个匹配的成员
- 读取下一个匹配的成员
文件与目录管理
- 检查文件或子目录的存在
- 移除一个文件或子目录
- 重命名/移动一个文件或子目录
- 改变一个文件或子目录的属性
- 改变一个文件或子目录的时间戳
- 创建一个子目录
- 改变当前目录
- 改变当前驱动器
- 检索当前目录与驱动器
卷管理与系统配置
- 注册/注销卷的工作区
- 在逻辑驱动器上创建一个 FAT 卷
- 在物理驱动器上创建逻辑驱动器
- 获取卷的总大小与剩余空间
- 获取卷标签
- 设置卷标签
- 设置活动代码页
FatFs模块是一个为教育,研究和开发而开放的免费软件。 您可以使用,修改和/或重新分发个人项目或商业产品,不受您的任何限制。 有关详细信息,请参阅应用笔记。
下载: FatFs R0.13c | 更改日志 | 最新补丁 (April 13, 2019)
下载: FatFs 多个平台的样例 (October 14, 2018)
下载: 预览发布
FAT文件系统的基础知识
exFAT文件系统的基础知识
如何使用 MMC/SDC
玩转 FlashAir 和 FatFs
应用程序的演示影片(此项目位于 ffsample.zip/lpc23xx)
由于 FatFs 模块是独立于平台和存储介质的文件系统层,因此它与物理设备完全分离,例如存储卡,硬盘和任何类型的存储设备。 低级设备的控制模块不是 FatFs 模块的任何部分,需要由实现者提供。 FatFs 通过如下所示的简单媒体访问接口访问存储设备。 此外,下载中还提供了某些平台的示例实现。 提供了用于低级磁盘 I/O 模块的功能检查程序。
- 获取设备状态
- 初始化设备
- 读一个或多个扇区
- 写一个或多个扇区
- 控制设备相关函数
- 获取当前时间
先阅读: (2019年6月8日)
交流:
↗(FAT文件系统上的授权文档)
↗(STM32F/SPI & SDIO和LPC 4088/SDMMC 的良好实现)
↗(STM32F4-Discovery 快速简便的实现)
(ATmega1284/20MHz,MMC 通过 USART 在 SPI,CFC 通过 GPIO)
(LPC2368/72MHz, MMC 通过 MCI)