FatFs- 通用FAT文件系统模块

FatFs - 通用FAT文件系统模块


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

FatFs是用于小型嵌入式系统的通用FAT / exFAT文件系统模块。FatFs模块是按照ANSI C(C89)编写的,并完全与磁盘I / O层分离。所以它是独立于平台的。它可以被纳入到小微控制器利用有限的资源,如8051,PIC,AVR,ARM,Z80,RX等也为微小的微控制器佩蒂特FATFS模块可在这里

特征

  • DOS / Windows兼容的FAT / exFAT文件系统。
  • 平台无关。易于移植。
  • 程序代码和工作区的占位面积非常小。
  • 各种配置选项,以支持:
    • ANSI / OEM,UTF-16或UTF-8中的长文件名。
    • exFAT文件系统。
    • 线程安全的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 - 读取扇区(s)
  • disk_write - 写入扇区
  • disk_ioctl - 控制设备相关功能
  • get_fattime - 获取当前时间

资源

FatFs模块是一个为教育,研究和开发而开放的免费软件。您可以使用,修改和/或重新分配个人项目或商业产品,不受任何责任限制。有关更多信息,请参阅应用笔记。

  • 先阅读:FatFs模块应用笔记 2017年10月14日
  • 下载:FatFs R0.13a | 更改 | 最新补丁 2017年10月27日
  • 下载:FatFs各种平台的示例项目 2017年10月14日
  • 下载:以前的版本
  • 社区:FatFs用户论坛
  • FAT32规范由微软 ↗(关于FAT文件系统的授权文件)
  • FAT文件系统的基础知识
  • exFAT文件系统的基础知识
  • 如何使用MMC / SDC
  • 玩FlashAir和FatFs
  • Nemuisan的博客 ↗(写得很好的STM32F / SPI&SDIO和LPC4088 / SDMMC的实现)
  • 基准1(ATmega1284 / 20MHz,通过SPI中的USART,通过GPIO的CFC)
  • 基准2(LPC2368 / 72MHz,MMC通过MCI)
  • 演示一个应用程序的电影(这个项目在ffsample.zip / lpc23xx中)

你可能感兴趣的:(ESP32,STM32,MicroPython)