
一、STM32CUBE配置 我所使用的cube版本为6.2.1,使用的STM32为STM32H743IIKx。 1:配置EMMC 因为我的板子上的emmc有点问题,所以我分频系数选择了2(或更高) ![]() 2:配置SD ![]() 3:配置USB 选择Device_Only,打开VBUS_sensing ![]() 4:配置USB_DEVICE 选择MSC,其他均使用默认 ![]() 5:时钟树 通过修改PLL1Q的输出来修改SDMMC和USB的时钟(接触的大多EMMC都是50MHz,所以这里修改为48MHz,SDMMC1,2也按照这个频率进行分频) ![]() 6 ![]() 注意Stack调大一些 注意这里使用H7_V1.7.0(最新的包在初始化EMMC时有问题,就没去使用了,有时间再去定位问题) ![]() 二:软件部分 对sdmmc.c、usbd_core.h、usbd_storage_if.c做些修改即可 1:sdmmc.c 如果两个初始化函数中没有我框出来的这两个函数,请注意自己添加上去(有时候cube生成就有,有时候就没有,很纳闷) ![]() 2:usbd_core.h 注意框出来的函数中圈出来的两个变量类型,修改为uint32_t,不然会编译报错的(H7_V1.9.0解决了这个bug) ![]() 3:usbd_storage_if.c 重点来了,改动最大的文件,就不详述了,添加的部分都用红框标了出来(注意添加在USER BEGIN和END之间) ![]() ![]() ![]() ![]() ![]() ![]() 现在可以编译烧录了,下载好后将USB连接开发板和电脑,可以发现电脑读出了两个盘(F是SD,G是EMMC) ![]() ———————————————— 版权声明:balibala |
STM32cubeMX软件的使用过程中的“坑”
【有奖体验】STM32Cube通过Clang/LLVM支持进一步简化代码开发
STM32CubeMX应用结构选择指南
经验分享 | STM32CubeMX 生成时钟获取函数的分析
兔哥的最强U5图显【000】——U5G9最小系统绘制
兔哥的ST67——【000】ST67模组订购
基于LORA的环境感知系统
经验分享 | 使用CubeMx配置NVIC时为何不见子优先级?
经验分享 | 三个 ADC 同步模式配置以及 CubeMx 错误配置的解决方法
兔哥的边缘AI【001】——DIY-STM32N6全IO扩展板