|
一、STM32CUBE配置; n% }, K. A3 N4 p 我所使用的cube版本为6.2.1,使用的STM32为STM32H743IIKx。 1:配置EMMC! H9 O1 t* ^3 j* ]; i5 T* |! T7 `8 q / }8 r# k9 ?2 t5 G1 X 因为我的板子上的emmc有点问题,所以我分频系数选择了2(或更高)
0 r2 W3 a o- m$ i1 o 2:配置SD- c; b0 W$ J" G7 [: X! b- n
0 p$ e/ K: l1 E& ~' m3 ` 3:配置USB: B' P* A! X. g 选择Device_Only,打开VBUS_sensing( q+ L. ~9 x3 }0 Y$ [ 8 c$ B! F( t( t8 z& u
4:配置USB_DEVICE. J7 j6 \* k5 x' v5 C1 S3 s1 C" C" S 选择MSC,其他均使用默认
8 F9 t# F0 ~, k8 D 5:时钟树 & E/ l0 ?; \- l6 V e3 M: x 通过修改PLL1Q的输出来修改SDMMC和USB的时钟(接触的大多EMMC都是50MHz,所以这里修改为48MHz,SDMMC1,2也按照这个频率进行分频)7 F9 i4 g8 N% d' R; o; m" P
! z' o0 V% Y9 g' T* d3 \& H 6 roject Manager4 U; ^, P: F- a V z j注意Stack调大一些 ( @1 b$ p$ o4 \ 注意这里使用H7_V1.7.0(最新的包在初始化EMMC时有问题,就没去使用了,有时间再去定位问题) 9 v; r- E" `5 N6 Y' J
# H; v6 N* h7 h) U% I 二:软件部分; r. n% ~2 }" w1 f6 Y 对sdmmc.c、usbd_core.h、usbd_storage_if.c做些修改即可 1:sdmmc.c! h; K& R: E) R I, U 7 a7 ^1 T: ~ p3 p0 e; s 如果两个初始化函数中没有我框出来的这两个函数,请注意自己添加上去(有时候cube生成就有,有时候就没有,很纳闷) ! A+ z: }. k- n1 v5 ]! {4 s
" ? R9 T! Q5 Q3 e: v 2:usbd_core.h 8 D) e9 z( U' H* i/ E2 C2 P 注意框出来的函数中圈出来的两个变量类型,修改为uint32_t,不然会编译报错的(H7_V1.9.0解决了这个bug). X& b. |* o: }( p
+ N9 q4 V+ ?" H r+ v6 G 3:usbd_storage_if.c! t! A8 f! F) t) u3 X0 ^2 M 3 Q0 T( K2 n7 O8 \' }4 }- r+ x$ f 重点来了,改动最大的文件,就不详述了,添加的部分都用红框标了出来(注意添加在USER BEGIN和END之间)
# v3 x3 E9 I5 O: z6 w8 H: w' p! d
q) o: c- K$ b1 S0 S7 l3 a5 C
& a1 _8 e& ~6 S; ?* O8 l$ H6 W
$ q0 m- |6 V8 y! F# g 现在可以编译烧录了,下载好后将USB连接开发板和电脑,可以发现电脑读出了两个盘(F是SD,G是EMMC)1 d( P) s- p% e3 ?( _: ~" ~5 I ; C& p: y; q `
4 o8 F; P% n" R5 o9 N ———————————————— 版权声明:balibala |
【STM32H5 评测】ADC 电压表
【STM32H5 评测】基础硬件加密与随机数性能 - STM32H5E5实测硬件AES加解密、HASH运算、TRNG真随机数输出速率与稳定性
【STM32H5 评测】NUCLEO-H5E5ZJ 使用 TrustZone 安全分区系统实践测试
【STM32H5 评测】CPU核心性能 - STM32H5E5跑 RTOS,观察任务切换速度、中断响应快慢
【STM32H5 评测】介绍、环境搭建、工程测试
#双节活动 1.在CubeMX中引用touchGFX出现的问题与解决
如何将STM32CubeMX生成的CMake工程导入STM32CubeIDE
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
STM32CubeCLT 1.22.0新版本发布
【下载问题解决】关于ST官网下载软件问题解决
微信公众号
手机版