嵌入式:第三方组件移植(fs)
文章平均质量分 90
分享文件系统相关
S火星人S
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
FATFS学习(4):diskio.c 修改【移植全部流程】
1. 到此FS的移植代码解释全部完成了。原创 2025-03-26 10:23:47 · 690 阅读 · 0 评论 -
FATFS学习(3.3):ff.c(f_write)
函数,FATFS 实现了高效可靠的文件写入机制,兼顾性能与资源效率,满足嵌入式系统对存储操作的严苛要求。在部分写入场景下,若目标扇区不在缓存中,需先读取原扇区内容,避免覆盖未修改数据。对小数据或非对齐写入,先写入文件对象或全局缓存,延迟写回磁盘,减少碎片化操作。:动态扩展文件簇链(分配新簇),处理大文件和跨簇写入。:当剩余数据超过扇区大小时,直接写入连续扇区。:若为部分扇区写入,标记缓存为脏,延迟写回。:直接写入新簇的连续扇区,更新文件大小。:剩余数据写入新簇的扇区,更新。:写入部分数据至当前簇末尾。原创 2025-03-13 21:59:51 · 1156 阅读 · 0 评论 -
FATFS学习(3.2):ff.c(f_open)
例如,`DIR dj` 用于目录操作,`FATFS *fs` 指向文件系统对象,还有一些条件编译的宏(如 `FF_FS_READONLY`、`FF_FS_EXFAT` 等),这些宏会影响代码的编译路径,需要特别注意。在分析过程中,可能会遇到一些不熟悉的函数或宏,例如 `DEF_NAMBUF`、`INIT_NAMBUF`、`FREE_NAMBUF`,这些可能与长文件名支持相关,需要结合FATFS的文档或源码其他部分来理解其作用。这里会根据访问模式 `mode` 进行相应的挂载操作,可能涉及权限检查。原创 2025-03-13 09:53:11 · 1241 阅读 · 0 评论 -
FATFS学习(3.4):ff.c(f_read)
在分析过程中,需要注意FATFS的条件编译选项,如FF_USE_FASTSEEK、FF_FS_READONLY、FF_FS_TINY等,这些宏定义会影响代码的执行路径。可能遇到的疑问点包括:簇和扇区的转换逻辑、快速查找(CLMT)的实现细节、缓存脏数据的处理流程,以及不同配置(如Tiny模式)对缓存管理的影响。然后,处理部分扇区数据的读取。通过这样的逐步分析,可以深入理解`f_read`函数的实现机制,掌握FATFS库在嵌入式系统中高效读取文件数据的方法,以及如何处理各种边界条件和错误情况。原创 2025-03-05 15:37:17 · 1261 阅读 · 0 评论 -
FATFS学习(3.1):ff.c(f_mount)
管理逻辑驱动器的挂载与卸载,关联文件系统对象。原创 2025-03-01 11:42:31 · 972 阅读 · 0 评论 -
FATFS学习(2.4):ff.h
直接转发数据流 | 避免中间缓冲,适合内存受限系统 | 网络数据传输到文件 || 立即写入缓存数据 | 确保关键数据落盘(如断电前调用) | 实时数据保护 |: 分配模式(立即填充0或延迟分配) | 视频录制预分配大文件 || 预分配连续空间 |原创 2025-02-24 10:08:03 · 980 阅读 · 0 评论 -
FATFS学习(2.3):ff.h
MKFS_PARM是一个高度面向文件系统底层细节的结构体,通过精确控制格式化参数,开发者可以适配不同硬件特性和应用需求。其设计体现了对 FAT 家族文件系统的历史兼容性和现代存储需求的平衡。在实际使用中,需结合具体文件系统规范和硬件特性选择参数。原创 2025-02-24 09:33:41 · 1237 阅读 · 0 评论 -
FATFS学习(2.2):ff.h
是 FatFs 库中用于管理文件或目录对象的元数据结构体,记录对象在文件系统中的存储位置、状态、属性及并发控制信息。其成员变量根据配置选项(如。原创 2025-02-18 20:57:03 · 1128 阅读 · 0 评论 -
FATFS学习(2.1):ff.h
默认情况下,FatFs使用预定义的卷名字符串(如。原创 2025-02-17 09:54:04 · 1219 阅读 · 0 评论 -
FATFS学习(1):ffconf.h
FF_LBA64 用于控制是否支持 64 位 LBA,以访问大于 2 TB 的存储设备。启用 64 位 LBA 需同时启用 exFAT 文件系统(FF_FS_EXFAT == 1)。底层驱动需支持 64 位地址操作,确保功能正常。原创 2025-02-13 21:00:16 · 1537 阅读 · 0 评论 -
FATFS的学习跟移植思路
从。原创 2025-02-13 09:21:25 · 890 阅读 · 0 评论
分享