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

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

[复制链接]
flyingstar 发布时间:2025-3-26 10:13
本文为大家介绍STM32H7带的ITCM,DTCM,AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4和备份SRAM的基础知识。
' s! a/ _; }. c( R) A8 \# T
$ K6 s' J4 M- _/ B) L/ R![TCM_02.png](http://uphotos.eepw.com.cn/jobs/pics/1741253722489722.png "1741253722489722.png")* S3 ]) G; D6 w4 ^

4 i! q! i7 Y' M3 h$ Z上图可以方便识别总线所外挂的外设,共分为三个域:D1 Domain,D2 Domain和D3 Domain。( w. h6 U/ y4 k$ T

# A5 p! I; Z* M9 J1、  ITCM和DTCM2 F/ ?; _1 t5 }: B' x5 u: G
" \  u6 Z/ Y) j/ v2 j9 A& j
这两个是直连CPU的。  `* [& H' X! }# a# M4 a6 c* s
# f$ N( h& i, ~7 l& q
2、  D1 Domain
' R: f7 L# H0 m9 c6 I8 l' V, v7 M: G6 K3 I& H
D1域中的各个外设是挂在64位A**线组成6*7的矩阵上。5 U( I3 D3 m3 `1 S& K5 h, x
1 [3 m5 f9 g" B( t+ j
6个从接口端ASIB1到ASIB6,外接的主控是LTDC,DMA2D,MDMA,SDMMC1,AXIM和D2-to-D1 AHB 总线。
) q; J6 n: S1 W# m* Z0 Y
" h: u4 V6 G9 o6 V' [) G  k# G7个主接口端AMIB1到AMIB7,外接的从设备是AHB3总线,Flash A,Flash B,FMC总线,QSPI和AXI SRAM。另外AHB3也是由A**线分支出来的,然后再由AHB3分支出APB3总线。
3 y) u* N9 k. a5 I3 |
' V, N$ z- y/ m5 s- v* I0 W3、  D2 Domain8 F. Z( x0 s0 J8 {' ?7 f( m2 R% ~

" m8 N: c3 U0 b' F6 y" t0 f  [7 z* SD2域的各个外设是挂在32位AHB总线组成10*9的矩阵上。
" O& u( J! @) ?; L4 h, }7 l. e; {* S1 g8 Z0 o# L
10个从接口,外接的主控是D1-to-D2 AHB 总线,AHBP总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1和USB HS2。
) F3 [3 ?7 n( f# M1 o9 t/ i3 g9 w# v! K" O( {7 O9 W
9个主接口,外接的从设备是SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB1,APB2,D2-to-D1 AHB总线和D2-to-D3 AHB总线。
/ s% k( f" [9 p0 h$ A# U& T( w" S: A( ]$ y) R7 A  e, c
4、  D3 Domain
. C& J% I& n5 v# O
% f! g$ F! f* N0 I& @7 sD3域的各个外设是挂在32位AHB总线组成3*2的矩阵上。$ c  T5 P7 e; M" Z- D. x) ?
8 m( C4 y. @6 j
3个从接口,外接的主控D1-to-D3 AHB总线,D2-to-D3 AHB总线和BDMA。3 P, C$ B& H$ ~- g/ Y

+ r4 I5 ?: N) H/ r2个主接口,外接的从设备是AHB4,SRAM4和Bckp SRAM。另外AHB4也是这个总线矩阵分支出来的,然后再由AHB4分支出APB4总线3 g! E) ^, H$ i# Z. P
3 r' j8 ?8 w- p5 x! y/ @
**各块RAM特性**
: E2 ?% s! B4 L; i7 k/ V6 L! G" p4 {$ j3 a  \8 }
各块RAM的特性对比如下,特别注意他们支持的最大速度和容量大小。6 d3 |( o. i* V- d5 }
% S# {) s) `% m: L  C
**TCM区**
* T/ n) L# p, K' T  U6 r9 l; W2 \! o: q6 K  ~. N* o) b) J
TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM用于运行指令,也就是程序代码,DTCM用于数据存取,特点是跟内核速度一样,而片上RAM的速度基本都达不到这个速度,所以有降频处理。
4 L6 b4 M+ N! [. o; ?( a& ?  L  I1 O7 R9 R+ F& ~
速度:400MHz。DTCM地址:0x2000 0000,大小128KB。ITCM地址:0x0000 0000,大小64KB。, T4 w( B  `5 Y
# u) `6 @- R9 Y- a
**AXI SRAM区**
9 T! j% e/ n+ O1 b4 P* @2 E
3 w/ {3 ?, q& z7 l& Z3 @位于D1域,数据带宽是64bit,挂在A**线上。除了D3域中的BDMB主控不能访问,其它都可以访问此RAM区。& {) j+ p8 N. Y& p; U

/ B) p! o* Y  e2 U. R* c5 O+ s0 k, l速度:200MHz。地址:0x2400 0000,大小512KB。用途:用途不限,可以用于用户应用数据存储或者LCD显存。: L6 G9 X1 G/ ^4 D; u" u9 V* V
* X. V& N; t2 X0 U+ _* [5 ~2 l
**SRAM1,SRAM2和SRAM3区**- x' i9 O1 d; c# a) K( k9 n

6 ]3 c7 I9 x; J) _位于D2域,数据带宽是32bit,挂在AHB总线上。除了D3域中的BDMB主控不能访问这三块SRAM,其它都可以访问这几个RAM区。
6 k* Z/ ^+ j8 s$ \% s
  U4 \4 L7 r7 b" o" }+ B3 B3 o8 o$ g; h速度:200MHz。. P( `+ R' T! ?

1 {4 ?/ ^( r/ W' \- H: S0 e/ eSRAM1:地址0x3000 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以当D1域断电后用于运行程序代码。
' p/ \$ E  k# r$ n( z2 e0 b/ a5 Q6 G9 t; H
SRAM2:地址0x3002 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以用于用户数据存取。
! D' o! t& z. Z! @( L. v2 H3 |3 A) C
' \* y  J) \8 ^/ |* jSRAM3:地址0x3004 0000,大小32KB,用途不限,主要用于以太网和USB的缓冲。
, G/ `& y3 Z0 [/ n# @- f
2 o* ^2 z/ |. h% P**SRAM4区**
* H8 k& W( i0 q' ]* ?+ X$ m/ T1 g- ~$ V* o) `) `/ H& Y
位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访这块SRAM区。
% _$ x! X0 c6 ~1 I* i0 s9 p5 V( G
5 L1 u) O1 \3 v5 u: U5 k9 p/ T速度:200MHz。
8 {6 I9 Y' `7 C. v! n; C
# `4 x; O: H1 U地址:0x3800 0000,大小64KB。
  W1 A7 @5 Z& j3 F
4 F& w! Z, s7 S5 J用途:用途不限,可以用于D3域中的DMA缓冲,也可以当D1和D2域进入DStandby待机方式后,继续保存用户数据。4 q0 G  x+ t; K+ N) _' W6 T

9 l. i5 V% u5 ~1 j- z7 p6 s6 o**Backup SRAM区**
, [% K4 b; c. E1 t$ O6 R2 r4 I( v5 s0 T! F4 V) }$ f6 J$ ~# [
备份RAM区,位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访问这块SRAM区。
# p3 c, h2 `; F' Z9 B
3 z) ], m$ \- A6 z6 h( n3 r; Z速度:200MHz。5 R# V' o# f, X" _- K

- _2 }$ F, m, A5 V地址:0x3880 0000,大小4KB。9 n8 N) @7 j3 F. s3 i( {/ ]

: S0 X, O. @9 h, Y* k6 s用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。: B5 o. T2 l0 i" v- R: Z

5 W( ]5 u3 P! U4 c( f1 L/ L5 vRAM的时钟问题, C/ K, T1 I- d3 |1 x& B, \9 V

1 G- H% @# I$ P, p正常情况下,系统上电后,CPU要访问的外设是需要使能对应的时钟位,但是下面这几个,CPU上电即可访问,而且芯片没有对应的寄存器使能位。
0 Y- B2 f0 Z* u- n; O( A3 D
3 R* C$ o9 N1 W: D% i% p5 D![TCM_03.png](http://uphotos.eepw.com.cn/jobs/pics/1741255389164756.png "1741255389164756.png")
2 w1 Z9 A0 n6 S6 \# e5 e6 M4 H$ `: k- T8 K- p4 {' `
也就是说AXI SRAM,SRAM4,ITCM和DTCM可以在上电后直接使用。而SRAM1,SRAM2,SRAM3是需要使能的,但是实际测试发现,不使能也可以正常使用。不过,建议用到时候开启下时钟,防止意想不到的问题发生。% v3 ]3 H. n+ O+ K2 O, q
2 m$ Q5 a4 C5 F* P8 y: Z; r
**RAM的DMA问题**1 L+ P$ F, @4 {+ h; s& W

; ~% _% z" ~. Z% [  w1 O先看下面的Bus Master总线主控端和Bus Slave设备端的控制互联:2 N+ @) f: b9 W) i. t# A+ N3 R

* y- n. ?* t6 s( e" \- t![TCM_04.png](http://uphotos.eepw.com.cn/jobs/pics/1741255635967624.png "1741255635967624.png")
1 A9 N+ R. Q0 C+ F  o2 [4 O; `$ x0 f3 C
加粗字体是64位总线(ITCM,DTCM,Flash A,Flash,AXI SRAM,FMC等),普通字体是32位总线。
) o" k0 b3 {8 J8 r- S: ]& z3 p, j3 B访问通路(每个小方块里面的字符)
' D; d+ g0 U5 u任何有数字的表示有访问通路。- Y# a% w. v0 E8 H. A: Y' \0 b* m
短横杠“-”表示不可访问。$ X$ J. v# n" h" T) ]$ l; {  G
有灰色阴影的表示有实用价值的访问通路。0 a' Z9 @. _# W! S) F" J
表格中具体数值所代表的含义
' x1 T. n! N" ^$ b& K* ND=direct,& m0 \6 E+ n5 l& ^6 ]
1=via AXI bus matrix,
% m* ^" A  b$ o2=via AHB bus matrix in D2,
, X0 E) y) B' N6 J! V! S# Q+ ~+ Z( a3=via AHB bus matrix in D3,* m3 Y( J+ R( a: B
4=via AHB/APB bridge in D1,
* q/ X/ _! F! q3 ^: g5=via AHB/APB bridge in D2,; I5 S/ C- F. [4 l  ^
6=via AHB/APB bridge in D3,
  F% \; X6 ?4 a7=via AHBS bus of Cortex-M7,
( w- z& s) D2 t" P# e# P% `" S! O  @7 v
多个数值组合 = 互连路径以数字的顺序经过多个矩阵或/和桥。4 E' k) V: {) i

/ L4 K3 Y7 f( m% @, E  b, j总线访问类型" W0 z+ m+ l" {# D* e, J

; K5 H4 ]2 J: M( m普通字体表示32位总线。
4 }1 \( m9 b) e9 C3 Y* m! @. i$ x& ^3 w$ W; b$ s1 b$ q
斜体表示32位总线主机端/ 64位总线从机端。
! v/ f$ z! Q! I: m6 O; C' M0 b" C9 B' o9 R9 Q
粗体表示64位总线。9 P+ x, R/ I# W; n5 _0 V
, Z2 A( p7 ^' X, B; e
通过这个总线互联图,要了解到下面三个重要知识点:; B5 C" W% G4 S7 l8 L3 r2 ?
) G; n" G- x1 s/ X9 |2 H
DTCM和ITCM不支持DMA1,DMA2和BDMA,仅支持MDMA。' \% l' Z; H" B* k) @; X- M

5 D  F0 p; Z3 R# R) PAXI SRAM,SRAM1,SRAM2,SRAM3不支持BDMA,支持MDMA,DMA1和DMA2。$ {- w! Q; J. B& e2 K7 Y8 \7 o
! {5 e) m2 ^' v
SRAM4支持所有DMA,即MDMA,DMA1,DMA2和BDMA。
% c( `" S0 f8 n, Y5 Y8 Q! |
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 手机版