文件系统中elmfat识别sd卡格式出错

发布于 2015-09-19 21:02:19    浏览:2125
准备用stm32f4系列来读取sd卡,发现挂载时不正常
QQ图片20150919183313.png
主要是在chk_mounted函数
QQ截图20150919183348.png
的如下地方挂了:
QQ截图20150919175443.png
即提示文件系统格式不对。
可是明明格式正确的,我使用电脑格式化的。
另外,我使用的开发板是正点原子的探索者F4,其有裸机的fatfs例程就能读取正确。
当然,既然可能是格式问题,那就使用自带的mkfs进行格式化,发现还是不能挂载,并且用mkfs命令(确认了是调用f_mkfs的)格式化后的sd卡在电脑上不能识别。
作为对比,探索者F4例程中的fatfs来格式化能成功,并且电脑也能正常识别。
当然,某些情况下也是能挂载成功的,记得是先用RTT格坏分区,再在电脑上用FAT32 4096方式进行格式化后成功过(该过程可以再现)。
比较了下区别,觉得elmfat基于的fatfs版本太老(RTT中是基于0.08b,探索者F4例程中是0.10b,最新版已是0.11a),在新版中chk_mounted函数已经不存在了,就是它经常把文件格式识别错,故怀疑是RTT中的fatfs本身的问题,希望有用过的给出解决办法。
同时如果有大神移植过新版正常使用的,求分享。
PS:已经确保驱动正常,使用device_test检测效果如下:
QQ截图20150919175618.png

查看更多

4 个回答
bernard
bernard 2015-09-20
This guy hasn't written anything yet
和fatfs版本无关,重点关注下你的驱动。另外,执行device_test后,好像上面的文件系统会被毁掉吧。

如果依然有问题,看看是否做了分区表识别。
huzhiyuan
huzhiyuan 2015-09-30
This guy hasn't written anything yet
之前这问题闲置了一周,现在又有了新进展,可以看看

[s:157]
bernard
bernard 2015-09-30
This guy hasn't written anything yet
上面都说了啊,是否做了分区表识别。RTT里有分区相关的函数,参考下其他bsp就可以看到了

撰写答案

请登录后再发布答案,点击登录
关注者
0
被浏览
2.1k

发布
问题

分享
好友

手机
浏览

扫码手机浏览