FATFS 初学之 f_sync

转载 2015年07月09日 17:37:36

函数功能:冲洗一个写文件的缓存信息

描述:

f_sync函数当 _FS_READONLY == 0时可用。
f_sync函数和 f_close函数执行同样的过程,但是文件仍处于打开状态,并且可以继续对文件执行读/写/移动
指针操作。这适用于以写模式长时间打开文件,比如数据记录器。定期的或f_write后立即执行f_sync可以将
由于突然断电或移去磁盘而导致数据丢失的风险最小化。在 f_close前立即执行 f_sync没有作用,因为在
f_close中执行了f_sync。换句话说,这两个函数的差异就是文件对象是不是无效的。

 

---------------------------------------- 我是分割线 ----------------------------------------

原文地址:http://blog.sina.com.cn/s/blog_66ffe2770100w2p7.html

当对FAT文件系统的写操作由于默写意外而中断,如突然断电,不正确的磁盘移除或不可恢复的磁盘错误,FAT结构可以被毁坏。下面的图片显示了FatFs的临界段。

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

正在重写的文件数据被毁坏。

正在添加内容的文件回到初始状态。

丢失新建的文件。

一个新建或覆盖的文件保持长度为0。

因为丢失关联,磁盘的使用效率变坏。

 

在文件不是用写模式打开时,这些情况不会发生。为了最小化磁盘数据的丢失,临界段可以像图表5显示的那样最小化,通过最小化文件处于写模式打开的时间或者适当的使用f_sync函数。

---------------------------------------- 我是分割线 ----------------------------------------

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

临界段 When write operation to the FAT file system is interrupted due to any accidental failure, s...

STM32学习笔记之fatfs文件系统接口函数使用

FatFS文件系统包含了文件 ff.h         :文件系统实现头文件,定义有文件系统所需的数据结构 diskio.h  :底层驱动头文件,就一些状态宏的定义和底层驱动函数的申明 ...

SD卡应用总结(FatFs)

对于SD卡的应用,想必大家都尝试多。不过,很多网友恐怕只停留在实验的基础上吧。对于SD卡在文件系统下或者不带文件系统下,对SD卡的操作都是很简单的。是的,只是简单的文件读写确实不难。但是,如果每秒钟不...
  • dcx1205
  • dcx1205
  • 2014年11月03日 23:21
  • 1985

基于STM32F407的FatFs文件系统在SD卡驱动上的移植

基于STM32F407的FatFs文件系统在SD卡驱动上的移植 DanielLee_USTB 2014-2-26          最近在做SD卡驱动,以前移植过efsl,觉得用的人不是很多,现在移植...

fatfs 学习笔记--f_mkfs用法(最新版本R0.13)

f_mkfs The f_mkfs fucntion creates an FAT file system on the logical drive. FRESULT f_mkfs ( con...
  • lbaihao
  • lbaihao
  • 2017年07月15日 12:37
  • 1125

STM32F103RC,FATFS,w25x16移植笔记

这些天移植了FatFS文件系统到STM32F103RC板上,使用STM32的SPI_FLASH库,出现了一些问题现在记录下来。 FAT文件系统原理详见《FAT文件系统原理.pdf》在此感谢此作者为我科...

FatFS f_open()函数详解

最新版 FatFS f_open详解 时间 2014-03-21 16:21:21  程序员玩耍的小窝 原文  http://www.forwhat.cn/post-202.html 主题 技术...

fatfs 学习笔记--f_open用法(最新版本)

FatFs Date Revision May 21, 2017 FatFs R0.13 (latest release) Mar 04, 2017 FatFs R0.12...
  • lbaihao
  • lbaihao
  • 2017年07月15日 09:53
  • 217

FATFS-f_deldir-删除文件夹(删除子文件夹及文件连同其本身)

//==================================================================================================...

fatfs 学习笔记--f_mount用法

f_mount The f_mount fucntion registers/unregisters filesystem object to the FatFs module. FRESUL...
  • lbaihao
  • lbaihao
  • 2017年07月15日 09:59
  • 1070
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:FATFS 初学之 f_sync
举报原因:
原因补充:

(最多只允许输入30个字)