[STM32U5] 开启数据缓存后 FATFS 的 f_open 失败

[复制链接]
172|25
闪烁黎明 发表于 2026-9-15 18:13 | 显示全部楼层
DMA前加Clean操作可以避免缓存失效问题,但记得检查FATFS元数据的保护,别让它也被覆盖。
闪烁阴影 发表于 2026-9-16 15:34 | 显示全部楼层
改用静态全局数组分配缓冲区,确保32字节对齐,避免FATFS内部元数据被覆盖。
FranklinUNK 发表于 2026-9-17 15:35 | 显示全部楼层
FATFS缓冲区问题,试试静态分配32字节对齐的数组,避免DMA操作破坏对齐。
埃娃 发表于 2026-9-18 15:33 | 显示全部楼层
建议在DMA读取之前将缓冲区分成两部分:一部分是FATFS需要的数据,另一部分是FATFS内部的扇区缓存控制块。对FATFS部分使用Invalidate,对控制块部分使用Clean,这样既保证数据对齐,又能正确处理缓存失效。
ForgottenRealm 发表于 2026-9-20 13:59 | 显示全部楼层
DMA前对齐是对的,但清除操作应在DMA后,确保数据完整性。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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