0%

STM32 FatFs f_write 返回 FR_DISK_ERR

今天用CubeIDE移植了SD卡的FatFs文件系统。设备可以成功挂载,文件可以成功打开,f_read正常,但是f_write会返回FR_DISK_ERR,在fclose后如果再fopen,就会返回FR_LOCKED

经过排查是因为GCC开启了O2优化的问题,只要不开优化就没问题了。目前还没有找到在哪出现了问题。在Keil下,ARMCC没有发现问题。

我的环境: CubeMx生成代码、GCC编译器、使能DMA