2

我正在使用带有 FAT32 系统的闪存。我不断地使用来自 rtos(SMX) 的文件系统 API 将数据写入文件。但是,在突然断电后,该文件在系统重新启动时在第一个文件条目上方包含垃圾值。

我运行 chkdsk 实用程序,但它没有解决任何问题。

知道即使在不干净的电源关闭的情况下,我怎样才能摆脱这些垃圾条目?

4

1 回答 1

0

如果您预计会突然断电,则需要禁用文件写入时的所有缓存/缓冲。当然,您还需要处理部分写入的文件,但这至少应该防止尾随垃圾。

我不知道您正在使用的 API,但这可以通过“同步”安装驱动器(例如,mount -o sync在 Linux 中)或通过使用特定选项打开单个文件来完成。但是,如果您确实禁用了对单个文件写入的缓冲,那么您仍可能面临损坏 FAT 并丢失所有文件的风险。

于 2011-05-17T17:20:14.563 回答