[STM32L4] FATFS 分区最大文件数量是多少

[复制链接]
41|1
地瓜patch 发表于 2026-7-31 21:03 | 显示全部楼层 |阅读模式
使用闪迪 16GB SD 卡,使用默认参数格式化为 FAT32,使用默认分配单元大小;
CubeMX 生成的 FATFS 代码,SD 卡底层SD_WriteBlock基于 DMA 实现。
我想请教 FATFS 分区能够存储的文件数量是否存在上限。
我使用 STM32L476 单片机,每 5 秒保存一张图片文件(300~400KB);文件名固定 8 字符格式 xxxxxxx.JPG,x 为十六进制数字。
每张图片写入流程:f_open → f_lseek → f_write→ f_close,同时调用f_utime设置文件时间戳。
部分资料提到最大文件数量为 65536 个。但当我保存文件数量超过约 18500 个后,文件系统就会损坏:单片机无法继续写入新图片,必须重新格式化 SD 卡才能恢复,原有数据全部丢失。将 SD 卡插入电脑后,Windows 会提示需要格式化。
我另外测试了分文件夹方案:每个子文件夹存放 5000 张图片,但总文件数到达大约 18500 时,文件系统依旧损坏。
请问产生该问题的根源以及解决方案是什么?提前感谢各位建议。


xixi2017 发表于 2026-8-1 10:48 | 显示全部楼层
分为整个分区总文件上限、单个目录文件上限、根目录特殊限制、FatFs 软件配置限制四层,区分 FAT12/FAT16/FAT32/exFAT。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:出一块TI-PLABS-AMP-EVM

2996

主题

17970

帖子

31

粉丝
快速回复 在线客服 返回列表 返回顶部
0