搜索
bottom↓
回复: 21

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

[复制链接]

出0入0汤圆

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

其他几个文件都是正常的,每次有问题都是这个door.csv文件,操作都是一模一样的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-12-12 10:29:38 | 显示全部楼层
分区表出错了吧

出0入442汤圆

发表于 2018-12-12 10:40:20 | 显示全部楼层

或者卡是扩容的。

出0入0汤圆

 楼主| 发表于 2018-12-12 10:40:21 | 显示全部楼层

请问有什么解决办法吗?SD卡第一次用的时候是不是要用fatfs自带的格式化函数格式化一遍, 我没有用。

出0入0汤圆

 楼主| 发表于 2018-12-12 10:44:07 | 显示全部楼层
wye11083 发表于 2018-12-12 10:40
或者卡是扩容的。

买的同一批卡,几十个设备每个设备一张卡,基本都会出这个问题,只是有的是很快就出了,有的可能要过一段时间才出, 比较稀奇的是我就算用fatfs自带的删除文件操作将这几个文件都删除了后,再新建这几个文件, sd卡容量还是没什么变化,还是被占用了好几个G, 有时候删除了后,关机放一段时间,上电SD卡容量又对了。。。当然也有不对的。

出0入442汤圆

发表于 2018-12-12 11:08:27 来自手机 | 显示全部楼层
你把你的spi降速看看。可能是传输出错了。还有,注意你的spi是1.8v还是3.3v,sd卡我记得是3.3v的,你用1.8v的话传输某些pattern会出错。

出0入0汤圆

 楼主| 发表于 2018-12-12 11:25:45 | 显示全部楼层
wye11083 发表于 2018-12-12 11:08
你把你的spi降速看看。可能是传输出错了。还有,注意你的spi是1.8v还是3.3v,sd卡我记得是3.3v的,你用1.8v ...

好的,感谢你的回答。我现在是SPI是24M,降低到12M看看, SD卡供电和spi的引脚都是3.3V的, 附上一张hex打开u盘的分区表,从这图片来看好像是分区表错误。

网上搜到的一些内容: MBR(Master Boot Record, 主引导记录)位于SD卡的第0扇区(物理), 共512个字节. 其中前446个字节为引导代码, 接下来64个字节为分区表, 再接下来两个字节为签名, 固定为 0×55, 0xAA.

从我这分区表来看,那64个字节全为0,

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2018-12-12 11:34:02 | 显示全部楼层
好像上图的打开是错误的,再上一张MBR图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

 楼主| 发表于 2018-12-12 11:51:21 | 显示全部楼层

我又上了些内容和图片,帮忙看看是什么问题,谢谢啦

出0入0汤圆

发表于 2019-1-16 10:58:07 | 显示全部楼层
请问,fat下,csv可以分页吗?也就是同一个csv内创建几个表格?如何创建

出0入33汤圆

发表于 2019-1-16 13:07:41 | 显示全部楼层
mbr只是分区表,你这个应该是文件分配表有问题

出0入0汤圆

发表于 2019-1-16 15:03:18 | 显示全部楼层
楼主解决没有 最后是什么原因?

出0入0汤圆

发表于 2019-1-17 00:43:06 | 显示全部楼层
丢点其它机器的石头给楼主:
用STM32的SD接口,单总线或四总线操作SD卡,写好程序就丢给同事进一步开发。然后另外一个同事报怨卡上数据老是不对,要求我检查。FATFS是网上找的。SD程序是ST的库,我找谁?
不过我就写了个单扇区测试功能的程序,逐一写扇区,然后读出核对。平均60多次写操作,会出现一次错误,而且出错的地方不固定,但相对多地出现在65,129这种地方,整批卡都是这样,没有测试别的厂家的卡,因为2G的卡不好买。
考虑到出错的地方不固定,于是就在每次写卡时,写完就读出校对,出错误就再写一次。神了,统计结果重复一次就正确,两次以上的没有遇到过。测试了一天,写了多少个扇区也没有记下,就将改过的程序提交了。于是同事们就再也没有就SD卡出错的问题说什么了。

出0入0汤圆

发表于 2019-1-17 08:00:24 | 显示全部楼层
为什么不用flashfs,已经做了好几批了,很稳定。

出0入0汤圆

发表于 2019-1-17 11:30:28 | 显示全部楼层
FAt系统 marker 一下,过后再看

出0入0汤圆

 楼主| 发表于 2019-1-21 15:58:27 | 显示全部楼层
ckhf 发表于 2019-1-16 10:58
请问,fat下,csv可以分页吗?也就是同一个csv内创建几个表格?如何创建

我没有用到这项功能。不清楚怎么实现。

出0入0汤圆

 楼主| 发表于 2019-1-21 16:03:40 | 显示全部楼层
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卡的读写。现在这是这样怀疑。还没有验证。

出0入0汤圆

 楼主| 发表于 2019-1-21 16:05:28 | 显示全部楼层
edaworld 发表于 2019-1-17 08:00
为什么不用flashfs,已经做了好几批了,很稳定。

还真没考虑过。用SD卡的话是因为直接取出SD卡插到电脑上就可以看到文件。很方便。另一个是容量大。
请教一下你用的flash是多大容量。

出0入362汤圆

发表于 2019-1-21 18:08:50 | 显示全部楼层
建议不要一直往一个文件里面写, 而是隔一定时间或者写入若干条记录以后换个文件名再继续
这样即使写坏了, 只要整个文件系统没崩, 只会损失一小部分数据.

出0入0汤圆

发表于 2019-1-22 17:45:10 | 显示全部楼层
技术宅 发表于 2019-1-21 16:05
还真没考虑过。用SD卡的话是因为直接取出SD卡插到电脑上就可以看到文件。很方便。另一个是容量大。
请教 ...

flashfs一样的啊,我九轴数据,400hz,半个小时都没问题。也可以直接看

出0入0汤圆

 楼主| 发表于 2019-1-24 13:13:37 | 显示全部楼层
edaworld 发表于 2019-1-22 17:45
flashfs一样的啊,我九轴数据,400hz,半个小时都没问题。也可以直接看

学习了,原来这个文件系统可以针对sd卡,RL-FlashFS -- V4.22;Keil自带的文件系统,支持FAT12,FAT16和FAT32文件系统,这个文件系统可以用于SD卡、Nand Flash、U盘,提供Nand Flash的坏块管理功能。

出0入0汤圆

发表于 2019-1-25 10:44:00 | 显示全部楼层
技术宅 发表于 2019-1-24 13:13
学习了,原来这个文件系统可以针对sd卡,RL-FlashFS -- V4.22;Keil自带的文件系统,支持FAT12,FAT16和F ...

不客气,已经量产,感谢eric硬汉哥,非常好用。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 09:59

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表