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

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

[复制链接]
flyingstar 发布时间:2025-3-26 10:13
本文为大家介绍STM32H7带的ITCM,DTCM,AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4和备份SRAM的基础知识。
( l1 P6 [% e9 Z+ P# B8 q( `
, x1 ~! b. t0 p) Y, m6 Q![TCM_02.png](http://uphotos.eepw.com.cn/jobs/pics/1741253722489722.png "1741253722489722.png"), s4 j+ A* S9 J' F0 k. F( X
/ z& t0 Y/ T$ e0 H+ W  }' w4 Q
上图可以方便识别总线所外挂的外设,共分为三个域:D1 Domain,D2 Domain和D3 Domain。
2 X7 B# M% h* _: Z
( [( W$ Y" M- N! k' j- g; h* t9 ]1、  ITCM和DTCM
. O8 W: o5 I1 f$ j: h" A; Z/ s0 ~3 o$ Q1 o/ e: w% B0 M
这两个是直连CPU的。
, M& r3 v( X1 `7 G7 p
& ~: P! D0 Y: k; T$ u2、  D1 Domain6 t, x' k1 G1 \+ t% i# x6 e: H2 l
8 d, Y# I1 @% M+ b5 V+ r
D1域中的各个外设是挂在64位A**线组成6*7的矩阵上。7 ]1 T7 b+ H3 k$ _: O5 b

. a/ W" k& B5 s' r6个从接口端ASIB1到ASIB6,外接的主控是LTDC,DMA2D,MDMA,SDMMC1,AXIM和D2-to-D1 AHB 总线。
" q7 y7 [0 Z( R6 R/ `( C" D6 f# u2 [! w4 c+ J
7个主接口端AMIB1到AMIB7,外接的从设备是AHB3总线,Flash A,Flash B,FMC总线,QSPI和AXI SRAM。另外AHB3也是由A**线分支出来的,然后再由AHB3分支出APB3总线。
& t8 N) Q# I0 {- c: L; Y" v( I, V, K0 Y9 m- D
3、  D2 Domain+ t2 W# }/ o9 n3 n4 n
3 U3 J# g2 G% s9 l8 }( F
D2域的各个外设是挂在32位AHB总线组成10*9的矩阵上。
# P* [' k* E" }/ q$ ~. E$ y% N
9 ]4 R& M0 Y" t& b: p. o/ l10个从接口,外接的主控是D1-to-D2 AHB 总线,AHBP总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1和USB HS2。
  V8 L  @6 e& B; F, @7 z
# ~- f/ P3 P5 l# ?9个主接口,外接的从设备是SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB1,APB2,D2-to-D1 AHB总线和D2-to-D3 AHB总线。! V+ `; }; ]  I: ~" U. N9 D7 i

" L/ l) ]+ f( F$ [" d; L& y4、  D3 Domain
5 m% b, `5 g# M5 p( b* N3 R( i- p
$ \* [3 J; e/ }0 V% uD3域的各个外设是挂在32位AHB总线组成3*2的矩阵上。7 [/ r7 A5 f* M. q9 O* Z

" t; r2 s. j3 X8 b+ f+ I3个从接口,外接的主控D1-to-D3 AHB总线,D2-to-D3 AHB总线和BDMA。) \6 H2 {( `  }4 e* \9 h9 O8 i

; P& I/ f5 U+ q- c8 `! E2个主接口,外接的从设备是AHB4,SRAM4和Bckp SRAM。另外AHB4也是这个总线矩阵分支出来的,然后再由AHB4分支出APB4总线
8 Y$ W- v/ ~  W+ d9 u! e2 Q& k& ?+ b6 x7 z
**各块RAM特性**$ E/ s4 R' B) F7 O( W
$ d5 D: _0 M  f% s% i
各块RAM的特性对比如下,特别注意他们支持的最大速度和容量大小。8 ~. X# L  T" k) u. a8 g

6 k+ V: {: {5 s% V**TCM区**5 D2 K9 R* X" k  V  l% ]
" W3 S1 v1 I0 C7 r5 k
TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM用于运行指令,也就是程序代码,DTCM用于数据存取,特点是跟内核速度一样,而片上RAM的速度基本都达不到这个速度,所以有降频处理。$ o6 y, h5 Q% L
7 l& n1 M& G& ]$ A0 f. w
速度:400MHz。DTCM地址:0x2000 0000,大小128KB。ITCM地址:0x0000 0000,大小64KB。
2 a1 i& T  c* s* V* T. D0 z% R( e9 q, F% c
**AXI SRAM区**
' O& P$ {# K6 c6 ?
$ k, l& c2 f+ n4 O/ {2 _2 i位于D1域,数据带宽是64bit,挂在A**线上。除了D3域中的BDMB主控不能访问,其它都可以访问此RAM区。
. D$ i: \- ?$ P8 R: B: Z2 t5 H/ p% H9 w  n  Z
速度:200MHz。地址:0x2400 0000,大小512KB。用途:用途不限,可以用于用户应用数据存储或者LCD显存。
/ z: j3 z! H, p/ t5 ^
7 L! f3 @+ r1 u4 a! M2 k: f**SRAM1,SRAM2和SRAM3区**
9 t, d6 C6 n& L7 J- P/ {
* q9 T5 ?/ q) O* O位于D2域,数据带宽是32bit,挂在AHB总线上。除了D3域中的BDMB主控不能访问这三块SRAM,其它都可以访问这几个RAM区。: M) b9 W9 W8 I2 H# q

4 D) i, o& L" m8 c4 w/ ]速度:200MHz。( }* j! e+ n  F+ n  a" z! l
0 d+ W& t  d3 P- Y
SRAM1:地址0x3000 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以当D1域断电后用于运行程序代码。. o% @& e. n+ Z0 e
2 ~& f' l) ]0 w+ U; @% P$ A0 P% i
SRAM2:地址0x3002 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以用于用户数据存取。
5 N: u, X/ Q$ K8 T4 i$ B6 R; }& c' |+ b1 W! t
SRAM3:地址0x3004 0000,大小32KB,用途不限,主要用于以太网和USB的缓冲。% {( d* L2 C% Y2 Y+ N
3 R: n2 p- W. j, v, @# d
**SRAM4区**
& }4 r+ ^+ e. `8 K* x) }2 l: x: ?2 |( j* G$ Q
位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访这块SRAM区。7 |% Q, W& `* l' L

7 Q; P$ V# Z0 j  _, z速度:200MHz。' \- \9 p. a  f/ q9 z5 G
0 H2 t- h( n( @" y9 x2 D
地址:0x3800 0000,大小64KB。" r, w$ M5 \8 g& G2 d$ [, i

+ k8 n2 T* r: f5 Q用途:用途不限,可以用于D3域中的DMA缓冲,也可以当D1和D2域进入DStandby待机方式后,继续保存用户数据。
. `8 @+ r/ B3 _1 k$ \
7 W4 E( f& `5 U4 n**Backup SRAM区**/ a9 [6 i8 k+ F9 t7 b4 [3 T$ l6 }

5 j# x  v! N5 u9 \备份RAM区,位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访问这块SRAM区。
3 Q" ?! _# R* e3 Y8 f2 A1 p7 L- n; Q/ `% _; _
速度:200MHz。8 ?- i5 o$ O% T$ ~$ m% `

$ d4 Y1 [4 v. g8 O地址:0x3880 0000,大小4KB。
! w0 ^1 ?4 }& B) H9 i& R7 w& I: w$ i. w
用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。
  D9 k1 c. a$ @, }% S  u" v4 P. K8 U: o. m1 G
RAM的时钟问题
# {: f* U9 f8 _# P; p8 v
8 w6 H' Z! s1 P+ [5 G0 ?正常情况下,系统上电后,CPU要访问的外设是需要使能对应的时钟位,但是下面这几个,CPU上电即可访问,而且芯片没有对应的寄存器使能位。& m( I0 \9 O9 [- E" {; a. G9 u
8 C) U0 b* r2 U& v
![TCM_03.png](http://uphotos.eepw.com.cn/jobs/pics/1741255389164756.png "1741255389164756.png")( \. J7 l" w# z! d8 }6 I) z# p
9 L7 ?# j. N% D4 C
也就是说AXI SRAM,SRAM4,ITCM和DTCM可以在上电后直接使用。而SRAM1,SRAM2,SRAM3是需要使能的,但是实际测试发现,不使能也可以正常使用。不过,建议用到时候开启下时钟,防止意想不到的问题发生。
$ Y5 z; B, P. w( u- T
) y+ y( q+ @' r; F**RAM的DMA问题**% N4 _) e& P* Y, h7 N8 h9 S& v. x

* z$ ^$ ~/ R9 v9 D5 H. R2 f先看下面的Bus Master总线主控端和Bus Slave设备端的控制互联:
- |" d% v! p' g8 C5 ]/ W2 Z; S$ J
( ^& \8 }4 h( m; x7 z" F# z& Y3 C( K![TCM_04.png](http://uphotos.eepw.com.cn/jobs/pics/1741255635967624.png "1741255635967624.png")* k' Z6 }0 z1 w4 V6 ~

. |8 \% r1 R  `) F/ M: G$ x9 U加粗字体是64位总线(ITCM,DTCM,Flash A,Flash,AXI SRAM,FMC等),普通字体是32位总线。
0 ?9 z. k) E/ K0 G" p/ k9 V# `% |访问通路(每个小方块里面的字符)
. g$ @* k0 V& a: X任何有数字的表示有访问通路。/ a  O, G, p! n
短横杠“-”表示不可访问。
- h2 [/ P1 J( n% m有灰色阴影的表示有实用价值的访问通路。
" S4 y! C" G0 ^5 ]表格中具体数值所代表的含义
- x& r; l' `; d; ?7 Y5 d4 ~D=direct,
' P* Z) _9 z, [; }' R( e# U! `1=via AXI bus matrix,
" r! M- T, X  b0 r2=via AHB bus matrix in D2,
, s0 U7 ~3 v& V3=via AHB bus matrix in D3,
! M3 x6 O1 O5 T! e+ j; T- n) x- z1 @4=via AHB/APB bridge in D1,
4 }, Z8 ^- d7 j* Z! U& T  s( R1 h9 k5=via AHB/APB bridge in D2,
/ \/ x0 U! H+ t9 ^) F. b6=via AHB/APB bridge in D3,/ B% H- u' ]3 N0 u
7=via AHBS bus of Cortex-M7,
3 {9 x* g! }, ~# s8 p# m# Z7 g8 p! l2 g4 h- P3 h# v
多个数值组合 = 互连路径以数字的顺序经过多个矩阵或/和桥。
+ B4 C0 n( Z7 R. [- J# ]  h1 w$ T4 X+ q3 T
总线访问类型
) m2 y6 F& ?+ P# v* ^# x
4 B1 }9 ~5 A7 V, j7 T3 Q普通字体表示32位总线。: P8 o+ R+ V/ }) n
2 ]1 V( x  n2 M( e
斜体表示32位总线主机端/ 64位总线从机端。
! v5 B; D, J0 T" z  n4 H- U, u' Y4 w3 U) C* W9 t
粗体表示64位总线。
- I' y5 N7 b! S8 n" }  j7 \* g  X0 X; y+ [( k
通过这个总线互联图,要了解到下面三个重要知识点:0 D6 q; B) D/ Y+ S9 C, f. F: M
& f: q. F0 |; o& N+ m, H
DTCM和ITCM不支持DMA1,DMA2和BDMA,仅支持MDMA。- H2 M* Y+ W8 K0 y/ B( M
6 ]3 o1 s$ ]" J" L" U' q
AXI SRAM,SRAM1,SRAM2,SRAM3不支持BDMA,支持MDMA,DMA1和DMA2。8 Y) h- m" u: T* z; P) G7 O
; ?0 A' A; X) n- Q
SRAM4支持所有DMA,即MDMA,DMA1,DMA2和BDMA。+ M2 Q7 M: E4 R' B
1741255635967624.png
1741255389164756.png
1741253722489722.png
收藏 评论0 发布时间:2025-3-26 10:13

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版