FatFs文件系统(通用FAT文件系统模块)----下载和使用教程 FatFs文件系统通用FAT文件系统模块介绍FatFs 是一款面向小型嵌入式系统的通用 FAT/exFAT 文件系统模块。该模块遵循 ANSI CC89标准编写并与磁盘控制层完全分离因此具备平台与存储设备无关性。它可集成到资源有限的小型微控制器中例如 8051、PIC、AVR、ARM、Z80、RX 等系列。此外还提供适用于内存极度受限系统的 Petit FatFs 模块微型可在此处获取。功能特性兼容DOS/Windows的FAT/exFAT文件系统。平台无关。易于移植。程序代码和工作区占用资源极少。支持以下各种配置选项1 ANSI/OEM 或 Unicode 格式的长文件名2支持大容量存储的 exFAT 文件系统、64 位逻辑块地址LBA以及全局唯一标识分区表GPT。3适用于实时操作系统的线程安全。4多个卷物理驱动器和分区最多10个卷。5可变扇区大小。6包含双字节字符集的多种代码页。7只读、可选的API、I/O缓冲区等…层级结构最顶层是应用层使用者只需要调用FATFS模块提供给用户的一系列应用接口函数如f_open, f_read, f_write和f_close等就可以像在PC上读写文件那样简单。中间层FATFS模块实现了FAT文件读写协议它提供了ff.c和ff.h文件一般情况下不用修改使用时将头文件包含进去即可。最底层是FATFS模块的底层接口包括存储媒介读写接口和供给文件创建修改时间的实时时钟需要在移植时编写对应的代码。官网下载FatFs官网地址https://elm-chan.org/fsw/ff/FatFs官网界面如下往下划到底可以下载源码。点击最新版本压缩包选择下载路径就可以下载最新的源码。点击最新补丁可以看到已发现并解决的BUG。点击历史版本可以下载其他版本的源码。FatFs是完整版Petit FatFs是阉割版。Petit FatFs是用于小型8位微控制器的FatFs模块的子集功能简单占用资源小。它是按照ANSI C编写的并且与磁盘I/O层完全分开。即使RAM大小小于扇区大小也可以将其合并到内存有限的微型微控制器中。源码文件说明下载后的文件压缩包需要解压。解压后点开文件具体如下documents文件FatFs说明资料这个文件都是说明资料简单了解一下就可以。source文件FatFs程序源码具体说明如下表文件说明00history.txt版本修订记录00readme.txt说明文件diskio.c底层驱动文件diskio.h底层驱动头文件ff.c应用接口文件ff.h应用接口头文件ffconf.h配置头文件宏配置ffsystem.c操作系统相关适配函数示例文件ffunicode.cUnicode 编码工具函数文件底层source/ diskio.c、source/diskio.h函数作用disk_status获取驱动状态disk_initialize初始化驱动disk_read读取数据disk_write写入数据disk_ioctl控制设备相关功能应用接口层source/ff.c、source/ff.h1文件访问函数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 – 检测错误2目录访问函数f_opendir – 打开目录f_closedir – 关闭已打开的目录f_readdir – 读取目录项f_findfirst – 打开目录并读取第一个匹配项f_findnext – 读取下一个匹配的项目3文件和目录管理函数f_stat – 检查文件或子目录是否存在f_unlink – 删除文件或子目录f_rename – 重命名/移动文件或子目录f_chmod – 更改文件或子目录的属性f_utime – 修改文件或子目录的时间戳f_mkdir – 创建子目录f_chdir – 更改当前目录f_chdrive – 更改当前驱动器f_getcwd – 获取当前目录和驱动器4卷管理和系统配置函数f_mount – 注册/注销卷的工作区域f_mkfs – 在逻辑驱动器上创建一个FAT卷f_fdisk – 在物理驱动器上创建分区f_getfree – 获取卷的可用空间f_getlabel – 获取卷标f_setlabel – 设置卷标f_setcp – 设置活动代码页

相关新闻

最新新闻

Ohnrscript:用JavaScript语法构建HTTP Unikernel系统服务

Ohnrscript:用JavaScript语法构建HTTP Unikernel系统服务

最近在翻看一些系统语言和运行时的新项目时,一个叫 Ohnrscript 的项目引起了我的注意。它用 JavaScript 语法写系统语言,还内置了一个 HTTP unikernel。第一反应是:这组合有点意思,但也让人疑惑——JavaScript 不是跑在浏览器和 N…

2026/7/27 20:35:13
Tiva™ TM4C129x嵌入式开发实战:FPU异常处理与休眠低功耗设计

Tiva™ TM4C129x嵌入式开发实战:FPU异常处理与休眠低功耗设计

1. 项目概述与核心价值 在嵌入式系统开发,尤其是基于ARM Cortex-M系列内核的项目中,有两个话题总是让开发者又爱又恨:一个是中断与异常处理,它关乎系统的实时性与可靠性;另一个是低功耗设计,它直接决定了产…

2026/7/27 20:35:13
基于YOLOv11的痤疮检测系统:医疗AI实践

基于YOLOv11的痤疮检测系统:医疗AI实践

1. 项目概述 这个基于YOLOv11的痤疮检测系统是一个面向医疗辅助应用的深度学习项目,旨在通过计算机视觉技术解决传统痤疮诊断中的痛点问题。作为一名长期从事医疗AI开发的工程师,我在实际临床需求调研中发现,皮肤科医生每天需要处理大量痤疮病…

2026/7/27 20:35:13
终极入门教程:PINNs-Torch让物理方程求解变得简单

终极入门教程:PINNs-Torch让物理方程求解变得简单

终极入门教程:PINNs-Torch让物理方程求解变得简单 【免费下载链接】pinns-torch PINNs-Torch, Physics-informed Neural Networks (PINNs) implemented in PyTorch. 项目地址: https://gitcode.com/gh_mirrors/pi/pinns-torch 物理方程求解一直是科研和工程领…

2026/7/27 20:35:13
OpenMLOps监控与可观测性:Prometheus与Grafana集成指南

OpenMLOps监控与可观测性:Prometheus与Grafana集成指南

OpenMLOps监控与可观测性:Prometheus与Grafana集成指南 【免费下载链接】OpenMLOps 项目地址: https://gitcode.com/gh_mirrors/op/OpenMLOps OpenMLOps是一个全面的开源机器学习运维平台,提供了从模型开发到部署的完整生命周期管理。在机器学习…

2026/7/27 20:35:13
EigenLayer-Contracts快速入门:从部署到运行的完整步骤

EigenLayer-Contracts快速入门:从部署到运行的完整步骤

EigenLayer-Contracts快速入门:从部署到运行的完整步骤 【免费下载链接】eigenlayer-contracts Contracts of EigenLayer 项目地址: https://gitcode.com/gh_mirrors/ei/eigenlayer-contracts EigenLayer-Contracts是EigenLayer协议的核心智能合约集合&#…

2026/7/27 20:30:13

月新闻