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

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

[复制链接]
STMCU小助手 发布时间:2021-12-27 18:00
在使用之前我们要先学**H7的内存分布,之前可能接触过ST的程序员没有发现有内存分布的特性,这可能是在M7系列新加的特性。
8 o2 w- X: S4 o3 {$ q% ^4 Y( [- ]* ]5 p4 r5 I$ ^8 R
TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM 用于指令,DTCM 用于数据,特点是跟内
* F/ M0 p5 e+ r( ?6 x核速度一样,而片上 RAM 的速度基本都达不到这个速度。
, Y6 T; Y$ H% t+ u% k: Q: A
5 t: d" v) L$ |& @3 c8 @$ mITCM 和 DTCM
2 M; d3 d: M  ~. f这两个是直连 CPU 的。
8 G) J. V% S5 \. t) V# H# c' k% K
1 M; `" \" x$ K- ~; c  c6 b  T. ?TCM 区
" @# }5 s. B& h- i6 nTCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM 用于运行指令,也就是程序代码,DTCM
  E9 |0 {# [% _/ x" a* B" h用于数据存取,特点是跟内核速度一样,而片上 RAM 的速度基本都达不到这个速度,所以有降频处
4 {6 T8 Q$ n9 l0 X4 q理。
8 o1 h" }7 g5 l. a5 a1 G( a6 J速度:400MHz。
: c1 W/ J: d) T+ \3 MDTCM 地址:0x2000 0000,大小 128KB。
$ @" f# d$ e3 K' k9 {7 L/ ~ITCM 地址:0x0000 0000,大小 64KB。
9 _/ k: y( F. K* x- i0 O1 T+ [- R" _! M8 r
AXI SRAM 区
/ o- G  v4 ]; l6 y4 `位于 D1 域,数据带宽是 64bit,挂在 AXI 总线上。除了 D3 域中的 BDMB 主控不能访问,其它都可: {2 p& n' G0 m1 q4 r% I* K& V+ k3 O! d
以访问此 RAM 区。! y6 T1 k5 C) ~) }3 ~, R! D
速度:200MHz。
. C* T. f" F4 F. [地址:0x2400 0000,大小 512KB。! r% C! B' R; g/ V
用途:用途不限,可以用于用户应用数据存储或者 LCD 显存。2 B& c0 c/ R% v
( J/ Z2 [; D4 |) ^
SRAM1,SRAM2 和 SRAM3 区
% ~) u9 A! u  s9 ~$ U) ]* g$ ~SRAM1:地址 0x3000 0000,大小 128KB,用途不限,可用于 D2 域中的 DMA 缓冲,也可以当
* ]3 a, {- Y+ RD1 域断电后用于运行程序代码。
+ L1 a5 D: f" c& O7 \5 U% L5 |# ?* DSRAM2:地址 0x3002 0000,大小 128KB,用途不限,可用于 D2 域中的 DMA 缓冲,也可以用于
' {; Z) j" l: n  m- D' k6 V用户数据存取。3 A2 o2 R# G6 X( G$ a; J
SRAM3:地址 0x3004 0000,大小 32KB,用途不限,主要用于以太网和 USB 的缓冲。
9 Q0 }+ E3 @/ _% W; @
( U+ H# w4 F! |, o6 }' n3 p3 _SRAM4 区6 d- n: H1 T, S$ j' ~* w  a
位于 D3 域,数据带宽是 32bit,挂在 AHB 总线上,大部分主控都能访这块 SRAM 区。
* w) ]; z7 M4 Z6 E2 k0 `7 @速度:200MHz。7 d6 J, i, c( L- _& W0 m
地址:0x3800 0000,大小 64KB。; v" ~+ s8 R0 P& }+ Z! x8 Y/ Z+ R
用途:用途不限,可以用于 D3 域中的 DMA 缓冲,也可以当 D1 和 D2 域进入 DStandby 待机方式& q" F, j1 z# x# ]% m' A3 Y
后,继续保存用户数据。
, ~+ V* u7 Q9 s7 k
( M( z7 `- y" o. B9 t9 F0 m9 o8 OBackup SRAM 区. O1 F1 [) {* [0 C1 ^
备份 RAM 区,位于 D3 域,数据带宽是 32bit,挂在 AHB 总线上,大部分主控都能访问这块 SRAM
  V3 X0 s' \% t& z4 p区。
) x) S' ^, B4 I; \! e7 W+ Z% e速度:200MHz。8 p/ ?- n3 D$ k/ T) \
地址:0x3880 0000,大小 4KB。) |9 k8 {6 b, F* w- f
用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat 引脚外接电池)。
; e. ?. I  G8 s1 ~" ?6 D
, d& B  h8 e# M1 s; |各块 RAM 的 DMA 问题' F3 u* p) m8 N0 \! D) o, u
之前写了一个空闲中断+DMA的例子,在F4的板子稳定运行,可是在H7上跑不通,所以才注意到了内存分布对DMA的影响8 H: S0 x0 w: F+ D( e: D$ b# a

) ?7 @  U+ f4 ~5 w8 [; B+ EDTCM 和 ITCM 不支持 DMA1,DMA2 和 BDMA,仅支持 MDMA。5 x/ n, R5 D; \6 f6 |4 O5 B" o
AXI SRAM,SRAM1,SRAM2,SRAM3 不支持 BDMA,支持 MDMA,DMA1 和 DMA2。4 r" ~9 N+ d# R2 U4 W$ x
SRAM4 支持所有 DMA,即 MDMA,DMA1,DMA2 和 BDMA。5 I' M4 Y% g8 o

+ |7 v, V1 h/ R鉴于 DTCM 是 400MHz 的,而其它的 RAM 都是 200MHz,推荐工程的主 RAM 空间采用 TCM,而
6 P- @) ^4 {$ n% p, W1 Z- E其它需要大 RAM 或者 DMA 的场合,使用剩余 RAM 空间。2 D4 A4 w3 |6 ]7 K, Z' [7 v% @  h
本教程配套的例子基本都是采用的这个方案,让 TCM 的性能得到最大发挥。' z0 T3 x. E$ _* h" q( L- u0 o

9 X& ?+ E( G* t8 f  ]  h
/ Z; J7 h( R2 q
收藏 评论0 发布时间:2021-12-27 18:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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