Filesystems 突然断电后文件中的垃圾数据
我正在使用FAT32系统的闪存。我一直在使用rtos(SMX)的文件系统API将数据写入文件。但是,在突然断电后,该文件包含的垃圾值刚好高于系统重新启动时的第一个文件条目 我运行chkdsk实用程序,但它没有解决任何问题Filesystems 突然断电后文件中的垃圾数据,filesystems,fat32,Filesystems,Fat32,我正在使用FAT32系统的闪存。我一直在使用rtos(SMX)的文件系统API将数据写入文件。但是,在突然断电后,该文件包含的垃圾值刚好高于系统重新启动时的第一个文件条目 我运行chkdsk实用程序,但它没有解决任何问题 你知道即使在不干净的断电情况下,我如何清除这些垃圾条目吗?如果你预计会突然断电,你需要禁用文件写入的所有缓存/缓冲。当然,您还需要处理部分写入的文件,但这至少可以防止后续垃圾 我不知道您正在使用的API,但这可以通过“同步”安装驱动器(例如,Linux中的mount-o syn
你知道即使在不干净的断电情况下,我如何清除这些垃圾条目吗?如果你预计会突然断电,你需要禁用文件写入的所有缓存/缓冲。当然,您还需要处理部分写入的文件,但这至少可以防止后续垃圾
我不知道您正在使用的API,但这可以通过“同步”安装驱动器(例如,Linux中的
mount-o sync
)或通过使用特定选项打开单个文件来完成。如果您确实在单个文件写入上禁用了缓冲,那么您仍然可能会有损坏FAT并丢失所有文件的风险。如果您预计会突然断电,则需要在文件写入上禁用所有缓存/缓冲。当然,您还需要处理部分写入的文件,但这至少可以防止后续垃圾
我不知道您正在使用的API,但这可以通过“同步”安装驱动器(例如,Linux中的
mount-o sync
)或通过使用特定选项打开单个文件来完成。如果您确实禁用了对单个文件写入的缓冲,您仍然可能会有损坏FAT和丢失所有文件的风险。我不希望突然断电,但是,我需要确保每次写入此文件时都不会有任何垃圾数据。如果您不能说不会发生,例如。,因为有备用电源,所以在实践中你“期望它发生”。我不期望突然断电,但是,我需要确保所有事情都写入此文件,并且不应该有任何垃圾数据。如果你不能说它不会发生,例如,因为有备用电源,那么在实践中你“期望它发生”。