你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32CUBE+USB+EMMC+SD

[复制链接]
攻城狮Melo 发布时间:2022-11-4 16:41
一、STM32CUBE配置; n% }, K. A3 N4 p

" r/ B5 J) l+ S; m7 X* f, Y7 T我所使用的cube版本为6.2.1,使用的STM32为STM32H743IIKx。
( h& h( X4 I- l+ l  }
- U3 Q% R4 D: j# y1 M" n- i  N1:配置EMMC! H9 O1 t* ^3 j* ]; i5 T* |! T7 `8 q
/ }8 r# k9 ?2 t5 G1 X
因为我的板子上的emmc有点问题,所以我分频系数选择了2(或更高)
8 q5 K3 w/ b" i4 F: O2 D7 p  Z
2 m3 o- ^0 g- J' {  ^ 20210525151840949.png 9 m' U7 R$ f- i( o* D4 }
0 r2 W3 a  o- m$ i1 o
2:配置SD- c; b0 W$ J" G7 [: X! b- n

/ G+ F0 m5 _2 u8 j 20210525152035426.png
+ U# `: C8 [0 g% b5 s% ^0 J8 S, S0 p$ e/ K: l1 E& ~' m3 `
3:配置USB: B' P* A! X. g

+ |1 G$ N  X. ]( {  }* O3 y选择Device_Only,打开VBUS_sensing( q+ L. ~9 x3 }0 Y$ [
8 c$ B! F( t( t8 z& u
20210525152231781.png
$ ]! l9 J- t/ \; J. W. l
: V# O1 \$ o$ M  x* A4:配置USB_DEVICE. J7 j6 \* k5 x' v5 C1 S3 s1 C" C" S

7 r! G) G3 h( A/ q* q! S. W9 Y+ Z选择MSC,其他均使用默认
: W" C; g0 Q* }' G5 ?
' ^" w0 c" @2 R 20210525152410422.png 9 F0 h. Y0 w: s" z
8 F9 t# F0 ~, k8 D
5:时钟树
" E  t7 a+ J* |8 {& 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

' t' d8 s" q- s" W7 I 20210525152729984.png
7 W  z. R- d# k" ]  j! z' o0 V% Y9 g' T* d3 \& H
6roject Manager4 U; ^, P: F- a  V  z  j

, [1 z# k( {6 j& A注意Stack调大一些
! d( s; R8 @; n& q; z' H1 ?( @1 b$ p$ o4 \
注意这里使用H7_V1.7.0(最新的包在初始化EMMC时有问题,就没去使用了,有时间再去定位问题)
( Y" x' W; D8 a' z- J# ^9 v; r- E" `5 N6 Y' J
20210525153048706.png % c+ M6 Y  y' [% V( l
# H; v6 N* h7 h) U% I
二:软件部分; r. n% ~2 }" w1 f6 Y

: P: _7 u( Q6 d对sdmmc.c、usbd_core.h、usbd_storage_if.c做些修改即可
3 K! h2 {- P1 S1 r4 H2 \" U
0 m- X5 Z9 \# e$ S3 ?1:sdmmc.c! h; K& R: E) R  I, U
7 a7 ^1 T: ~  p3 p0 e; s
如果两个初始化函数中没有我框出来的这两个函数,请注意自己添加上去(有时候cube生成就有,有时候就没有,很纳闷)
5 ]) Z; S$ W" k3 n" y! A+ z: }. k- n1 v5 ]! {4 s
20210525154919308.png 3 c1 N* Z- Q9 j  M6 o
" ?  R9 T! Q5 Q3 e: v
2:usbd_core.h
$ _6 L3 A( J& t& h  H. l8 D) e9 z( U' H* i/ E2 C2 P
注意框出来的函数中圈出来的两个变量类型,修改为uint32_t,不然会编译报错的(H7_V1.9.0解决了这个bug). X& b. |* o: }( p

( p" L! [9 s: i7 C- ^6 l2 i 202105251555336.png
( g0 ~# ]! l8 x$ o. ?  G3 A+ 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之间)
& h/ {% u# E1 ?- R5 w6 ^2 U
3 h* c% R- U& i2 z 20210525160416277.png
/ T+ Y* i, ?% [
4 L8 L. d2 S- I 20210525160443595.png
4 E4 K4 M* i- p: |4 G6 c: ~
) D# c3 ?( U( @- g, }9 a; j! X3 G 20210525160508958.png
' V: C: n/ N0 D. G8 s0 w- \# v3 x3 E9 I5 O: z6 w8 H: w' p! d
20210525160527332.png
4 k6 o5 B  @: ]* [+ i  q) o: c- K$ b1 S0 S7 l3 a5 C
20210525160540510.png
  L3 y1 t+ |1 y- S' j1 ?% G2 y& a1 _8 e& ~6 S; ?* O8 l$ H6 W
20210525160554117.png - ~  |- }% H7 A( |7 Y- k
$ q0 m- |6 V8 y! F# g
现在可以编译烧录了,下载好后将USB连接开发板和电脑,可以发现电脑读出了两个盘(F是SD,G是EMMC)1 d( P) s- p% e3 ?( _: ~" ~5 I
; C& p: y; q  `
20210525160914899.png 8 n5 \  J% ], T+ H
4 o8 F; P% n" R5 o9 N
————————————————
" n5 k# @* l9 F+ X% c* D版权声明:balibala
9 L; J2 D5 i, Z4 V
! Q# b3 w9 Z* c' o
赞 收藏 评论0 发布时间:2022-11-4 16:41

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版