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

【经验分享】STM32H7整体把控

[复制链接]
STMCU小助手 发布时间:2021-10-19 10:31
第3章   STM32H7整体把控
初学STM32H7一定要优先整体把控芯片的框架,不要急于了解单个外设的功能。
: \) x! `* ~. R0 t$ X; P+ E' D. N( }$ z7 W! @0 d* R, H7 X- X5 w+ q) ^/ |
3.1   初学者重要提示7 ]% N& A( d' v) o
学习一款新的芯片,优先掌握系统框架是比较重要的,建议逐渐养成这种学习习惯,然后各个击破即可。
3 S5 m! v. C( b6 L6 \# M9 }' n: s本章节提供了多张STM32H7的框图,这些框图都非常具有代表性。很多时候记忆知识点比较费脑子,记录这些框图是一种非常好的方式。( S# D/ D) N2 l2 I; n
对于本章节提供的部分知识点,无法理解透彻,暂时没有关系。随着后面的深入学习,基本都可以掌握。9 t  |, J* w% Z+ E
重要的MPU和Cache知识分别放在了第23章和第24章。; L& O; c% p" i  E6 F$ x* d
3.2   STM32H7硬件框图7 m  P5 n$ t& Z
学习一款新的芯片,需要优先了解一下它的整体功能设计。需要的资料主要是来自官网和数据手册,比如我们V7开发板使用的STM32H743XIH6,直接在官方地址:链接(这是超链接)就可以看到对此芯片所做的介绍,页面中有一个如下的框图,对于了解STM32H7整体设计非常方便。
6 k7 z( ^' {! y! w+ a
13.png
再稍微详细点,就需要大家读页面上的”Key Features”,就是下图所示的内容:6 ?! O+ O  e! }! N" E
14.png
或者直接看数据手册开头的章节即可,也进行了介绍,内容基本都是差不多的,如下图所示(部分截图):' Z9 B3 O# q2 C( D, H$ g8 h4 W% C
15.png
通过框图和Key Features,大家可以方便地了解STM32H7的FLASH、RAM大小以及各种自带外设的信息。
4 x* ~- U# A1 Y( @$ \# _
/ M, s4 g/ H. K' q' G( n( ~1 B. B
; r& J7 I! ~! X, d0 k( b3 p
3.3   STM32H7各个型号的区别% H! u$ F9 w( K5 V) j9 i- Z7 l
涉及到芯片选型的时候,需要大家了解各个型号的区别。对此ST有一个专门的文件STM32H7x3 MCUs High-performance line,在链接(这是一个超链接)里面可以找到。此文件里面有简单的对比,只是内容比较简单,仅两页,不过也言简意赅。最主要的是下面的这个截图:( ]" \2 C; F, |, g: x
16.png
通过这个截图可以方便地了解不同型号的引脚数、封装、FLASH大小、RAM大小以及是否带HW CRYPTO硬件加密的区别。: w7 ]. |7 a' X$ B
) O0 U( E# g& ~' `7 g

) H# D1 B. o' l% G3 H5 I+ l/ t需要了解更详细的对比信息,可以看数据手册。任意下载一个型号的数据手册,在数据手册的的Table 2里面有详细的对比,如下图所示(部分截图):
9 o4 }0 G; |. Q, o! ~- R) n# u2 x
17.png
使用ST提供的软件STMCUFinder或者STM32CubeMX也可以做对比,只是没有上面的表格这么方便,可以一目了然。% ?% Y: I% C1 a' t" Z
( j/ b4 ^1 w7 }0 V5 K
5 t  A# \; @8 y" |1 h+ _
3.4   STM32H7总线框图和时钟" r' F, i: p) [0 R& D
STM32H7的数据手册里面提供了一张非常棒的框图,大家可以方便地查看每个总线的时钟速度和这个总线所挂的外设。这个在大家配置外设时钟分频的时候还是非常有用的,因为外设的时钟分频就是建立在所挂的总线速度(大家直接在数据手册里面检索Figure 1就可以找到)。* t4 U/ H& \! e* T) m
18.png
比如我们想得到不同定时器的主频,通过上面的框图,可以方便地获得如下信息:
( @+ z& f5 p% ^! O2 d) b
% y% t1 N& e& b1 G3 X" f$ Z3 f

" y& |/ m# W0 V6 J6 \; XSYSCLK(Hz)                     = 400000000 (CPU Clock)2 x+ A# Z1 G' u
HCLK(Hz)                       = 200000000 (AXI and AHBs Clock)
( }4 p& \- _: p: SAHB Prescaler                  = 29 g6 `2 ?! i& \
D1 APB3 Prescaler              = 2 (APB3 Clock  100MHz)! U% m. O# P/ y3 P
D2 APB1 Prescaler              = 2 (APB1 Clock  100MHz)
8 x- a) _+ R9 tD2 APB2 Prescaler              = 2 (APB2 Clock  100MHz)
; X  |; \7 k1 YD3 APB4 Prescaler              = 2 (APB4 Clock  100MHz)
# `7 u/ |/ p3 f% Z
1 ^9 M% a) v( ~$ V) J1 p因为APB1 prescaler != 1, 所以 APB1上的TIMxCLK = APB1 x 2 = 200MHz;* o7 H- u3 A. }! N2 H/ Z9 K
  G, R* f# A5 I# `% a7 I

' {. N0 E8 g4 [' U9 j) e因为APB2 prescaler != 1, 所以 APB2上的TIMxCLK = APB2 x 2 = 200MHz;% Z: m/ B$ Y5 E3 S7 X  v/ L3 [

& C- F' A  A5 u0 d% J, |

- B- T7 }9 [: s* q4 C  C( RAPB4上面的TIMxCLK没有分频,所以就是100MHz;
2 [' E2 Q; M/ LAPB1 定时器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14,LPTIM1
3 Y. o/ m* E' i7 @8 y. LAPB2 定时器有 TIM1, TIM8 , TIM15, TIM16,TIM17' U0 s3 H! q7 \  u
APB4 定时器有 LPTIM2,LPTIM3,LPTIM4,LPTIM5# j, s0 \) F5 ^. {7 o
- r8 }: y4 L7 R" T8 l1 H/ B
/ a1 \  M) S" H
3.5   STM32H7的A**线% t3 z" _9 y3 M' G/ u4 {, W
A**线在STM32H7中有着举足轻重的作用。高并发性全靠这个总线了,先来看下A**线的框架:
  K& j) J' @4 Q2 I8 W6 w- }- Z$ r  ~  d. O7 a- ?. y, A
% @9 j) E# \% w
3.5.1      总线系统框架2 n8 r1 D) Y3 _0 w* D
下面这个截图比较有代表性,可以帮助大家理解STM32H7总线系统。
" r/ n$ e, y; b+ A6 b
19.png
这个图可以方便识别总线所外挂的外设,共分为三个域:D1 Domain,D2 Domain和D3 Domain。6 f8 v, h) z* a! h% |
) }' j4 a) r4 o- i5 x% A, C  i
# N$ y  _* ]+ B! m
D1 Domain: O2 L: Y) s- |  C7 d6 ~9 F: u

$ I( |$ h# W; g/ a
' h; N1 ]2 u' u3 z$ k
D1域中的各个外设是挂在64位A**线组成6*7的矩阵上。3 p+ Y$ |1 i- A# o! s7 l0 {
  j9 u: j* y: q: M

. `7 G% g, c& b8 D- h6个从接口端ASIB1到ASIB6  J0 c0 Q3 {) _, S) f; @' a
外接的主控是LTDC,DMA2D,MDMA,SDMMC1,AXIM和D2-to-D1 AHB 总线。+ Q9 f) N; ]: y% C/ A1 y) h6 Y; W" t
; |' D4 r5 z. x9 y
7 y' ]( y, f- T
7个主接口端AMIB1到AMIB7# }* m- A* d2 v5 r$ d5 b
外接的从设备是AHB3总线,Flash A,Flash B,FMC总线,QSPI和AXI SRAM。另外AHB3也是由A**线分支出来的,然后再由AHB3分支出APB3总线。
' B) V, ]0 {+ f& B1 {
3 j8 d; Z# o+ v6 B' E7 d& O- G
7 A6 [! R' E8 h" w( L. S: v1 L2 t9 b
D2 Domain  p. E* g! }. q5 K% X$ Z' l& `

3 U# ~' q% a# r; l; P0 E' c
7 R7 E- T! y8 `" o0 }
D2域的各个外设是挂在32位AHB总线组成10*9的矩阵上。  [( u! ?! l. [- \) m* E

# n; p- G/ R) \! k. c: z- S4 C2 _
# b) z& u; A0 k. v, J
10个从接口
) Y- Q* l8 }9 o外接的主控是D1-to-D2 AHB 总线,AHBP总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1和USB HS2。
% P" m% y+ |. c# K4 r# P: V% L0 |0 K1 C2 `% Q( f7 `3 m

- }- I3 \$ w( E9个主接口
' A% o+ d9 Z1 B2 T, L) h: N$ I外接的从设备是SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB2,APB3,D2-to-D1 AHB总线和D2-to-D3 AHB总线。$ F1 T5 A' W# I% B" h* c- f2 l

( {: [& B' B# u
- S* `2 l! x2 h# m" b
D3 Domain
2 f9 E2 t! K' P0 k
; Z$ a8 B  o4 d6 l5 H; H3 d% {

( z+ [% U5 Z6 u0 H. cD3域的各个外设是挂在32位AHB总线组成3*2的矩阵上。/ k# o0 u. M& B, F4 O% ?
& E1 W" }5 t3 d; U* a2 L
( M, H& R6 G8 \) V
3个从接口
( {% F4 \3 Z8 ~7 i; K外接的主控D1-to-D3 AHB总线,D2-to-D3 AHB总线和BDMA。9 b% A: p' e2 O2 g  a

6 _' k  n; u, Q' w$ O) d; i

2 r$ Y7 y4 n9 P4 z5 t2个主接口
0 a5 V7 M3 X4 C1 m8 X% `外接的从设备是AHB4,SRAM4和Bckp SRAM。另外AHB4也是这个总线矩阵分支出来的,然后再由AHB4分支出APB4总线。% a9 O1 D! b0 v; b' E3 i% `( c

6 b: f, H; a9 m# U* ?6 P+ v这三个域之间也是有互联的,可以是:
% t$ M2 D; [% i; c* m
: V0 [- ?/ Q0 |9 O
; ]5 Y2 S% q, q
D1域到D2域的D1-to-D2 AHB bus
. I% b: ?  ?' w6 w6 E5 |) Z允许D1域中的主接口外设访问D2域里面的从接口外设。比如D1域里面的DMA2D访问D2域里面的SRAM1。1 l4 ^, r! T7 q( Q- F4 |& v
& _4 F) c  }. r4 M1 Y

/ G) a) p  G& a: c6 ]' h( H/ DD2域到D1域的D2-to-D1 AHB bus
) J! u  E6 @5 `) _* _允许D2域中的主接口外设访问D1域里面的从接口外设。比如D2域里面的DMA2访问D1域里面的AXI SRAM。$ V8 K$ q3 D+ B  d0 t+ s
) c1 B* |* f- x, L5 y7 k# X# e
% B0 p) y1 A! u8 S. H6 Q& b
D1域到D3域的D1-to-D3 AHB bus/ \- Q6 k- H; s( C- V+ D
允许D1域中的主接口外设访问D3域里面的从接口外设。比如D1域里面的DMA2D访问D3域里面的SRAM4。% t& ?! \) Z, n1 _8 o

9 D; i1 C6 d( l. i' U% G( p; g

0 g. R/ Y- V: m! P7 Q7 ^, cD2域到D3域的D2-to-D3 AHB bus。
+ _. x0 C  t3 [  q允许D1域中的主接口外设访问D2域里面的从接口外设。比如D2域里面的DMA2访问D3域里面的SRAM4。; ~+ r# d4 p3 X
$ n) ?$ B8 j% F" |3 ~2 \1 x: U! l
有了这些知识后,下面我们重点了解A**线矩阵。
( h. t3 e) L. q. T
0 X6 V3 ]4 y* U) C" S
* {' n; F" C8 }# O
3.5.2      A**线特色
- ~" b6 t* t7 L" r, i. y1 mAXI支持高频率、高性能的系统设计:
) i) h4 B% f( D2 F. x) i- O
! h& U' y1 s: ~$ e; C* ~
6 X( p7 E4 v# f6 A
支持高带宽,低延迟设计。
9 Q# g6 l- M9 O8 M- M" s( Y提供高频操作,无需复杂的总线桥。
, E4 A$ K' R) D' ~6 H满足各种组件的接口需求。/ C8 N# j7 G4 V7 O2 h8 _
适用于具有高初始访问延迟的内存控制器。
# \1 {$ {$ V" Y6 m$ M* i/ k+ p为互连架构的实现提供了灵活性。
8 d+ Z+ `7 ^8 E$ K- Z$ {; m6 d与现有的AHB和APB接口向后兼容。2 t6 S9 A4 N+ y% {1 O3 z# G2 `
& f$ z0 n1 V0 @- e2 ^8 T6 R
A**线的关键特性:
, ~0 J# ?/ m- k) a1 W- y: y3 u
- r# _% \* g' }. {* Y- m# l
  ~) u: F8 f" o. d# ~
独立的地址、控制和数据线。& Z& Y4 v+ b7 l% a! q9 h
支持非字节对齐方式传输。2 T" r/ D2 ^2 `3 v9 I% B, Y! {' q
基于起始地址的突发传输。" i) w2 |0 a$ Y9 H8 t
分开的读和写数据通道,且提供DMA传输。& B! `# `) n4 `' Y7 d1 k* u
支持发起多个地址。* v- m5 c' S3 s2 ~
支持无序传输。
- \& G. A4 P! d+ h, l  {允许添加寄存器,以提供时序收敛。
4 o( B4 t7 B% K  b) o. q8 _9 C9 Q* y. B7 y5 k' R
5 B1 P* n4 J3 t
A**线3 f9 d' |0 J  E' I/ a
关于A**线,ARM有一篇古文观止级文档《AXI4_specification》,已经将其放在了论坛:http://www.armbbs.cn/forum.php?mod=viewthread&tid=87340  。
$ f% W7 b! \: Z4 N# B% c: d4 J8 h5 r# b" n1 E# c9 l# t" C; m
+ ~8 [& |8 ^% y4 g/ S
3.5.3      A**线简介" {) ?' T; r( s3 n  f
通过下面的框图,我们再进一步的认识一下A**线。2 O. @) ^6 ^$ N+ K3 O) \" C1 v
20.png
通过上面的截图,我们可以看到,A**线有6个从接口ASIBs(AMBA slave interface blocks)和7个主控接口AMIBs(AMBA master interface blocks)。
) O- h5 i; t0 `& z  g  E
* ^4 T) }% A4 ~  {3 V. n4 c
) \# L8 V/ N4 `4 x& I2 p
针对从接口ASIBs,描述如下:
# Y! C! Z; ?: |
21.png
重点注意最后一列,STM32H7参考手册里面原始的描述是R/W issuing,这里将其翻译为读/写发起能力。比如输入通道IN5连接的主控DMA2D,支持的读发起能力是2,写发起能力是1。读发起能力是2该如何理解呢?这里的含义是存在两路读信号同时进行(因为AXI接口有一个FIFO的功能,可供同时进行,更深入的认识有待研究),反映到DMA2D的实际应用中,就是DMA2D同时读取前景色和背景色的缓存区做Alpha融合之类的操作。写操作同理,DMA2D的写发起能力仅支持一路。& h- m$ z* Z$ E- s9 Z+ e3 Q2 J
/ R+ H. b, E" @) _
6 \: z$ `* [# R' M* g+ X
针对主控接口AMIBs,描述如下:
$ a6 b( O8 S- a* N
22.png
跟上面表格的含义是一样的,同样重点注意最后一列,这里多了一个总接收能力(Total acceptance),也就是读发起能力和写发起能力同时执行的情况。
& J9 J5 {5 t4 R9 N& @+ u( f  m( q0 U7 g+ x+ k, T( J& s
3.5.4      A**线优先级编程
7 C' t2 [. M; l' v由于存在多个ASIB从接口访问AMIB主控的问题,这就涉及到谁先谁后等问题。所以A**线矩阵就做了一个基于优先级的仲裁方案。每个ASIB接口支持读通道和写通道分别设置,优先级从0到15。数值越大,优先级越高,默认情况都是优先级0。如果有两个传输同时到达AMIB主控接口,那么优先级高的ASIB接口传输优先处理;如果优先级相同的话,根据LUR方案选择(least recently-used最近最少使用情况)。% M& {8 q  `. d' [3 O

0 k1 P) e& v; X4 L& r
/ p( M1 ~1 C; G( o7 n. S
大家在实际应用中,可以根据实际情况进行设置,一般情况下使用默认值即可。* k, [5 M5 h* P
+ H  N: r! G4 x. R. [5 }2 V
+ e# J1 ]7 V/ v8 i. [% w
3.6   STM32H7的总线互联
% c0 S# P% b  j4 v1 WSTM32H7的总线矩阵四通八达,但不是任意Bus Master总线主控端和Bus Slave设备端都可以相互通信的:, ^; K9 R5 y& e& m# V( v
23.png
黑色加粗字体是64位总线(ITCM,DTCM,Flash A,Flash,AXI SRAM,FMC等),普通字体是32位总线。
: v. P. e( H0 o+ D$ S1 d7 L, K# J0 `& ^" V
% x0 x2 [, X9 [- g! G
访问通路(每个小方块里面的字符)  R6 [" F/ x7 i
. U1 x$ E  Y  d& p
1 B! R+ `: H# s: c9 _% c
    任何有数字的表示有访问通路。
& f, M9 T) \7 Z# {" T' j/ F/ }
5 R. S1 ]; ]3 K1 I1 l
, ~8 y3 G% F( o4 }' |
    短横杠“-”表示不可访问。& p+ l8 R$ J9 ^8 E, g  C7 p, N. K2 o

9 D( U2 {+ [. i+ D

) y" l& d& f% N3 ~3 k2 }    有灰色阴影的表示有实用价值的访问通路。
8 t9 S9 p0 M9 w1 [( e: |6 I: [5 g5 _1 @5 `/ s& {4 Y, e6 B
. a" Z0 H5 M& N( j: y0 ?2 S
表格中具体数值所代表的含义
" C7 S1 F, p+ ?: N0 B( Z& w
4 i2 a, M4 z- v% p+ K0 u/ K5 \# ~
+ Z. ^: L  @& q8 _$ i4 M+ o
    D=direct
; U$ n3 |2 p4 K2 I6 a9 g# D
, `5 [! }4 g2 j( f: K8 X* R
2 w+ P+ M! w* N, ]
    1=via AXI bus matrix
8 O* }: i' s. s7 }
. r2 J! @/ `1 P: w

/ i" n- u7 R4 n, l* c0 ~    2=via AHB bus matrix in D2
* f+ B/ c# ]# x: j5 ]2 @
0 g  M. d7 v+ U

4 A5 B3 m( J- i( S; @/ F: ]    3=via AHB bus matrix in D3! j: I( p6 X/ G  i' c

) X5 L; {5 C0 A" m( `: p( \

; X$ Y1 O6 M4 ?. p( N    4=via AHB/APB bridge in D1
  ~; ~! J% I" u
) s; s' ~$ h4 q5 g& \

  ~/ b/ ^0 ^7 X    5=via AHB/APB bridge in D2' n# r( n% I( R/ n0 i
# J% e' ?+ T5 K- |! v; g

' g" i7 L, W) U) O: \$ a# T1 Z    6=via AHB/APB bridge in D3
8 P  Z0 |# r  z& e% s& B
8 [6 E: d/ N7 b- _! n

4 ]4 k- f- j) N8 ?$ D0 l    7=via AHBS bus of Cortex-M7
' _" O+ Y9 ~: i4 t8 ?, q4 r! ~" r. ^
" {" m; ^/ d  q& l+ c+ t* V$ ~
    多个数值组合 = 互连路径以数字的顺序经过多个矩阵或/和桥。
$ R/ y$ O- a( N* i) r
/ |7 `+ s1 P0 u9 n( ^" Q
) N* j5 d. y" g2 a# s* z& k1 B
总线访问类型5 K! ~* Q; _1 M% c! B7 H0 j
. H% T+ g8 j* T2 D, o
8 i+ s2 A4 E) z/ N; ]( r# N
普通字体表示32位总线。
% g+ X3 b# `7 c( A0 G0 A
2 L2 ]- w% d8 X( ^

! ]4 l/ Z5 P0 l$ l8 J斜体表示32位总线主机端/ 64位总线从机端。4 P' u8 j0 f1 p3 s; M4 E/ r
; d- ~( l& G9 V# E$ ]
4 _9 T. E/ r5 b+ s) A( ~" ^7 @& p5 b
粗体表示64位总线。
( v, T( v2 r; `' W3 }3 N
7 n, a5 e- _. |$ M& ~
5 a% Q: O$ f7 e2 Y' ]
当前要对这个图有个了解,后面章节讲解各个外设的时候要用到,比如DTCM和ITCM不支持DMA1,DMA2和BDMA,仅支持MDMA。
( b& u3 W  ^; g" ~: l& D* }, m: Q) V3 K7 `) y
$ _6 d! E2 P3 L: q/ p$ \3 i
3.7   STM32H7的FLASH
& U# r- U' F7 G( p1 L) x+ \* h首次学习STM32H7,要掌握以下几点认识即可:
- R  T( x9 G& u0 i3 d
& T. G9 ^; n/ T/ L" ]

, K( {4 l' E& u6 Q. u( z1、双BANK,每个BANK的带宽都是64bits,如下图所示:* [  L5 n2 O8 \: \
24.png
2、H7中Flash的延迟和主频关系。  f) D0 B4 d- p

# S* @1 [- y0 u& u) m  q+ C

0 z# y0 U. E! U* E3 n$ w/ j- wH7中已经没有F1和F4系列中的ART Chrome加速,通过H7中的Cache加速即可。具体延迟数值和主频关系如下:- _! Y- e6 u! r' L9 e  u+ P# ^
25.png
对于上面的表格,大家可以看到,当延迟等待设置为0的时候,即无等待,单周期访问,速度可以做到70MHz。增加1个Flash周期后,访问速度可以做到140MHz。当增加到3个或4个Flash周期后,最高速度可以做到225MHz。9 ~" R$ a0 _5 B& Z/ B1 ^
+ g* ]! i/ Q# P6 C; |' O' A

$ r. Z; q: a1 L4 o3、Flash编程操作(写)最好以256bits为单位进行,应用中也可以小于256bits,但是容易造成ECC校验出问题,所以不推荐。Flash读操作支持64bits,32bits,16bits和8bits。+ m0 O; e& L1 _7 [  z

4 `2 R' J6 w. J$ |3 X
8 @/ u& a+ e; V- [; j; K. Y
4、Flash支持ECC校验,每256bits配10bit的ECC位,可以检测到1个bit并纠正或者检测2个bit。随着芯片的制造工艺水平越高,带电粒子能产生的位翻转就越多,此时的ECC是必须要有的,一般可以纠正1-2个bit。安全等级高的Flash类存储器和RAM类都是必须要带ECC的。
3 z. |6 K$ k) u# g7 [) W
2 ]1 y/ I: \* g8 T8 i6 | ECC相关知识% B3 U4 r0 n# y  g: F& H

- {9 e' V0 |; [1 n

) o% r" I; q- f0 S. d2 |3.8   STM32H7的RAM
9 m% v0 g$ _& E9 }6 I& M(注,学习本小节,优先回顾本章节3.5.1小节的框图,另外H7的RAM区也是支持硬件ECC的)" a: E9 J. g1 n# R4 e

" U/ b1 K4 z/ ~# C6 g8 R

) q) R) T* m* \* w% T- [  W; VSTM32H7的RAM区分为好几个部分,下面分别进行说明:0 [- a" G+ z/ C' W

- |- [) {$ o( t7 H+ _. o( D. _
$ \, b! Z" e4 H6 ~# E3 ~1 W0 ?
TCM区5 E. [, R4 o- o0 L1 h/ w
9 \4 c* o* h$ o0 i9 W: e

9 o* ]% Y2 ?3 ~TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM用于运行指令,也就是程序代码,DTCM用于数据存取,特点是跟内核速度一样,而片上RAM的速度基本都达不到这个速度,所以有降频处理。
, G+ O9 x, @! C! s# H
2 T) N  {5 j6 @6 B& b. B
* `/ W; r) }; ?1 o+ h, T8 _
速度:400MHz。6 Y& P" \' m( O/ A2 ~. G$ z: _
, u( \8 A" `9 Z/ T

2 h# c( U5 X) |$ L: l: qDTCM地址:0x2000 0000,大小128KB。
8 e. v  t( g/ K; C5 L7 Z# H0 _* R" A4 H
0 ^( b2 U- e5 y# r3 |
ITCM地址:0x0000 0000,大小64KB。
4 ?7 |6 p0 B* \. ~8 D5 t1 L5 y: {; f: c; k6 }

( r( v! D  `  k, v. G- W AXI SRAM区
$ _% s' z$ l- m* R0 Y% A! b3 \, w' h" m6 w' i

  [# v6 C( X0 G6 p8 H% r位于D1域,数据带宽是64bit,挂在A**线上。除了D3域中的BDMB主控不能访问,其它都可以访问此RAM区。
$ E: W4 Q( C$ D7 V( J) z( a# O9 W3 F; r! g5 i; ]3 [
9 ]6 x5 J$ Z  M) j! J# ~
速度:200MHz。
# t0 L% w/ X- u  f
; m# M. I$ M. X9 ]/ d

5 h1 r- h. P8 K: H# @地址:0x2400 0000,大小512KB。
6 g' D% [. \, I* C3 c" t/ r
5 C- R2 {. k( Z$ @: C/ U

6 c" C/ W. Z' ?8 b用途:用途不限,可以用于用户应用数据存储或者LCD显存。
- O1 d2 D( ?2 I$ O5 z; S
- E1 z" [! t- d7 D- S+ C
" y3 X' D7 p: p9 g3 l9 f+ }; j
SRAM1,SRAM2和SRAM3区: \! q; Z$ }% A# u8 F0 @

6 u- j2 I0 b' h

4 Y4 i6 G8 n' [, G0 \位于D2域,数据带宽是32bit,挂在AHB总线上。除了D3域中的BDMB主控不能访问这三块SRAM,其它都可以访问这几个RAM区。
. u- ]- R: x, g( N* s1 _% h! T. F
7 e  }4 W. E( R+ C# ?
. B2 O3 k6 `" a; o8 o1 Y
速度:200MHz。) [4 L8 S# l* }% Z! @
( J4 S- T6 D- ]: _' [
% r$ z9 t9 T" e9 F! c
SRAM1:地址0x3000 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以当D1域断电后用于运行程序代码。: T. t1 P  Z9 B3 ~2 N* E. _- G' [

' p. E. p: S3 |; F1 x$ w1 t- w' r

$ z- p8 \: d$ g0 pSRAM2:地址0x3002 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以用于用户数据存取。
- P# R) ~8 }9 S# T+ F
' s- A/ r8 x! }7 N3 f. n
& F0 [# y( H: d, Z8 c. ^
SRAM3:地址0x3004 0000,大小32KB,用途不限,主要用于以太网和USB的缓冲。
# x* T  z7 N3 s; r
/ I& W8 h9 d) F9 h/ u

& G9 F) Q7 b# O- x SRAM4区+ h9 o" t2 C$ A+ Q% D" B; |
4 o& A) e/ {' B: X7 P( g
/ [; B" r1 C: T, K/ _5 t7 \
位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访这块SRAM区。& f/ a) B7 I) i7 d' Z2 Z
, o: b6 R& ~% V! I0 B+ D: b
% \) U. G0 {) ]: a5 Y( H
速度:200MHz。
: B# O  P1 z/ M( ?1 M6 ^$ E1 Q0 r0 Z5 |

8 [, C( a3 {/ d% H+ J* c* h地址:0x3800 0000,大小64KB。
% w1 o8 F+ A8 I9 h$ S. H. m9 W, B- _3 M

" S8 o5 g' {0 u) ]) p5 B2 Z) f7 m用途:用途不限,可以用于D3域中的DMA缓冲,也可以当D1和D2域进入DStandby待机方式后,继续保存用户数据。
! k6 a! |4 `2 G, A/ Y9 b
  K% z* J" \6 O5 Q6 h4 I, u
9 J4 z0 C1 @5 k# Y' ?# o1 g
Backup SRAM区
) J8 v. W0 M. Q7 I. v
: {) Z* }4 t/ V
$ d* q. p% S/ C, U+ \# b4 ]2 _0 u
备份RAM区,位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访问这块SRAM区。7 ~/ f; }* b' W6 S; m
  o& j4 b5 f1 K; }+ h: o- w
6 T+ @; Y. j4 w. Z5 Z
速度:200MHz。
3 m2 V* ?2 Y" Q4 z4 q+ f# o) |, c. }

2 f7 a0 J6 u4 V& W4 a. n地址:0x3880 0000,大小4KB。
+ A0 |( d( K' _' p; N$ V$ d) _  ^. z; ?- p+ ~1 I

; V# v9 Z# c8 {% S7 v; C用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。
6 i' _+ e8 W8 J8 @8 q/ Q8 v6 j& L/ N9 `2 {/ W

# S4 H+ C4 R1 t) Z- i+ \, G3.9   总结
" e. q9 b' U" @( q! ~% I8 {" t7 g本章节就为大家讲解这么多,让大家对STM32H7有个整体的认识,后面章节将逐个进行学习。
6 Q1 T. l/ P" c( h0 @5 U3 y, w* x) i9 f  d8 M6 }& I& r
0 u# I1 Y) ?# S- F9 k
" |9 g  F% G9 w+ l( t. {$ @
收藏 评论0 发布时间:2021-10-19 10:31

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版