开发板程序烧写为USB Device+SDIO工程可用空间有偏差

2019-07-14 14:54发布

又碰到了新的问题。

还是使用的是野火F429的开发板。现在想模拟一个U盘,通过USB Device接口,让PC直接读取开发板上SD卡的数据。

首先用一个SDIO + FatFS的工程,在SD卡里建立若干个文件,大小不定(从几十k到几百M)。

此时关电拔卡插入PC(PC自带读卡器),能正确识别到卡,打开后各个文件的大小和占用空间也都没问题。

此时把卡插回开发板,开发板程序烧写为USB Device + SDIO工程。PC上能正确识别到U盘,但是内容就有些问题了。第一是可用空间有偏差,显示已用空间为4个G,可所有文件加起来只有几百M。第二是文件个数少了很多,还出现了一个不存在的文件RrAA啥的。

我想问下这种情况是什么地方设置的不对吗?

先谢谢大家了。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
ll1589179925
1楼-- · 2019-07-14 18:12
 精彩回答 2  元偷偷看……
wuerywds
2楼-- · 2019-07-14 20:20
之前遇到过SD卡读写时卡内出现乱码的问题,原因是文件系统读写时没有正确打开和关闭,楼主可从这方面查查看
ll1589179925
3楼-- · 2019-07-14 20:41
wuerywds 发表于 2018-12-28 16:57
之前遇到过SD卡读写时卡内出现乱码的问题,原因是文件系统读写时没有正确打开和关闭,楼主可从这方面查查看

感谢回答!

但我认为是这个问题的可能性不大。

因为USB工程并不包含FatFS的代码,USB只是透传,对文件系统的识别和操作是PC进行的(我的理解)。

而此时SD卡中的文件系统数据并未损坏,因为卡直接插PC里没有发现任何问题。
cnm7
4楼-- · 2019-07-14 23:34
看看你 初始化的设置是否有问题,硬件连接是否有问题,确定反复准确么
wang222221
5楼-- · 2019-07-15 00:17
ll1589179925 发表于 2018-12-28 16:46
对的,就是这么处理的。

两个工程,USB的工程里没有FatFS相关文件。在usbd_storage_msd.c里面调用SDIO的接口函数。

有可能问题出在 FatFS 上。换一个版本试试,或者说尝试一下把 SD 卡镜像下来在电脑上用 FatFS 读取一下。如果说后者可以成功,说明你用的 FatFS 和电脑上的 FAT 驱动程序不兼容,但 FatFS 可以自己兼容。
wyfwer
6楼-- · 2019-07-15 05:21
 精彩回答 2  元偷偷看……

一周热门 更多>