准备用stm32f4系列来读取sd卡,发现挂载时不正常
主要是在chk_mounted函数
的如下地方挂了:
即提示文件系统格式不对。
可是明明格式正确的,我使用电脑格式化的。
另外,我使用的开发板是正点原子的探索者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检测效果如下:
之前这问题闲置了一周,现在又有了新进展,可以看看
http://www.devlabs.cn/?p=226
[s:157]