我正在使用FAT32系统的闪存。我使用来自rtos(SMX)的文件系统API继续将数据写入文件。但是,在突然断电之后,该文件在系统重启时的第一个文件条目上方包含垃圾值。
我运行chkdsk实用程序,但它没有解决任何问题。
任何想法即使在不干净的断电情况下如何摆脱这些垃圾进入?
答案 0 :(得分:0)
如果您预计突然断电,则需要在文件写入时禁用所有缓存/缓冲。当然,你还需要处理部分写入的文件,但这至少应该防止垃圾尾随。
我不知道您正在使用的API,但这可以通过“同步”安装驱动器(例如,Linux中的mount -o sync
)或打开具有特定选项的单个文件来完成。如果您在单个文件写入时禁用缓冲,则可能仍然存在损坏FAT的风险,并丢失所有文件。