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

STM32H7的TCM,SRAM等五块内存基础知识

[复制链接]
flyingstar 发布时间:2025-3-26 10:13
本文为大家介绍STM32H7带的ITCM,DTCM,AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4和备份SRAM的基础知识。: M9 \& C6 v" a1 P
9 l9 p0 q# a4 }7 j8 j) V4 z* P; |
![TCM_02.png](http://uphotos.eepw.com.cn/jobs/pics/1741253722489722.png "1741253722489722.png")
. @/ T& s' h4 s! H( r  t. ]
6 c+ t. G' {4 }# @' k6 o* g上图可以方便识别总线所外挂的外设,共分为三个域:D1 Domain,D2 Domain和D3 Domain。
" K: G4 _: V8 ]# ^7 u! |. @. E; v( U( B. o- E/ k3 c) u7 E
1、  ITCM和DTCM
6 s6 D- l/ Z8 Z7 }
. J; W6 H- @& ~; U这两个是直连CPU的。6 @4 @* \! x! d
/ [/ |1 f" h7 ]$ d9 x, `
2、  D1 Domain
  E. o% c2 j5 T1 u* h6 S! U6 N) ?; i) x! o- N9 c& c1 B
D1域中的各个外设是挂在64位A**线组成6*7的矩阵上。
9 |* [& S4 j. X+ _; x
! ]9 e3 w% Q7 u  i. |8 q6个从接口端ASIB1到ASIB6,外接的主控是LTDC,DMA2D,MDMA,SDMMC1,AXIM和D2-to-D1 AHB 总线。/ y" U' w! I: u1 i3 _- H

7 g7 w8 M" D& T7个主接口端AMIB1到AMIB7,外接的从设备是AHB3总线,Flash A,Flash B,FMC总线,QSPI和AXI SRAM。另外AHB3也是由A**线分支出来的,然后再由AHB3分支出APB3总线。
2 K+ r+ v& l8 ~! ^2 a
, A" y& ^$ Q- T5 z6 E# |% \: u3 e3、  D2 Domain+ e; U6 M& c/ g# H/ ]0 w

" s8 L2 Q/ j9 UD2域的各个外设是挂在32位AHB总线组成10*9的矩阵上。
, y5 Z, `  H- K: q  X
9 ~- I- K! A9 X7 _9 k. `10个从接口,外接的主控是D1-to-D2 AHB 总线,AHBP总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1和USB HS2。6 \4 {6 I0 N; ~$ h# I
! ^- O$ s: {* H0 J  E0 h
9个主接口,外接的从设备是SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB1,APB2,D2-to-D1 AHB总线和D2-to-D3 AHB总线。7 F2 v' D# W3 B" o5 Y* J( ^

; X( K' b: L% F" [5 D$ N4、  D3 Domain
7 ?; h1 W4 Y% G& @3 M
' J6 @  x( ~1 w7 A+ ~$ \1 sD3域的各个外设是挂在32位AHB总线组成3*2的矩阵上。
, L8 D  F2 r- y6 P9 {4 r" N! d. e/ F
3个从接口,外接的主控D1-to-D3 AHB总线,D2-to-D3 AHB总线和BDMA。
1 v) q# O  ^* D2 W2 E& ~+ ]
1 d- d2 G( ?% Q8 E! h2个主接口,外接的从设备是AHB4,SRAM4和Bckp SRAM。另外AHB4也是这个总线矩阵分支出来的,然后再由AHB4分支出APB4总线
  l+ r/ z0 f/ V" o# Y" x
9 ~; P# Z- [- Y) t  s**各块RAM特性**
$ H- z9 A: }' ]% [+ {5 R' Q# F. b1 |. Q) v; D* G  f9 q
各块RAM的特性对比如下,特别注意他们支持的最大速度和容量大小。0 C7 O0 K; i+ W1 ]4 N0 f
: M( j! x) T0 u% `
**TCM区**
" j5 B8 r1 ]2 J# t& q2 y0 ?( x' l/ V8 |! l5 _6 [
TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM用于运行指令,也就是程序代码,DTCM用于数据存取,特点是跟内核速度一样,而片上RAM的速度基本都达不到这个速度,所以有降频处理。  N7 n9 c, x1 ^8 h
+ K8 j, ~" g- ]  O: c8 c3 I2 w( s6 M
速度:400MHz。DTCM地址:0x2000 0000,大小128KB。ITCM地址:0x0000 0000,大小64KB。3 K" U& E9 s3 `9 B
' [( u- s8 }6 S% B; G2 x
**AXI SRAM区**
+ @. l* `6 j7 ~6 Y* I1 n& d" O* x1 k7 n: {& D. B, `
位于D1域,数据带宽是64bit,挂在A**线上。除了D3域中的BDMB主控不能访问,其它都可以访问此RAM区。7 L5 d# j1 ^& O

* U1 E3 G/ @% I速度:200MHz。地址:0x2400 0000,大小512KB。用途:用途不限,可以用于用户应用数据存储或者LCD显存。
( T- I3 a" ^: S- Q3 ^% V
3 G5 e; ^+ u! _$ i( g6 V! X**SRAM1,SRAM2和SRAM3区**
. L7 U) s+ i2 g+ j" x# Z
7 s) A' z5 x# p4 r位于D2域,数据带宽是32bit,挂在AHB总线上。除了D3域中的BDMB主控不能访问这三块SRAM,其它都可以访问这几个RAM区。
+ }. r, l& D" s% o& ]% r. L3 F' e: q2 S0 @
速度:200MHz。
6 P# F/ P! Z: T& b% ~/ d( E8 h7 i0 b2 i3 F
SRAM1:地址0x3000 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以当D1域断电后用于运行程序代码。& j9 \% F. S" ^6 Z( D6 Z
' E0 f8 K8 K! W2 }5 M0 p
SRAM2:地址0x3002 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以用于用户数据存取。( h) ]# C! N- Q8 b  X5 L# b* c' m5 ]
4 x6 g9 U5 O: ~! b+ s
SRAM3:地址0x3004 0000,大小32KB,用途不限,主要用于以太网和USB的缓冲。
, ^6 X; r* @( S* j7 N& C6 ?- S+ m& \: J; k
**SRAM4区**7 w2 U) c' I8 X3 ^1 \4 Q
7 p* f1 M6 v9 u$ C/ @9 S
位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访这块SRAM区。: e; }+ {" O5 T9 h; B5 q; v8 V
/ y6 W9 E  [6 T
速度:200MHz。
. G9 O  X% Y. E. I+ A  e: C8 F" O3 Q& \% ^# n; B2 M
地址:0x3800 0000,大小64KB。
; {+ Y! R' U+ S" h/ |, u
; G) R$ N5 w* r, T用途:用途不限,可以用于D3域中的DMA缓冲,也可以当D1和D2域进入DStandby待机方式后,继续保存用户数据。: z: r% @. ?3 A6 G! @$ e

3 j* \8 V: P9 T" \**Backup SRAM区**; D& H0 m$ ]# H# L' N
8 D6 v, r& w; v4 ]
备份RAM区,位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访问这块SRAM区。
2 T- H  i  ?# B
3 z* \3 j  Q9 f6 w+ F3 F速度:200MHz。. E: E- X" O3 ?2 d3 }
( G# p$ i: L( `: ^/ R
地址:0x3880 0000,大小4KB。" P! e  y6 r* n: [6 D  Y5 |- B

% R0 K2 F5 R7 M+ g* `用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。$ p7 j1 ^' l" _' K# O/ y0 H

: s* H4 q: k$ {7 H7 N, b; P/ H! MRAM的时钟问题4 J8 O! z$ M' m

# f! I/ L+ F7 y- V7 [6 Z- ?5 U: S正常情况下,系统上电后,CPU要访问的外设是需要使能对应的时钟位,但是下面这几个,CPU上电即可访问,而且芯片没有对应的寄存器使能位。5 l/ j/ W9 o8 R1 A0 \) |2 m

; y6 d/ ?4 Q# h8 g![TCM_03.png](http://uphotos.eepw.com.cn/jobs/pics/1741255389164756.png "1741255389164756.png"), M% b. _- W# L1 q
$ I" Y" B$ B, b/ W! @5 h3 k
也就是说AXI SRAM,SRAM4,ITCM和DTCM可以在上电后直接使用。而SRAM1,SRAM2,SRAM3是需要使能的,但是实际测试发现,不使能也可以正常使用。不过,建议用到时候开启下时钟,防止意想不到的问题发生。
# P; \2 e- e2 O/ t  d  V
. C: l" t3 ~6 ]9 {**RAM的DMA问题**# g2 F7 L: w1 j7 a- a( G, a

" P+ U" a4 X$ ]先看下面的Bus Master总线主控端和Bus Slave设备端的控制互联:
7 F$ }; }2 b0 Z. o+ f- j' N* k4 Y$ b# n% z
![TCM_04.png](http://uphotos.eepw.com.cn/jobs/pics/1741255635967624.png "1741255635967624.png")
" N4 z8 }7 H4 e* L" q. m* o9 K. n6 }* I7 i, I
加粗字体是64位总线(ITCM,DTCM,Flash A,Flash,AXI SRAM,FMC等),普通字体是32位总线。  r/ }( K  u8 U
访问通路(每个小方块里面的字符)
: ?. ?7 S( i# e2 o6 A( G+ M任何有数字的表示有访问通路。
* v+ D  g" A9 R7 k6 o% V! i+ t短横杠“-”表示不可访问。3 `: e$ D( I: ~# r% W: i! G' G
有灰色阴影的表示有实用价值的访问通路。0 A7 [4 s$ M: d6 l
表格中具体数值所代表的含义. D2 L4 L' }6 j$ ~1 x6 m; X* ?
D=direct,
% Y. h/ h  l1 I2 o& B1=via AXI bus matrix,
! l: a6 b8 f2 ~2 B. E2=via AHB bus matrix in D2,9 m6 v; z1 k+ L+ B0 E, I: p4 z
3=via AHB bus matrix in D3,# _6 \: z$ e1 s% `
4=via AHB/APB bridge in D1,3 T1 @4 f+ A: w* w
5=via AHB/APB bridge in D2,
* O: H1 t  \. T, z$ y6=via AHB/APB bridge in D3,4 b7 e: {, T9 r- p
7=via AHBS bus of Cortex-M7,7 d5 d2 Y3 @4 B' R
1 `9 s# d0 F! J4 E- D# X( d
多个数值组合 = 互连路径以数字的顺序经过多个矩阵或/和桥。
" O$ r0 C' p) C* Y$ p* Q( L" ^. u) q% }7 m. Q
总线访问类型1 A; @6 a5 a7 T5 j$ \( C! S

& O- J, s& v1 Z普通字体表示32位总线。
* R3 I$ s6 k+ \( m# I- |% j' B. q! W
斜体表示32位总线主机端/ 64位总线从机端。
3 J) [# c* r$ {3 Z0 |9 q( @& c9 z' P3 U" ]* l% J! D
粗体表示64位总线。  G* P  L0 }' Y, L

6 @  n: Z0 Z( N" S6 E/ z通过这个总线互联图,要了解到下面三个重要知识点:. ]' _, p, E& P8 b) n
/ ^6 K" W' e0 h
DTCM和ITCM不支持DMA1,DMA2和BDMA,仅支持MDMA。
3 t1 k5 \+ j: [- l+ \$ O& A  ]! u5 L1 M8 g+ H
AXI SRAM,SRAM1,SRAM2,SRAM3不支持BDMA,支持MDMA,DMA1和DMA2。
# b: _( O7 t. l# L+ ~; w- G: S0 g  i; I- L
SRAM4支持所有DMA,即MDMA,DMA1,DMA2和BDMA。
4 P8 `; L; v9 ~" r( A; Y& ^: P
1741255635967624.png
1741255389164756.png
1741253722489722.png
赞 收藏 评论0 发布时间:2025-3-26 10:13

举报

0个回答

所属标签

相似技术帖

官网相关资源

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