FAT文件系统,CSV文件特别大

2019-12-14 12:11发布

用的fatfs文件系统R0.10b, SPI模式操作microSD卡, 8G卡,在根目录下有door.csv文件,系统有时候运行一段时间后会莫名其妙的出现SD卡容量不足,把SD卡拿下来插到电脑上发现这个csv文件变成了好几G,但是实际上程序只存了几十Kb,用excel打开这个文件,内容为空,用winhex打开的话,该有的记录是有的,但是后面全是0,导致占用了很多G空间,请问一下大家有可能是什么问题,程序已经筛查了一遍了,没有过界操作。

其他几个文件都是正常的,每次有问题都是这个door.csv文件,操作都是一模一样的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
21条回答
技术宅
2019-12-17 00:49
zhuozz 发表于 2019-1-16 15:03
楼主解决没有 最后是什么原因?

用fatfs自带的格式化函数格式化一遍SD卡,再在每次写SD卡的时候锁住调度器或者关中断,目前还没发现会再出这种问题。 其实在写sd卡的时候,fatfs的syscall是有进行互斥量的申请的

int ff_req_grant (        /* TRUE:Got a grant to access the volume, FALSE:Could not get a grant */
        _SYNC_t sobj        /* Sync object to wait */
)
所以不存在写顺序错乱的问题。

只能怀疑是在写SD卡的时候,操作系统有更高优先级的任务就绪了。打断了SD卡的读写。现在这是这样怀疑。还没有验证。

一周热门 更多>