FatFs - 通用FAT文件系统模块


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为应用程序提供各种文件系统功能,如下所示。

  • 文件访问

    • 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模块是独立于平台和存储介质的文件系统层,因此它与物理设备(如存储卡,硬盘和任何类型的存储设备)完全分离。低级别设备控制模块不是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中)

FatFs- 通用FAT文件系统模块相关推荐

  1. 在SD/MMC卡中可读写的FAT文件系统

    2019独角兽企业重金招聘Python工程师标准>>> FAT文件系统 关于eLua中FAT文件系统的实现是使用了来自Elm Chan的一个很好的FatFS文件包.它可以在读写模式中 ...

  2. fatfs 文件属性_FatFS文件系统

    FATFS是一个为小型嵌入式系统设计的通用FAT(File Allocation Table)文件系统模块.FatFs的编写遵循ANSI C,并且完全与磁盘I/O层分开.因此,它独立(不依赖)于硬件架 ...

  3. Keil MDK STM32系列(九) 基于HAL和FatFs的FAT格式SD卡TF卡读写

    Keil MDK STM32系列 Keil MDK STM32系列(一) 基于标准外设库SPL的STM32F103开发 Keil MDK STM32系列(二) 基于标准外设库SPL的STM32F401 ...

  4. 野火STM32F103——Fat文件系统及Flash芯片W25Q64学习记录

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 目录 文章目录 前言 一.Fatfs是什么? 二.W25Q64是什么 三.使用步骤 1.引入库 2.移植文件系统 文件简单读 ...

  5. fatfs 文件属性_FATFS文件系统剖析(全).

    FATFS 文件系统剖析 1 : FAT16 : 数据按照其不同的特点和作用大致可分为 5 部分: MBR 区. DBR 区. FAT 区. DIR 区和 DATA 区,相比 fat12 多了 DBR ...

  6. 【技术三千问】之《FAT文件系统问题解析》,干货汇总!

    技术三千问: [技术三千问]之<玩转ART-Pi>,看这篇就够了!干货汇总 [技术三千问]之<AT组件问题汇总与解析>,干货汇总! [技术三千问]之<UART串口问题解析 ...

  7. fatfs 文件属性_FATFS文件系统剖析(全)

    FATFS 文件系统剖析 1 : FAT16 : 数据按照其不同的特点和作用大致可分为 5 部分: MBR 区. DBR 区. FAT 区. DIR 区和 DATA 区,相比 fat12 多了 DBR ...

  8. 计算机抄作通用模块,通用命令行模块的设计及实现

    摘要: 自从上个世纪八十年代以来,图形用户界面得到快速发展,计算机逐渐进入各类企业,家庭,其应用得到广泛的推广.对比起命令行界面来说,图形界面在交互性上有着不可比拟的优势.但在一些需要执行大量重复性工 ...

  9. FatFs - Generic FAT Filesystem Module

    FatFs - Generic FAT Filesystem Module 转载于:https://www.cnblogs.com/skullboyer/p/7877849.html

  10. Winform开发框架之通用高级查询模块--SNF快速开发平台3.3-Spring.Net.Framework

    最近项目确实忙,但也是一直忙于有关项目和框架技术的事情,也一直致力于改善我的WInform开发框架.使得自己及客户使用起来更加方便,更加友好,更加高效. 在很多程序模块中都很常见,也是给客户扩展查询的 ...

最新文章

  1. 2.1 . df 命令和du命令
  2. python 角度传感器模拟_python树莓派红外反射传感器
  3. 一个ubuntu server下的oracle10g简单生产库全库备份脚本
  4. 终于搞懂了Java 8 的内存结构,再也不纠结方法区和常量池了!!
  5. Excel数据分析实例
  6. 四、ARDUINO UNO开发板介绍
  7. 投影技术的分类与应用
  8. Turbo产品系列回来了!
  9. 同样是程序员 为什么薪资不同
  10. 1071: 数塔 (动态规划)
  11. 关于商业企业创业的思考
  12. ExecutionException 异常类解析
  13. windows日志安全性事件类型
  14. 笔记 | 绝对值不等式
  15. 做好防雷检测的重要意义和作用
  16. 微信小程序之流星雨个人页
  17. 荣耀Magic V重新定义折叠屏:首先是一部好用的主力机
  18. 王衠:爱游戏电视游戏平台将实现宽带支付
  19. golang泛型快速入门使用(go 1.18及以后版本)
  20. 定时器+中断 闪烁led

热门文章

  1. 【MapReuce】读取本地美国疫情数据存储结果到MySQL
  2. 华为云官网前端的技术演进与低代码实践
  3. 拉格朗日乘子法、惩罚函数法
  4. 120xa变频器调试参数_图文并茂 | 西门子G120变频器的面板调试操作
  5. hive 如何将数组转成字符串_HIve字符串函数
  6. 局域网组网 | 交换机常用命令
  7. 《仿人机器人原理与实战》一2.2 行为链与仿人机器人设计
  8. 多源数据融合:大数据分析的瓶颈
  9. GBase 8c V3.0.0数据类型——备份控制函数
  10. 蓝牙耳机连接笔记本声音卡顿解决办法