系统的谈下STM32H7的SD卡驱动兼容性问题,现在兼容性很强,主流厂家16GB以上容量全部通过
【知识点普及】
1、首先我们要明白一点,JD和淘宝上购买的SD卡,只要没有特别注明工业级,都是消费级SD,大家在工业级项目中使用这种SD卡,一定要认识到这点。
2、相比于消费级SD卡,工业级SD卡的可靠性要好很多,两个重要的参数是平均无故障时间(MTTF)和年平均故障率。3、购买SD卡,基本都是16GB容量起步,低于16GB容量基本没有了,所以推荐大家用正规SD卡测试,不要在之前的老卡上耽误时间了。
【购买SD卡】
为了测试这个问题,我特地从JD上购买了三星,闪迪,朗科,铠侠,金士顿,比亚兹等主流厂家的SD卡,容量从16GB到128GB。
【测试例子】
例子都可以在论坛置顶帖V7网盘里面下载:
FatFS:
V7-025_FatFS文件系统例子(SD卡 V1.2)
测试说明:http://www.armbbs.cn/forum.php?mod=viewthread&tid=86980
RL-FlashFS V7.X:
RTX5+RL-USB+FL-FlashFS+RL-TCPnet+emWin6.x(V1.1)
测试说明:http://www.armbbs.cn/forum.php?mod=viewthread&tid=104012
ThreadX FileX:
V7-2201_ThreadX FileX Template
测试说明:http://www.armbbs.cn/forum.php?mod=viewthread&tid=100749
FatFS和FileX都支持exFAT,如果使用的话,需要使用响应宏定义。
【测试效果】
购买的一批SD卡,全部测试通过,这里展示一个比亚兹的16GB SD卡效果:
【移植注意事项】
1、新买的或者不好使的SD卡,最好使用这个小软件格式化
SD卡联盟发布的SD/SDHC/SDXC格式化小软件V5.0.1
http://www.armbbs.cn/forum.php?mod=viewthread&tid=96181
2、H7移植,注意MPU配置问题,特别要注意使用SDMMC1硬件外设接SD卡的话,仅支持AXI SRAM,这个是H7的总线矩阵决定的。