
本文为大家介绍STM32H7带的ITCM,DTCM,AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4和备份SRAM的基础知识。  u) N8 H" i. [" c2 a+ S+ w+ n 上图可以方便识别总线所外挂的外设,共分为三个域:D1 Domain,D2 Domain和D3 Domain。" I- F* X. j! `5 p# S' A 1、 ITCM和DTCM 2 B# H. U9 R- R3 b% ?, C* @ 这两个是直连CPU的。9 b D# r7 `0 l5 N* \0 g6 a 2、 D1 Domain/ t& n) l6 O$ E: P* [: U. U! M $ B' F: g+ A$ H+ Z: A" O9 l D1域中的各个外设是挂在64位A**线组成6*7的矩阵上。 + f e; [" T1 f+ F/ u& c 6个从接口端ASIB1到ASIB6,外接的主控是LTDC,DMA2D,MDMA,SDMMC1,AXIM和D2-to-D1 AHB 总线。- U( f8 J+ b q) W7 e/ ]/ E 7个主接口端AMIB1到AMIB7,外接的从设备是AHB3总线,Flash A,Flash B,FMC总线,QSPI和AXI SRAM。另外AHB3也是由A**线分支出来的,然后再由AHB3分支出APB3总线。1 [6 r, U) b6 V& u 3、 D2 Domain * k. p, R e: A" E( _ D2域的各个外设是挂在32位AHB总线组成10*9的矩阵上。 10个从接口,外接的主控是D1-to-D2 AHB 总线,AHBP总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1和USB HS2。) i, |9 N7 R% M* T2 Z: r U # H7 {7 @$ a" r/ u& { 9个主接口,外接的从设备是SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB1,APB2,D2-to-D1 AHB总线和D2-to-D3 AHB总线。) I S1 p2 W7 P 4、 D3 Domain D3域的各个外设是挂在32位AHB总线组成3*2的矩阵上。3 d# V( i. y, @; m 5 D3 h' \) a4 J+ l 3个从接口,外接的主控D1-to-D3 AHB总线,D2-to-D3 AHB总线和BDMA。 2个主接口,外接的从设备是AHB4,SRAM4和Bckp SRAM。另外AHB4也是这个总线矩阵分支出来的,然后再由AHB4分支出APB4总线 P3 Z! _8 c1 `5 W **各块RAM特性**& @( o8 b3 j: b( J; s 4 i6 v$ p9 P( m- W" m0 o: s 各块RAM的特性对比如下,特别注意他们支持的最大速度和容量大小。 " Q3 q* n8 H- _8 F **TCM区** TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM用于运行指令,也就是程序代码,DTCM用于数据存取,特点是跟内核速度一样,而片上RAM的速度基本都达不到这个速度,所以有降频处理。 * f, `) b% g) L, U1 v 速度:400MHz。DTCM地址:0x2000 0000,大小128KB。ITCM地址:0x0000 0000,大小64KB。4 G& Q4 E/ I2 V / R0 o% s2 U1 ?2 _8 G4 k **AXI SRAM区** 位于D1域,数据带宽是64bit,挂在A**线上。除了D3域中的BDMB主控不能访问,其它都可以访问此RAM区。6 ^, w( o; K2 v 速度:200MHz。地址:0x2400 0000,大小512KB。用途:用途不限,可以用于用户应用数据存储或者LCD显存。6 P" M% h2 D$ G$ q **SRAM1,SRAM2和SRAM3区**5 C8 f1 ^( O1 Q' M! K9 K. h 位于D2域,数据带宽是32bit,挂在AHB总线上。除了D3域中的BDMB主控不能访问这三块SRAM,其它都可以访问这几个RAM区。# o N, t0 ?6 W, k7 ] ( |6 v9 y4 A) B4 z 速度:200MHz。+ B. l& |2 U- @ SRAM1:地址0x3000 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以当D1域断电后用于运行程序代码。* w5 z( S% t$ T4 f SRAM2:地址0x3002 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以用于用户数据存取。 SRAM3:地址0x3004 0000,大小32KB,用途不限,主要用于以太网和USB的缓冲。1 L$ {4 p/ H5 ]4 h3 c 3 u) M% A# f& Z/ U& W, q **SRAM4区** 位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访这块SRAM区。* ?# ^$ d" E# }9 J$ q( O5 ~ : o6 y/ f) I. t6 r; J& g# f& i 速度:200MHz。. d+ N2 ]& _0 M: X5 b 地址:0x3800 0000,大小64KB。1 Y9 X0 {5 _. h& B- U5 n, D 4 j7 g# e) T! j/ m. d0 r9 B% R) a6 ] 用途:用途不限,可以用于D3域中的DMA缓冲,也可以当D1和D2域进入DStandby待机方式后,继续保存用户数据。 **Backup SRAM区**! U: O1 j5 o# g: H X( e* o7 x 3 c7 d* m' M- h# I/ R 备份RAM区,位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访问这块SRAM区。0 o* \ ]& o0 N# }8 z 速度:200MHz。 e3 B1 K' S3 `- p8 Z' n6 T ( @3 S* u( i6 G/ S, z% H$ l 地址:0x3880 0000,大小4KB。* T+ o! j( u$ J) T2 l) u7 w/ U 9 @4 s8 ?0 F3 Q3 T# ?) \ 用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。& b1 z+ k$ q6 x' S/ O # ]- J# i5 ^/ q z RAM的时钟问题 正常情况下,系统上电后,CPU要访问的外设是需要使能对应的时钟位,但是下面这几个,CPU上电即可访问,而且芯片没有对应的寄存器使能位。+ k0 v# U4 }" {( G( L, d' U, j 5 J2 L5 ` S; T$ Q* Q* N3 j 也就是说AXI SRAM,SRAM4,ITCM和DTCM可以在上电后直接使用。而SRAM1,SRAM2,SRAM3是需要使能的,但是实际测试发现,不使能也可以正常使用。不过,建议用到时候开启下时钟,防止意想不到的问题发生。 **RAM的DMA问题** & I* s% {; a+ h* Y) z 先看下面的Bus Master总线主控端和Bus Slave设备端的控制互联: ) }3 s2 T. y K7 d7 h; a1 z2 k. [ 3 @3 G: ~2 f: } ?2 Q9 ` . A" ]! ^; E! n' m0 _# w8 w 加粗字体是64位总线(ITCM,DTCM,Flash A,Flash,AXI SRAM,FMC等),普通字体是32位总线。 访问通路(每个小方块里面的字符)" Y+ t: I# O5 f- `3 u 任何有数字的表示有访问通路。 短横杠“-”表示不可访问。 有灰色阴影的表示有实用价值的访问通路。+ s, X% ]5 f) u- U# S) U+ e 表格中具体数值所代表的含义% S6 s% z5 v3 X# i6 \: P, u D=direct,) e+ S3 G) e/ e9 ~: C& W l' @ 1=via AXI bus matrix,. I) J0 c7 m. }5 c0 d 2=via AHB bus matrix in D2, 3=via AHB bus matrix in D3,+ p3 I. \, N+ U: p0 W* M 4=via AHB/APB bridge in D1,' V& S( i+ G' L" Y1 F) X: t 5=via AHB/APB bridge in D2,+ D6 A: I0 \6 K% {: W- j, H 6=via AHB/APB bridge in D3,) i" J/ E7 A, _ V% H" s/ m0 Z 7=via AHBS bus of Cortex-M7,1 ~9 L& ^4 V3 T. P 2 ?( C6 ?) ^! ?9 \ 多个数值组合 = 互连路径以数字的顺序经过多个矩阵或/和桥。 7 K4 j+ i$ { d/ W$ U 总线访问类型 普通字体表示32位总线。 斜体表示32位总线主机端/ 64位总线从机端。/ I) B! ]6 U) C3 _ ( k! u& K8 e2 y/ X; M 粗体表示64位总线。 通过这个总线互联图,要了解到下面三个重要知识点: ( e# n& ?; t+ \$ j7 L# F DTCM和ITCM不支持DMA1,DMA2和BDMA,仅支持MDMA。: E! j, L: x! ^2 K1 n( i3 a0 Y AXI SRAM,SRAM1,SRAM2,SRAM3不支持BDMA,支持MDMA,DMA1和DMA2。 : ^0 {" s0 J/ x: k1 z SRAM4支持所有DMA,即MDMA,DMA1,DMA2和BDMA。7 w, I( f( n, n. _9 t |
STM32H7的TCM,SRAM等五块内存基础知识
简单了解一下STM32H7的BDMA
有奖预约 | STM32H7R7基于RT-Thread RTOS的智能终端GUI解决方案
【STM32H745I-DISCO】基于TouchGFX的工业控制器界面设计
STM32H745I-DISCO串口打印
【STM32H745I-DISCO】TouchGFX探索——3、触屏滑屏操作与中文显示
TouchGFX软件下载及使用
【STM32H745I-DISCO】TouchGFX探索——2、照葫芦画瓢
STM32H745I-DISCO硬件信号为空,M4、M7对于硬件信号的优先性判断
【STM32H745I-DISCO】TouchGFX探索——1、Example移植