
本文为大家介绍STM32H7带的ITCM,DTCM,AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4和备份SRAM的基础知识。 * S3 ]) G; D6 w4 ^ 上图可以方便识别总线所外挂的外设,共分为三个域:D1 Domain,D2 Domain和D3 Domain。( w. h6 U/ y4 k$ T 1、 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 , 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 总线。 7个主接口端AMIB1到AMIB7,外接的从设备是AHB3总线,Flash A,Flash B,FMC总线,QSPI和AXI SRAM。另外AHB3也是由A**线分支出来的,然后再由AHB3分支出APB3总线。 3、 D2 Domain8 F. Z( x0 s0 J8 {' ?7 f( m2 R% ~ D2域的各个外设是挂在32位AHB总线组成10*9的矩阵上。 7 l. e; {* S1 g8 Z0 o# L 10个从接口,外接的主控是D1-to-D2 AHB 总线,AHBP总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1和USB HS2。 / 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总线。 # U& T( w" S: A( ]$ y) R7 A e, c 4、 D3 Domain D3域的各个外设是挂在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 2个主接口,外接的从设备是AHB4,SRAM4和Bckp SRAM。另外AHB4也是这个总线矩阵分支出来的,然后再由AHB4分支出APB4总线3 g! E) ^, H$ i# Z. P 3 r' j8 ?8 w- p5 x! y/ @ **各块RAM特性** " p4 {$ j3 a \8 } 各块RAM的特性对比如下,特别注意他们支持的最大速度和容量大小。6 d3 |( o. i* V- d5 } % S# {) s) `% m: L C **TCM区** 2 \! o: q6 K ~. N* o) b) J TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM用于运行指令,也就是程序代码,DTCM用于数据存取,特点是跟内核速度一样,而片上RAM的速度基本都达不到这个速度,所以有降频处理。 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区** 位于D1域,数据带宽是64bit,挂在A**线上。除了D3域中的BDMB主控不能访问,其它都可以访问此RAM区。& {) j+ p8 N. Y& p; U 速度: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 位于D2域,数据带宽是32bit,挂在AHB总线上。除了D3域中的BDMB主控不能访问这三块SRAM,其它都可以访问这几个RAM区。 速度:200MHz。. P( `+ R' T! ? SRAM1:地址0x3000 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以当D1域断电后用于运行程序代码。 / a5 Q6 G9 t; H SRAM2:地址0x3002 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以用于用户数据存取。 SRAM3:地址0x3004 0000,大小32KB,用途不限,主要用于以太网和USB的缓冲。 **SRAM4区** + X$ m/ T1 g- ~$ V* o) `) `/ H& Y 位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访这块SRAM区。 速度:200MHz。 地址:0x3800 0000,大小64KB。 用途:用途不限,可以用于D3域中的DMA缓冲,也可以当D1和D2域进入DStandby待机方式后,继续保存用户数据。4 q0 G x+ t; K+ N) _' W6 T **Backup SRAM区** 4 I( v5 s0 T! F4 V) }$ f6 J$ ~# [ 备份RAM区,位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访问这块SRAM区。 速度:200MHz。5 R# V' o# f, X" _- K 地址:0x3880 0000,大小4KB。9 n8 N) @7 j3 F. s3 i( {/ ] 用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。: B5 o. T2 l0 i" v- R: Z RAM的时钟问题, C/ K, T1 I- d3 |1 x& B, \9 V 正常情况下,系统上电后,CPU要访问的外设是需要使能对应的时钟位,但是下面这几个,CPU上电即可访问,而且芯片没有对应的寄存器使能位。  4 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 先看下面的Bus Master总线主控端和Bus Slave设备端的控制互联:2 N+ @) f: b9 W) i. t# A+ N3 R  2 [4 O; `$ x0 f3 C 加粗字体是64位总线(ITCM,DTCM,Flash A,Flash,AXI SRAM,FMC等),普通字体是32位总线。 访问通路(每个小方块里面的字符) 任何有数字的表示有访问通路。- 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 表格中具体数值所代表的含义 D=direct,& m0 \6 E+ n5 l& ^6 ] 1=via AXI bus matrix, 2=via AHB bus matrix in D2, 3=via AHB bus matrix in D3,* m3 Y( J+ R( a: B 4=via AHB/APB bridge in D1, 5=via AHB/APB bridge in D2,; I5 S/ C- F. [4 l ^ 6=via AHB/APB bridge in D3, 7=via AHBS bus of Cortex-M7, % `" S! O @7 v 多个数值组合 = 互连路径以数字的顺序经过多个矩阵或/和桥。4 E' k) V: {) i 总线访问类型" W0 z+ m+ l" {# D* e, J 普通字体表示32位总线。 . i$ x& ^3 w$ W; b$ s1 b$ q 斜体表示32位总线主机端/ 64位总线从机端。 " 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 AXI 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。 |
拷打cubemx【002】——自定义还需基于芯片的工程
STM32硬件结构学习
STM32中BOOT的作用
STM32H7的TCM,SRAM等五块内存基础知识
简单了解一下STM32H7的BDMA
有奖预约 | STM32H7R7基于RT-Thread RTOS的智能终端GUI解决方案
【STM32H745I-DISCO】基于TouchGFX的工业控制器界面设计
STM32H745I-DISCO串口打印
【STM32H745I-DISCO】TouchGFX探索——3、触屏滑屏操作与中文显示
TouchGFX软件下载及使用