FatFs-通用FAT文件系统模块

FatFs是用于小型嵌入式系统的通用FAT / exFAT文件系统模块。FatFs模块是按照ANSI C(C89)编写的,并且与磁盘I / O层完全分开。因此,它独立于平台。它可以并入资源有限的小型微控制器中,例如8051,PIC,AVR,ARM,Z80,RX等。此处还提供了适用于小型微控制器的Petit FatFs模块。

FatFs-通用FAT文件系统模块_第1张图片

特征

  • DOS / Windows兼容的FAT / exFAT文件系统。
  • 平台无关。易于移植。
  • 程序代码和工作区的占用空间非常小。                                                                       
  • 支持以下各种配置选项:
    • ANSI / OEM或Unicode中的长文件名。
    • exFAT文件系统,64位LBA和GPT可存储大量数据。
    • RTOS的线程安全。
    • 多个卷(物理驱动器和分区)。
    • 可变扇区大小。
    • 多个代码页,包括DBCS。
    • 只读,可选API,I / O缓冲区等...

应用介面

FatFs-通用FAT文件系统模块_第2张图片

FatFs为应用程序提供各种文件系统功能,如下所示。

  • 档案存取
    • f_open-打开/创建文件
    • f_close-关闭打开的文件
    • f_read-从文件读取数据
    • f_write-将数据写入文件
    • f_lseek-移动读/写指针,扩展大小
    • f_truncate-截断文件大小
    • f_sync-刷新缓存的数据
    • f_forward-将数据转发到流
    • f_expand-将连续块分配给文件
    • f_gets-读取字符串
    • f_putc-写一个字符
    • f_puts-写一个字符串
    • f_printf-编写格式化的字符串
    • f_tell-获取当前的读/写指针
    • f_eof-测试文件结尾
    • f_size-获取大小
    • f_error-测试错误
  • 目录访问
    • f_opendir-打开目录
    • f_closedir-关闭打开的目录
    • f_readdir-读取目录项
    • f_findfirst-打开目录并读取匹配的第一项
    • f_findnext-阅读下一个匹配的项目
  • 文件和目录管理
    • f_stat-检查文件或子目录是否存在
    • f_unlink-删除文件或子目录
    • f_rename-重命名/移动文件或子目录
    • f_chmod-更改文件或子目录的属性
    • f_utime-更改文件或子目录的时间戳
    • f_mkdir-创建一个子目录
    • f_chdir-更改当前目录
    • f_chdrive-更改当前驱动器
    • f_getcwd-检索当前目录和驱动器
  • 卷管理和系统配置
    • f_mount-注册/注销卷的工作区
    • f_mkfs-在逻辑驱动器上创建FAT卷
    • f_fdisk-在物理驱动器上创建分区
    • f_getfree-获取卷上的可用空间
    • f_getlabel-获取卷标
    • f_setlabel-设置卷标
    • f_setcp-设置活动代码页

媒体访问界面

FatFs-通用FAT文件系统模块_第3张图片

由于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中)

返回

你可能感兴趣的:(文件系统)