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

【经验分享】STM32H7内存分布的学习

[复制链接]
STMCU小助手 发布时间:2021-12-27 18:00
在使用之前我们要先学**H7的内存分布,之前可能接触过ST的程序员没有发现有内存分布的特性,这可能是在M7系列新加的特性。4 ]" N0 W7 B7 Z: G0 G
  M, p2 Q4 \8 `5 o! H1 [, M
TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM 用于指令,DTCM 用于数据,特点是跟内8 p0 v3 m8 A9 @$ O5 K9 S
核速度一样,而片上 RAM 的速度基本都达不到这个速度。
) K# d' y! o1 D7 h2 ], ^5 Z* Z. y  z7 ~+ O4 c
ITCM 和 DTCM
  V" E& Q* [- B! o' J1 v) h4 F( S这两个是直连 CPU 的。9 A0 L6 o  Y- l5 h
5 h0 V! n/ i8 V$ O
TCM 区- u. ]+ H# g, R2 I2 r" o
TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM 用于运行指令,也就是程序代码,DTCM
5 p0 P" o! w& v  f: @- K0 Q3 h用于数据存取,特点是跟内核速度一样,而片上 RAM 的速度基本都达不到这个速度,所以有降频处
- I9 |/ [: G8 U( {' l6 X理。3 Q* F; N8 V5 A6 i
速度:400MHz。  g4 h, F+ K7 R  Q& \* Y
DTCM 地址:0x2000 0000,大小 128KB。
/ l- {  c' T) zITCM 地址:0x0000 0000,大小 64KB。
( `. k. G6 ^7 w; r% w+ Y3 E+ S% o# T* ?+ s4 ?
AXI SRAM 区! m# n4 ?0 K% [, F, p
位于 D1 域,数据带宽是 64bit,挂在 AXI 总线上。除了 D3 域中的 BDMB 主控不能访问,其它都可2 ]" P0 |7 ^& E/ A; E7 G
以访问此 RAM 区。
1 ]" Q6 N7 H9 ^% U% `速度:200MHz。/ T, @2 }9 Z0 @, @
地址:0x2400 0000,大小 512KB。
" k" o- p6 g" ~( ]# p用途:用途不限,可以用于用户应用数据存储或者 LCD 显存。: `1 E) n7 g- m3 o) g1 {

* D2 A9 N6 Q, K- y) _SRAM1,SRAM2 和 SRAM3 区# h+ O4 Y1 s+ ^
SRAM1:地址 0x3000 0000,大小 128KB,用途不限,可用于 D2 域中的 DMA 缓冲,也可以当4 g" b3 ~7 X& ?: |, e
D1 域断电后用于运行程序代码。
8 Z. h+ o4 g# o8 |: g- WSRAM2:地址 0x3002 0000,大小 128KB,用途不限,可用于 D2 域中的 DMA 缓冲,也可以用于
! S: Z, \1 R' S' I* }6 F用户数据存取。2 ^. h7 Z* Z8 q5 G- ~
SRAM3:地址 0x3004 0000,大小 32KB,用途不限,主要用于以太网和 USB 的缓冲。1 W; p$ Y6 [1 z; q

0 l! g) q) j8 t5 N% h- mSRAM4 区
3 c2 n- a  U! ^& ~; g% V% K: Y位于 D3 域,数据带宽是 32bit,挂在 AHB 总线上,大部分主控都能访这块 SRAM 区。
4 v* S  m- M- o* O: M" a+ f4 f  [速度:200MHz。
& {0 h8 L4 v$ t' \地址:0x3800 0000,大小 64KB。
9 C* y! }6 c4 V/ _  G2 [用途:用途不限,可以用于 D3 域中的 DMA 缓冲,也可以当 D1 和 D2 域进入 DStandby 待机方式/ c: l, v4 D. J  W4 w' C
后,继续保存用户数据。1 t7 M% p. D+ q6 ^9 M5 f7 p

4 ~1 c5 d5 E/ e: J9 @7 s# b9 D3 uBackup SRAM 区* g6 v1 ]  A+ j# b
备份 RAM 区,位于 D3 域,数据带宽是 32bit,挂在 AHB 总线上,大部分主控都能访问这块 SRAM( ?! X# I. y2 n; |- S5 @+ N5 v. x
区。
) E  V& e2 K; W' U6 R速度:200MHz。4 _7 C. ]7 P3 t$ H, o. ^
地址:0x3880 0000,大小 4KB。8 f6 {( }# f1 a$ o( C
用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat 引脚外接电池)。# g' `' t; l5 ^+ ]+ m' @) ^
6 N# ~8 B& h/ x: q- q) l) j. m
各块 RAM 的 DMA 问题
: p' Z# p  m, ?% F# n6 N之前写了一个空闲中断+DMA的例子,在F4的板子稳定运行,可是在H7上跑不通,所以才注意到了内存分布对DMA的影响( a. p" A2 N% G; R

$ ?' n5 Q7 {" @) v  H& [DTCM 和 ITCM 不支持 DMA1,DMA2 和 BDMA,仅支持 MDMA。# p# m3 e: K0 g2 d
AXI SRAM,SRAM1,SRAM2,SRAM3 不支持 BDMA,支持 MDMA,DMA1 和 DMA2。
2 Z7 C  {$ H" W3 CSRAM4 支持所有 DMA,即 MDMA,DMA1,DMA2 和 BDMA。
, ?: h4 W: T2 a; P1 ~+ k- U
; k+ {! @; e6 o) a$ _* K- E! j鉴于 DTCM 是 400MHz 的,而其它的 RAM 都是 200MHz,推荐工程的主 RAM 空间采用 TCM,而& s- t; D& [- ?
其它需要大 RAM 或者 DMA 的场合,使用剩余 RAM 空间。
2 e: B. v+ P, D' h8 a" l' J, g本教程配套的例子基本都是采用的这个方案,让 TCM 的性能得到最大发挥。! h5 f( J- G- Y, R1 C
0 p7 W' [) f4 W# V0 Q4 T
9 v) b) ^* b4 G. v  Y1 S& I; y& Z2 R( T1 D
赞 收藏 评论0 发布时间:2021-12-27 18:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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