我已将 CHAN FatFs R0.09b 集成到我们自己设计的基于 Hercules RM48L952的模块上运行的项目中 、在极少数情况下、对 micro SD 卡的写入将挂起/冻结。 调用 f_unlink、f_write 或 f_open 命令时似乎会发生这种情况。 FatFs 内有低电平循环、如果状态永远不会变为 FR_OK、这些循环可以一直持续。
此代码最初是从"RM48 HDK REve SDCard Demo"移植过来的、只需进行很少的更改。 一个变化是将 SPI2更改为我们的硬件模块所需的 SPI1。 另一种方法是在访问 micro SD 时点亮 LED。
我有几个问题:
1) R0.9b 是否 是要使用的 Chann FatFs 的最佳版本? 此版本是否存在任何已知问题、例如在 micro SD 卡访问期间冻结?
2) 这可能是由于微型 SD 卡过度使用而造成的? 我们大约每8分钟向该卡写入一次。 但这些卡的使用时间不到一年。
3) 我们处于电气 噪声环境中(使用 SCR 开关的480VAC 三相)。 如果 SPI 接口由于噪声尖峰而中断、这是否是冻结的根本原因?
如果有任何帮助,我们将不胜感激。 谢谢你。