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

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

[复制链接]
STMCU小助手 发布时间:2021-12-27 18:00
在使用之前我们要先学**H7的内存分布,之前可能接触过ST的程序员没有发现有内存分布的特性,这可能是在M7系列新加的特性。
0 ~/ W& k* y- K0 E7 c& Q
5 F4 g% {) x. J/ c4 pTCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM 用于指令,DTCM 用于数据,特点是跟内
+ Z( |6 R0 i: V- s" D核速度一样,而片上 RAM 的速度基本都达不到这个速度。
! k+ i- n' x# ^  [1 }. d, W: _$ Q( ^
3 Y  o$ p3 W8 R9 b/ EITCM 和 DTCM
+ h4 c4 e+ X2 l1 R这两个是直连 CPU 的。
) ^: |+ w8 F9 @; {$ ]5 Q) Y  T  F
1 S; h1 x% h' b( t  `TCM 区+ x% n3 J2 w; |* z' H" S
TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM 用于运行指令,也就是程序代码,DTCM9 f# I" V& k( p% H! H9 h
用于数据存取,特点是跟内核速度一样,而片上 RAM 的速度基本都达不到这个速度,所以有降频处4 S" N1 g2 i  ]  \
理。
: `2 f! g6 V% G, t+ U/ u7 m7 T! b* y速度:400MHz。& [6 t7 W- u1 k; O
DTCM 地址:0x2000 0000,大小 128KB。" W% K7 v9 }8 e4 h. j5 Z( B, V7 D
ITCM 地址:0x0000 0000,大小 64KB。3 Y6 x  r- I! z1 d# f8 {5 ~

4 J; T& W1 \8 V1 sAXI SRAM 区' b. h5 p. c& \5 `& q) }% m
位于 D1 域,数据带宽是 64bit,挂在 AXI 总线上。除了 D3 域中的 BDMB 主控不能访问,其它都可3 z3 M* l/ D4 n: _; H- B$ ~5 L
以访问此 RAM 区。+ Y, T/ z" U! i" e: T9 ?" d$ c
速度:200MHz。
4 f' f6 D8 ~, F# q/ u) b3 T地址:0x2400 0000,大小 512KB。- J! P3 p: S5 W/ {/ V: E
用途:用途不限,可以用于用户应用数据存储或者 LCD 显存。/ g8 @6 H, X8 A" R

2 T5 n. e+ M' u5 l# A2 e6 \SRAM1,SRAM2 和 SRAM3 区4 Z! Y" p) Y) P- U) N' G- Q
SRAM1:地址 0x3000 0000,大小 128KB,用途不限,可用于 D2 域中的 DMA 缓冲,也可以当2 M" y0 S% W5 y, v8 [+ l: }
D1 域断电后用于运行程序代码。
3 J4 ?; v$ Y1 Y, D% aSRAM2:地址 0x3002 0000,大小 128KB,用途不限,可用于 D2 域中的 DMA 缓冲,也可以用于' P. i! `. h. q3 g5 u+ V; N) ~
用户数据存取。
& f& ^6 l* U3 k3 t4 V# WSRAM3:地址 0x3004 0000,大小 32KB,用途不限,主要用于以太网和 USB 的缓冲。
1 v0 ^+ a7 [+ a4 p! U/ ]* O" \, w! D" t
SRAM4 区5 p: K  O( J2 j7 E
位于 D3 域,数据带宽是 32bit,挂在 AHB 总线上,大部分主控都能访这块 SRAM 区。
6 X8 ?/ X( f* F) b6 Y速度:200MHz。
; N% U' d: O; W地址:0x3800 0000,大小 64KB。
5 W; y' U% h1 _& K4 X2 x! N6 g" Z用途:用途不限,可以用于 D3 域中的 DMA 缓冲,也可以当 D1 和 D2 域进入 DStandby 待机方式
- a7 ]$ L$ M! a$ k; u' J. B9 ]后,继续保存用户数据。) E% Q9 s0 [& J9 X3 Z2 P0 s

7 l* W" l9 @# XBackup SRAM 区; H8 h$ q/ D2 o
备份 RAM 区,位于 D3 域,数据带宽是 32bit,挂在 AHB 总线上,大部分主控都能访问这块 SRAM( b: H9 c% f4 l: n  j& {
区。
: a/ u+ E/ |2 c速度:200MHz。! m* k+ E" m- M4 O" @2 [4 J! t5 k
地址:0x3880 0000,大小 4KB。& t% S& z: R8 O# o7 z# ]
用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat 引脚外接电池)。+ g% c- R2 l/ m# b! W3 ]' P4 M

0 a9 f9 O7 n: `2 e) l2 I3 V各块 RAM 的 DMA 问题" [4 p; J: A+ |, H6 q: ?8 }
之前写了一个空闲中断+DMA的例子,在F4的板子稳定运行,可是在H7上跑不通,所以才注意到了内存分布对DMA的影响# m: s  \8 R0 j% U+ U) w8 w( X
: A( \; W% M$ _5 w
DTCM 和 ITCM 不支持 DMA1,DMA2 和 BDMA,仅支持 MDMA。
4 o, l! `; J6 x3 o" QAXI SRAM,SRAM1,SRAM2,SRAM3 不支持 BDMA,支持 MDMA,DMA1 和 DMA2。5 K6 I; ?' R, g: d
SRAM4 支持所有 DMA,即 MDMA,DMA1,DMA2 和 BDMA。* q9 x& i" B4 p! ]& O
4 U# {1 C$ ]& \* J* [
鉴于 DTCM 是 400MHz 的,而其它的 RAM 都是 200MHz,推荐工程的主 RAM 空间采用 TCM,而
' X3 G; k0 T6 _7 `/ E# d* W$ V% s其它需要大 RAM 或者 DMA 的场合,使用剩余 RAM 空间。
! I2 Y, C; N- v! P: V本教程配套的例子基本都是采用的这个方案,让 TCM 的性能得到最大发挥。
* e* Q! L$ h- [; P' @5 Q5 s7 ?. s4 h( P5 ?" ?
* v$ i5 N$ S; d8 k7 u, x$ n
赞 收藏 评论0 发布时间:2021-12-27 18:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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