打印
[应用相关]

_sync解决fatfs文件掉电数据丢失问题

[复制链接]
2232|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wanduzi|  楼主 | 2017-10-11 10:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
对于使用实时操作系统的项目,都必须注意临界数据的处理,不管是LWIP,还是FATFS,如果没有使用临界保护,见导致系统崩溃,为此,下面特别说明如何对FATFS进行临界数据的保护。
       当对FAT文件系统的写操作由于默写意外而中断,如突然断电,不正确的磁盘移除或不可恢复的磁盘错误,FAT结构可以被毁坏。下面的图片显示了FatFs的临界段。


红色区域的中断会导致一个交叉链接,结果,正在修改的文件/目录可能会丢失。而黄色区域中断可能导致的效果在下面列出:

正在重写的文件数据被毁坏
正在添加内容的文件回到初始状态
丢失新建的文件
一个新建或覆盖的文件保持长度为0
因为丢失关联,磁盘的使用效率变坏。


沙发
wanduzi|  楼主 | 2017-10-11 10:59 | 只看该作者
在文件不是用写模式打开时,这些情况不会发生。为了最小化磁盘数据的丢失,临界段可以像图表5显示的那样最小化,通过最小化文件处于写模式打开的时间或者适当的使用f_sync函数。

使用特权

评论回复
板凳
wwppd| | 2017-10-11 18:41 | 只看该作者
FATFS怎么掉电丢数据?

使用特权

评论回复
地板
wwppd| | 2017-10-11 18:42 | 只看该作者
以前只用过FATFS系统数据读写速度还是可以的,但是不知道掉电丢失是什么原因?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

141

主题

1711

帖子

3

粉丝