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

【经验分享】STM32H7整体把控

[复制链接]
STMCU小助手 发布时间:2021-10-19 10:31
第3章   STM32H7整体把控
初学STM32H7一定要优先整体把控芯片的框架,不要急于了解单个外设的功能。) |) X9 h& ^- v- J; n
  i1 Q  m" d% S$ }
3.1   初学者重要提示# `  d4 g0 {, }0 a  i
学习一款新的芯片,优先掌握系统框架是比较重要的,建议逐渐养成这种学习习惯,然后各个击破即可。
+ N" I; k% ]; H本章节提供了多张STM32H7的框图,这些框图都非常具有代表性。很多时候记忆知识点比较费脑子,记录这些框图是一种非常好的方式。
: \; S1 T- X. {对于本章节提供的部分知识点,无法理解透彻,暂时没有关系。随着后面的深入学习,基本都可以掌握。+ [  a$ t2 _; R
重要的MPU和Cache知识分别放在了第23章和第24章。
+ ~" q# N8 D  I3.2   STM32H7硬件框图
/ w5 m) K+ _4 E! S- q1 g学习一款新的芯片,需要优先了解一下它的整体功能设计。需要的资料主要是来自官网和数据手册,比如我们V7开发板使用的STM32H743XIH6,直接在官方地址:链接(这是超链接)就可以看到对此芯片所做的介绍,页面中有一个如下的框图,对于了解STM32H7整体设计非常方便。
; G9 z4 I4 ^6 K- _& }7 g
13.png
再稍微详细点,就需要大家读页面上的”Key Features”,就是下图所示的内容:7 {. O5 a4 I) t; e# f
14.png
或者直接看数据手册开头的章节即可,也进行了介绍,内容基本都是差不多的,如下图所示(部分截图):
/ w5 A/ L1 m& T
15.png
通过框图和Key Features,大家可以方便地了解STM32H7的FLASH、RAM大小以及各种自带外设的信息。
' k2 c- ~; ~* \: K2 S, x1 |2 F2 F( r$ }* y- ?5 |: I5 L
4 J) M$ z. ^( B1 ~& C1 g5 {
3.3   STM32H7各个型号的区别
& b: P" b0 K: d- P# w. {, X; d3 i" u涉及到芯片选型的时候,需要大家了解各个型号的区别。对此ST有一个专门的文件STM32H7x3 MCUs High-performance line,在链接(这是一个超链接)里面可以找到。此文件里面有简单的对比,只是内容比较简单,仅两页,不过也言简意赅。最主要的是下面的这个截图:
2 e6 c8 ^7 N. H! j
16.png
通过这个截图可以方便地了解不同型号的引脚数、封装、FLASH大小、RAM大小以及是否带HW CRYPTO硬件加密的区别。
6 ]# G. `' G, g% p; G, s  y/ {, a8 e
- b5 H) q% E  T* {
需要了解更详细的对比信息,可以看数据手册。任意下载一个型号的数据手册,在数据手册的的Table 2里面有详细的对比,如下图所示(部分截图):8 v- m: @0 R7 g0 V) S
17.png
使用ST提供的软件STMCUFinder或者STM32CubeMX也可以做对比,只是没有上面的表格这么方便,可以一目了然。
. r/ Z: K0 S6 {/ r( j' b/ ]/ x# U! ?' }8 v
/ f, v# ]) K' c9 W
3.4   STM32H7总线框图和时钟8 O; _+ H9 r1 j, M
STM32H7的数据手册里面提供了一张非常棒的框图,大家可以方便地查看每个总线的时钟速度和这个总线所挂的外设。这个在大家配置外设时钟分频的时候还是非常有用的,因为外设的时钟分频就是建立在所挂的总线速度(大家直接在数据手册里面检索Figure 1就可以找到)。
1 O* m4 s1 l0 t* w5 v
18.png
比如我们想得到不同定时器的主频,通过上面的框图,可以方便地获得如下信息:
& ^" _# X; C4 ~! R. ~- |8 ~$ E: `2 @# F0 G1 u

5 s* B" M- u9 kSYSCLK(Hz)                     = 400000000 (CPU Clock)
4 ~+ _8 a; d; P: E6 VHCLK(Hz)                       = 200000000 (AXI and AHBs Clock)) e/ _! W; s7 @* N. E' e
AHB Prescaler                  = 2
  O* D, D8 }: T/ D$ o0 S# y+ xD1 APB3 Prescaler              = 2 (APB3 Clock  100MHz)8 W  g  |* }( T3 S0 K
D2 APB1 Prescaler              = 2 (APB1 Clock  100MHz)
3 E1 Y) j% E" ^  M; JD2 APB2 Prescaler              = 2 (APB2 Clock  100MHz)& h) L- s+ x& G% X
D3 APB4 Prescaler              = 2 (APB4 Clock  100MHz)  w" H  C+ w1 X5 ]$ ]
$ T8 p! u7 j  y9 }$ S3 F; z4 M
因为APB1 prescaler != 1, 所以 APB1上的TIMxCLK = APB1 x 2 = 200MHz;
5 L! s3 r# m) k% |* G# Y1 h8 a" E1 ^) g! [8 V/ {1 Z6 H3 ~- z! ?
9 n  u) y/ l8 i6 I$ D) {
因为APB2 prescaler != 1, 所以 APB2上的TIMxCLK = APB2 x 2 = 200MHz;
4 M' y+ f7 u/ C) B
* t1 q: M5 E1 }

# R: c4 S9 g! W% J& ^APB4上面的TIMxCLK没有分频,所以就是100MHz;7 F6 V: U% G: w" A1 P2 ~9 F
APB1 定时器有 TIM2, TIM3 ,TIM4, TIM5, TIM6, TIM7, TIM12, TIM13, TIM14,LPTIM1
6 M0 ?) Y2 T0 y3 J, f- y2 W% Z+ vAPB2 定时器有 TIM1, TIM8 , TIM15, TIM16,TIM17
& ~9 i$ q: ?" WAPB4 定时器有 LPTIM2,LPTIM3,LPTIM4,LPTIM5/ u" P# @; _0 L0 I
  L' H4 \, Y8 b: ^+ V5 E

! J$ P9 D, g- ?7 q! t3.5   STM32H7的A**线
6 c$ W; \% n/ a2 l* BA**线在STM32H7中有着举足轻重的作用。高并发性全靠这个总线了,先来看下A**线的框架:6 q" G& S1 Y: q% u
! D0 M2 d9 N! r& z8 g. h

3 F: U3 q' }6 |- ]" B- ^+ }3.5.1      总线系统框架0 q2 O5 {; l2 U6 Q
下面这个截图比较有代表性,可以帮助大家理解STM32H7总线系统。
  a! _- `# Y# C
19.png
这个图可以方便识别总线所外挂的外设,共分为三个域:D1 Domain,D2 Domain和D3 Domain。% }" p+ Q$ ?( ]' O

! ?8 A. Z5 `$ _* r

/ {' v# G4 P' Z+ w) o( }D1 Domain2 Y* s8 b, E6 A- a6 e6 J* Z* V. @
& l6 S' l: Y3 K! t* k. W
0 U* Z" c# A" {! r; X; d
D1域中的各个外设是挂在64位A**线组成6*7的矩阵上。2 \6 g2 C" C! h. l' ^5 t& `# J/ |
5 A- m1 [+ b; ]! |0 z$ D5 v

& d' s1 w0 O, {$ h9 B. f6个从接口端ASIB1到ASIB6
/ D& D: u9 k0 _! ~( z6 z6 S外接的主控是LTDC,DMA2D,MDMA,SDMMC1,AXIM和D2-to-D1 AHB 总线。
$ E" X* Z% N$ j# V5 p- }
5 T2 y! w1 O% y. A
# B+ l3 e5 Z5 L& S
7个主接口端AMIB1到AMIB7# R+ P* H& g3 q9 D9 l4 ~, ?
外接的从设备是AHB3总线,Flash A,Flash B,FMC总线,QSPI和AXI SRAM。另外AHB3也是由A**线分支出来的,然后再由AHB3分支出APB3总线。
8 {) ]! g3 _# C+ B  E$ [% u
( R" L9 o% `: p5 B( V( ^5 z. X* g* I7 Y
( f6 K  b; I0 r* L6 `! W0 W
D2 Domain
' v$ }. k4 X: l8 Q+ Z9 Y& h- |  f) d6 S
: |+ I0 B6 r% g; T( q7 q0 U
D2域的各个外设是挂在32位AHB总线组成10*9的矩阵上。
: O! N0 G4 b2 Z0 E2 o" x, H. L( }1 y! k/ K, i& M& @7 A

8 N( j4 c9 p8 f# G0 h, u  X10个从接口
4 o9 K5 @# R6 k' E2 ?外接的主控是D1-to-D2 AHB 总线,AHBP总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1和USB HS2。
+ q: t% c9 B6 N- K7 \7 k
" r9 q) e& I8 m1 Y% S
- G7 Z, U" U. h+ h
9个主接口
# t: c2 a: ~$ J; O! U外接的从设备是SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB2,APB3,D2-to-D1 AHB总线和D2-to-D3 AHB总线。: J9 e3 |- ~) z3 S0 }$ C
& m' `- K: _8 q, M

) X& p7 c0 _( [6 t+ C' j4 q% gD3 Domain$ G* ~2 C& A! A' m$ a% c

- X# Y! `( y( G
. ^! T+ k2 Y; o2 |. S; \- d: ?% ~7 s% g
D3域的各个外设是挂在32位AHB总线组成3*2的矩阵上。2 m* {0 D% f4 \% Y% e4 G* K

! M" V5 g! G: i* ]

! ]1 |' O5 e* ?  o  w! n; O) p8 F3个从接口2 a: Z" F$ D5 K% t! P5 m/ v
外接的主控D1-to-D3 AHB总线,D2-to-D3 AHB总线和BDMA。
- }' K1 }; c# V# x$ w1 [/ F. u, R. ~& ?5 J) l- _4 E( T

7 }  g9 s1 g4 g( v/ _2个主接口/ b4 V" P/ N% i+ \. C# ~* z! l
外接的从设备是AHB4,SRAM4和Bckp SRAM。另外AHB4也是这个总线矩阵分支出来的,然后再由AHB4分支出APB4总线。
  j  N: ]) A7 s, Z
6 z, Z; G7 `9 A0 L6 h  K6 A" L这三个域之间也是有互联的,可以是:
" E- p9 X% Y0 n+ h
8 b- M: j. o# L1 _* q- W

7 O8 Q+ ~* d2 C* O1 `& QD1域到D2域的D1-to-D2 AHB bus, a# ]7 C7 |% o! X* C7 t& L7 v& g
允许D1域中的主接口外设访问D2域里面的从接口外设。比如D1域里面的DMA2D访问D2域里面的SRAM1。' f+ Q( U' t0 g! r8 @

; o2 c3 c% `4 @, N5 ^

- Y  U  }0 D# |1 Q/ }1 D3 oD2域到D1域的D2-to-D1 AHB bus3 N) a( f8 N0 x8 p1 X/ K
允许D2域中的主接口外设访问D1域里面的从接口外设。比如D2域里面的DMA2访问D1域里面的AXI SRAM。5 {" L- |9 O) i# n4 h$ O4 e9 x6 _1 _
: _) K7 h! v! @

9 r3 a3 G6 ~6 U3 vD1域到D3域的D1-to-D3 AHB bus. e  Q& `4 v( K" I
允许D1域中的主接口外设访问D3域里面的从接口外设。比如D1域里面的DMA2D访问D3域里面的SRAM4。
0 k/ }$ T, b" n, U1 s  Y. ?: a* L% v. u5 E/ y. `, L6 V+ P

! n: q# W. {/ v- [% QD2域到D3域的D2-to-D3 AHB bus。7 P+ s& y& g. P' e  T
允许D1域中的主接口外设访问D2域里面的从接口外设。比如D2域里面的DMA2访问D3域里面的SRAM4。2 V$ u& n0 o9 u3 f& z
' w! |" k# i; Q% F+ s
有了这些知识后,下面我们重点了解A**线矩阵。
3 C7 ]; V" ]- B" F0 M  L+ M* f/ I6 j* m0 ^$ ]+ I

1 Z* g/ z6 T  \) Y7 J2 Q4 x3.5.2      A**线特色# q3 ]1 w9 `6 w
AXI支持高频率、高性能的系统设计:6 Z( w. b+ O8 \5 j0 l
# K) c$ p5 D* f+ N- j1 C  N
9 j( p7 S4 p; y/ H; Q
支持高带宽,低延迟设计。
* Z' l( c4 y0 M5 L% E) m2 e5 l提供高频操作,无需复杂的总线桥。' Z# h/ _) `8 W$ y/ P# H$ U' P
满足各种组件的接口需求。& J" n3 w' Q3 ^5 h
适用于具有高初始访问延迟的内存控制器。
( m0 o9 [3 L" I, [& `1 M为互连架构的实现提供了灵活性。
. D2 Y& [8 z2 g+ ]与现有的AHB和APB接口向后兼容。5 W& Y- C) @3 ]% P( O& R) c8 F) C! U

7 {, {/ ~3 D4 N( }A**线的关键特性:
. k# Z4 p: I/ [8 `/ h
6 x  T# g" _0 `% d+ b# u
, e" P" b" m* Z0 r7 G; W( s
独立的地址、控制和数据线。& p6 n1 z# H& v: q7 `+ m) S5 ]
支持非字节对齐方式传输。, w8 T2 b3 b( k6 [+ t
基于起始地址的突发传输。) T4 k7 s! o5 R3 |
分开的读和写数据通道,且提供DMA传输。
% p5 S7 M( v* Y  U$ _' ]" ~支持发起多个地址。
! b+ G9 z# h' r  q! Z8 o! r1 S- N支持无序传输。
3 s. ~' x0 n% |允许添加寄存器,以提供时序收敛。
8 L: j: v5 v( @' x% j
- [  X/ M9 \+ w3 N) L* J9 o4 d
0 r- T6 N6 I* q2 t
A**线
, R: O7 S8 W3 X6 q, F关于A**线,ARM有一篇古文观止级文档《AXI4_specification》,已经将其放在了论坛:http://www.armbbs.cn/forum.php?mod=viewthread&tid=87340  。& M3 `" `0 y8 D1 Y! x/ @
7 p, Z8 Q: R) h& ~9 K# m
9 j1 A1 }* H) p- o
3.5.3      A**线简介+ x% W( B' ]' G7 w: @
通过下面的框图,我们再进一步的认识一下A**线。- }2 A, s, ~5 u1 F
20.png
通过上面的截图,我们可以看到,A**线有6个从接口ASIBs(AMBA slave interface blocks)和7个主控接口AMIBs(AMBA master interface blocks)。- d; N/ I4 H8 r5 G" s( S* ]1 m

" l- d! ?" J# N8 z/ _7 x
9 i8 O$ a, M% T$ v- }9 m" w
针对从接口ASIBs,描述如下:1 \; y/ N% }# E
21.png
重点注意最后一列,STM32H7参考手册里面原始的描述是R/W issuing,这里将其翻译为读/写发起能力。比如输入通道IN5连接的主控DMA2D,支持的读发起能力是2,写发起能力是1。读发起能力是2该如何理解呢?这里的含义是存在两路读信号同时进行(因为AXI接口有一个FIFO的功能,可供同时进行,更深入的认识有待研究),反映到DMA2D的实际应用中,就是DMA2D同时读取前景色和背景色的缓存区做Alpha融合之类的操作。写操作同理,DMA2D的写发起能力仅支持一路。. ^' `6 w1 X8 X" e: ^
' O. I0 e: D8 s, V, v
4 R) N9 a7 ?0 J8 N& E6 E% [
针对主控接口AMIBs,描述如下:- J2 g% w: T! |% n. q2 t4 R. t% H
22.png
跟上面表格的含义是一样的,同样重点注意最后一列,这里多了一个总接收能力(Total acceptance),也就是读发起能力和写发起能力同时执行的情况。
! f/ c* ~3 K1 [3 Y
4 r( c; J2 {, J/ Q8 I5 K3.5.4      A**线优先级编程' q: x$ f# Y& O
由于存在多个ASIB从接口访问AMIB主控的问题,这就涉及到谁先谁后等问题。所以A**线矩阵就做了一个基于优先级的仲裁方案。每个ASIB接口支持读通道和写通道分别设置,优先级从0到15。数值越大,优先级越高,默认情况都是优先级0。如果有两个传输同时到达AMIB主控接口,那么优先级高的ASIB接口传输优先处理;如果优先级相同的话,根据LUR方案选择(least recently-used最近最少使用情况)。
# K! `  L+ K$ a8 `4 g
$ O5 T" k) y$ P' e6 B
( C$ I2 a! u  J0 V  g
大家在实际应用中,可以根据实际情况进行设置,一般情况下使用默认值即可。
1 q$ t9 P6 P: X, U
, w/ U; J/ k' ]* [
1 D% I9 P" G, ^/ }+ Y+ S
3.6   STM32H7的总线互联; M  ^( R6 Y' F0 G: A: x6 g
STM32H7的总线矩阵四通八达,但不是任意Bus Master总线主控端和Bus Slave设备端都可以相互通信的:
$ _4 e9 f8 v5 {$ H
23.png
黑色加粗字体是64位总线(ITCM,DTCM,Flash A,Flash,AXI SRAM,FMC等),普通字体是32位总线。8 b, h) _6 T# ]) F! C2 z1 l

$ r8 g- j- Z0 D5 |0 p$ R

7 o" u! x5 j$ a' U访问通路(每个小方块里面的字符)+ W+ x6 _: M+ A; S$ ]0 e1 w# ?( j

* R2 V% ^$ z, N& C; e" A4 M

0 P* S0 [5 x2 u5 o    任何有数字的表示有访问通路。3 I' j6 e( \2 N. L$ }& X3 ?( N

. n. j1 f; m1 L$ y" C" D# G
6 Q9 J9 o  _# n3 N$ K: T
    短横杠“-”表示不可访问。' X; n% Q, E4 i
7 ^' \/ t6 D: _1 ]/ |6 N8 d0 s- a
9 u" R) v# r+ @$ E, [+ e- U
    有灰色阴影的表示有实用价值的访问通路。
! a7 x! D# f0 D8 V, U3 D8 E0 j6 r- g4 Z7 ?# V* D

; E2 v9 q4 }7 D0 \$ U/ e表格中具体数值所代表的含义
- @+ x) J* V* h* Q/ E+ m+ x9 N( p" R9 k

7 L  _0 G# n5 V0 E: ~) P, ~    D=direct+ L/ K3 z% }/ m3 G6 I  F( }1 x: l1 K
+ ^& B* W. v" x' S1 l4 u9 Q8 E

$ F9 m0 l5 b: r8 L  d    1=via AXI bus matrix
6 |9 T. e$ r) X3 l# z7 L, a# `5 a5 L
2 B7 W) f& ?; l* L
    2=via AHB bus matrix in D27 c- g6 f- z+ T' q  l2 d+ A" x

) L' X+ D+ K3 x" d4 c2 l+ P
1 m9 p- d2 M" `! V) {, z
    3=via AHB bus matrix in D3
6 T, P# j' M2 w7 |1 M2 ~8 x( T: Y, [4 w' J$ G' A* x  A. w: m  }/ t

7 ]% d7 J4 m; E4 z- F6 R3 X; p# i) _    4=via AHB/APB bridge in D1; q# R1 y' u2 _8 ^& \9 Z

- D( X1 Z* t8 X! }" C

+ y1 @6 f1 G' G# H7 y    5=via AHB/APB bridge in D2: U; Q; m% q! g4 b. R: M- |
% w$ Q9 x0 p2 q8 |2 n4 n' u

$ V3 `) w( a" f5 E/ a0 L9 |    6=via AHB/APB bridge in D3
" p/ |: s& H, q& V$ `6 E9 \2 ]  u  y1 [; m! s4 W2 Y% _" n

( D7 \) H' r  u/ B; f    7=via AHBS bus of Cortex-M7/ k( d2 s# N$ e  t% h* Z, w; P
$ _8 M+ P8 C0 n9 P0 s
2 D3 e( Z; K- N% }2 o
    多个数值组合 = 互连路径以数字的顺序经过多个矩阵或/和桥。5 \6 Y. u! |' D- n$ K4 ]
+ i' p3 j) Y7 L! Z+ `
( K/ b" Y  E% A
总线访问类型4 o" m1 `% o7 d, b

1 M1 ?) E( P+ H0 p' X  o, [

9 Z, v1 p" L& \* B1 G7 h普通字体表示32位总线。
; U9 N% E' w: O* @5 t' ]# c& ?: z) `6 `/ ^9 X* G. [

3 n. I/ O5 \' n+ d  @斜体表示32位总线主机端/ 64位总线从机端。
, T% B  E5 n# A1 E9 `
5 h) v; U  S- u: Z

! ]% f* j; Z) o, h$ R/ h) ?粗体表示64位总线。% J5 i$ o: n/ G, T# ~* d! E
4 {  N0 E* `4 u6 H

8 A- ]8 X5 Z8 W, K- E/ e) `当前要对这个图有个了解,后面章节讲解各个外设的时候要用到,比如DTCM和ITCM不支持DMA1,DMA2和BDMA,仅支持MDMA。5 b- F1 q+ B5 [0 ^9 B
* b3 l4 ^- T1 r3 N/ ^6 Z/ {
( `) V1 J9 `& V" q5 Y5 h
3.7   STM32H7的FLASH
: J& v) ^8 D9 E& ]% O9 r3 R% @! A- O首次学习STM32H7,要掌握以下几点认识即可:
  U. L( z- s, ?+ i$ ?. n3 W. L& [8 b5 b, H8 G9 O

9 w# I! F, d; f  l/ f1、双BANK,每个BANK的带宽都是64bits,如下图所示:0 u5 }; ^0 g2 y6 k
24.png
2、H7中Flash的延迟和主频关系。) P7 Q% U8 a  I3 ]+ J* {# }

* H2 E/ H6 ?8 O( Q& {8 F
7 B2 x9 I* D0 o  R7 A
H7中已经没有F1和F4系列中的ART Chrome加速,通过H7中的Cache加速即可。具体延迟数值和主频关系如下:
, [1 l; j3 E; x4 x4 E. I! n: l! m; b
25.png
对于上面的表格,大家可以看到,当延迟等待设置为0的时候,即无等待,单周期访问,速度可以做到70MHz。增加1个Flash周期后,访问速度可以做到140MHz。当增加到3个或4个Flash周期后,最高速度可以做到225MHz。
) i' x& B) P. ?3 C6 h4 ?; V! D
: w# o$ {+ a3 ~2 c# [
  s( a- Z6 s3 o! A% }5 b
3、Flash编程操作(写)最好以256bits为单位进行,应用中也可以小于256bits,但是容易造成ECC校验出问题,所以不推荐。Flash读操作支持64bits,32bits,16bits和8bits。
2 }. z3 J* O0 d* E  U  k5 _2 J* v! @
5 Z! w8 y$ D1 V6 N/ f
4、Flash支持ECC校验,每256bits配10bit的ECC位,可以检测到1个bit并纠正或者检测2个bit。随着芯片的制造工艺水平越高,带电粒子能产生的位翻转就越多,此时的ECC是必须要有的,一般可以纠正1-2个bit。安全等级高的Flash类存储器和RAM类都是必须要带ECC的。; L1 b. ]5 E8 S) a. w/ i6 N
; |, j, `/ x+ o& u8 G3 Z( b
ECC相关知识。0 A9 P1 n, X" r4 f3 d
4 Z) {" d/ Y5 V$ F" @0 N

6 s# H& X7 \% f  O9 I3.8   STM32H7的RAM* B2 V0 d2 }2 K/ q, g9 }
(注,学习本小节,优先回顾本章节3.5.1小节的框图,另外H7的RAM区也是支持硬件ECC的)1 c5 L+ G! O! w5 B

1 [6 f, h% c, s% t; e( J4 q! ^

! b! k+ W. r  a# n3 E0 _STM32H7的RAM区分为好几个部分,下面分别进行说明:3 e- d9 ~5 V. a7 a
! J- Y. x) c( b; \1 S0 `0 A

, U% }0 H1 d9 [& E* _) d TCM区
0 @& D; n/ r7 L/ o
0 N/ V/ P3 \$ c- z" y
" p2 s: N6 ^$ Z4 G4 t
TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM用于运行指令,也就是程序代码,DTCM用于数据存取,特点是跟内核速度一样,而片上RAM的速度基本都达不到这个速度,所以有降频处理。
% Y! _% y* m& G! J7 H+ w. P- k7 M! X8 D( V* A
& f! _/ o7 h2 @! P, F
速度:400MHz。( R# `. B* l! o7 F

3 Q7 Q+ r+ C& `
; ?! [* o8 O/ H  h: b* H; ~
DTCM地址:0x2000 0000,大小128KB。8 n: i! y- K+ I+ |
" _3 Y. y, a4 ^

9 t. }0 f6 c  y/ kITCM地址:0x0000 0000,大小64KB。2 c+ V( k2 g9 F
2 X! a( b. ~1 F# |5 S, E& [: o+ ^

) T, C$ i5 C: n0 B& `" i; X AXI SRAM区
8 t$ Z$ P- ~3 V! O  ]  O- R' e+ H- _7 l( I0 E

% }5 p& F- t& L8 H. b( W' U1 p位于D1域,数据带宽是64bit,挂在A**线上。除了D3域中的BDMB主控不能访问,其它都可以访问此RAM区。( J; Z$ J$ _/ G2 @( j. D. N
. d* v. [0 R9 K7 H4 e

$ [+ C, S  S* z; u% o. ^- k) a8 S" c速度:200MHz。
1 n! D& g, Z5 o6 ]1 b+ S
  _4 Y) `4 ^" ?; h& t2 f; a
* q. g  N* @  X8 E
地址:0x2400 0000,大小512KB。1 E0 O7 H& e2 l8 S5 ^# P* h7 v

3 D1 M: t5 L! K! l2 Q7 @

  K6 L6 P* s7 F9 g6 L" h用途:用途不限,可以用于用户应用数据存储或者LCD显存。  _! P) d5 C: C8 l* s5 P

2 @/ k8 V7 C6 n$ J! ~

( e4 X6 z" P% r5 L/ J SRAM1,SRAM2和SRAM3区- [$ p4 g3 ?& ?
$ i" ]( }; E/ J7 ^3 p1 n

( y) ~* w' m+ T( t* |- o. h位于D2域,数据带宽是32bit,挂在AHB总线上。除了D3域中的BDMB主控不能访问这三块SRAM,其它都可以访问这几个RAM区。, S4 t" q, N/ @9 K2 I& R* \% T

0 g8 `* H9 C, v: _5 W( g3 V) z" ]

' z' D6 d2 I# s6 U速度:200MHz。: \" ^8 Y8 p* X* C& o. p
. Z, g6 p* F7 u

/ M: Z# k- T) h, Z6 Z4 K5 fSRAM1:地址0x3000 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以当D1域断电后用于运行程序代码。
" m: G( E* [" n: O2 j7 z
2 x' v$ K. a7 n) p; R1 b, s
2 m7 i0 W7 C3 c2 g$ |9 z
SRAM2:地址0x3002 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以用于用户数据存取。
& ~8 Q* q+ Z: C- v
$ N5 H9 `& ?" J# X! h; h% a
: M. m: Z+ Q9 ~) p! A5 Q
SRAM3:地址0x3004 0000,大小32KB,用途不限,主要用于以太网和USB的缓冲。9 g, d5 ~# a+ H0 ]! h9 s! I7 E
# X, I* ]* ?, T3 x; |
' T9 P1 R5 I& `0 ~9 `
SRAM4区' D/ q! v' D& [( ^) h5 Q# E
0 E7 v+ }4 E0 V

6 A7 _: q4 _4 Q- i位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访这块SRAM区。5 x- i/ C! Q* Q( Q8 ?; W

% m+ j9 L" _/ z9 c! R6 y3 g

1 m& \/ Z; g: J( }( x  h速度:200MHz。' E; p3 i' g" H1 W& C

' e4 i9 V" ]+ z5 O

$ Z1 `8 [7 O. J. W; O地址:0x3800 0000,大小64KB。
+ @. i5 P$ j+ r; f: E/ b- C" S7 D8 R& K) E9 v! }

; b( T% X  u9 h/ h3 s6 Y7 ]. K" ^用途:用途不限,可以用于D3域中的DMA缓冲,也可以当D1和D2域进入DStandby待机方式后,继续保存用户数据。
$ O8 t9 d7 w# C* u5 Y
# n. V8 q, B! [
4 h  K3 a, l2 f' J6 I/ e
Backup SRAM区
4 N0 _! E! \/ s% E2 M% V# q
5 X( T" O6 _% o
3 c! f  r' B, F: o
备份RAM区,位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访问这块SRAM区。
. ]5 }& ]/ ?( `3 O5 O0 G9 q& X2 Q2 H7 M

7 R$ w/ k9 I- e1 `5 a, O1 W速度:200MHz。% `" t  t- a; {8 q7 p$ P
/ Q5 _2 e$ }! j# b3 X" M( p
* V0 P) `, J8 z" M
地址:0x3880 0000,大小4KB。
  P$ A3 k7 G1 R9 T; E. S
8 X. |1 a$ o2 N7 F# S

6 h) F# o" W* F' |0 A; T用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。
( L+ H. X5 h$ H! l: O; j/ s: }: A1 p
$ M: S  U7 i! c( r( R4 F6 z' r# l0 d1 f$ b
3.9   总结" i) C1 U2 w" x7 p$ m1 Y5 o
本章节就为大家讲解这么多,让大家对STM32H7有个整体的认识,后面章节将逐个进行学习。5 I: M! q5 X, y2 h9 v, g
5 p/ I' w1 U0 p+ ]
) i6 h: }, C$ C2 @, |& I

7 X6 S7 c2 y) k9 v% c' T& k
赞 收藏 评论0 发布时间:2021-10-19 10:31

举报

0个回答

所属标签

相似技术帖

官网相关资源

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