|
本文为大家介绍STM32H7带的ITCM,DTCM,AXI SRAM,SRAM1,SRAM2,SRAM3,SRAM4和备份SRAM的基础知识。: M9 \& C6 v" a1 P 9 l9 p0 q# a4 }7 j8 j) V4 z* P; |  上图可以方便识别总线所外挂的外设,共分为三个域:D1 Domain,D2 Domain和D3 Domain。 . E; v( U( B. o- E/ k3 c) u7 E 1、 ITCM和DTCM 这两个是直连CPU的。6 @4 @* \! x! d / [/ |1 f" h7 ]$ d9 x, ` 2、 D1 Domain ! U6 N) ?; i) x! o- N9 c& c1 B D1域中的各个外设是挂在64位A**线组成6*7的矩阵上。 6个从接口端ASIB1到ASIB6,外接的主控是LTDC,DMA2D,MDMA,SDMMC1,AXIM和D2-to-D1 AHB 总线。/ y" U' w! I: u1 i3 _- H 7个主接口端AMIB1到AMIB7,外接的从设备是AHB3总线,Flash A,Flash B,FMC总线,QSPI和AXI SRAM。另外AHB3也是由A**线分支出来的,然后再由AHB3分支出APB3总线。 3、 D2 Domain+ e; U6 M& c/ g# H/ ]0 w D2域的各个外设是挂在32位AHB总线组成10*9的矩阵上。 10个从接口,外接的主控是D1-to-D2 AHB 总线,AHBP总线,DMA1,DMA2,Ethernet MAC,SDMMC2,USB HS1和USB HS2。6 \4 {6 I0 N; ~$ h# I ! ^- O$ s: {* H0 J E0 h 9个主接口,外接的从设备是SRAM1,SRMA2,SRAM3,AHB1,AHB2,APB1,APB2,D2-to-D1 AHB总线和D2-to-D3 AHB总线。7 F2 v' D# W3 B" o5 Y* J( ^ 4、 D3 Domain D3域的各个外设是挂在32位AHB总线组成3*2的矩阵上。 9 {4 r" N! d. e/ F 3个从接口,外接的主控D1-to-D3 AHB总线,D2-to-D3 AHB总线和BDMA。 2个主接口,外接的从设备是AHB4,SRAM4和Bckp SRAM。另外AHB4也是这个总线矩阵分支出来的,然后再由AHB4分支出APB4总线 **各块RAM特性** ' Q# F. b1 |. Q) v; D* G f9 q 各块RAM的特性对比如下,特别注意他们支持的最大速度和容量大小。0 C7 O0 K; i+ W1 ]4 N0 f : M( j! x) T0 u% ` **TCM区** 2 y0 ?( x' l/ V8 |! l5 _6 [ TCM : Tightly-Coupled Memory 紧密耦合内存 。ITCM用于运行指令,也就是程序代码,DTCM用于数据存取,特点是跟内核速度一样,而片上RAM的速度基本都达不到这个速度,所以有降频处理。 N7 n9 c, x1 ^8 h + K8 j, ~" g- ] O: c8 c3 I2 w( s6 M 速度:400MHz。DTCM地址:0x2000 0000,大小128KB。ITCM地址:0x0000 0000,大小64KB。3 K" U& E9 s3 `9 B ' [( u- s8 }6 S% B; G2 x **AXI SRAM区** 7 n: {& D. B, ` 位于D1域,数据带宽是64bit,挂在A**线上。除了D3域中的BDMB主控不能访问,其它都可以访问此RAM区。7 L5 d# j1 ^& O 速度:200MHz。地址:0x2400 0000,大小512KB。用途:用途不限,可以用于用户应用数据存储或者LCD显存。 **SRAM1,SRAM2和SRAM3区** 位于D2域,数据带宽是32bit,挂在AHB总线上。除了D3域中的BDMB主控不能访问这三块SRAM,其它都可以访问这几个RAM区。 . L3 F' e: q2 S0 @ 速度:200MHz。 8 h7 i0 b2 i3 F SRAM1:地址0x3000 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以当D1域断电后用于运行程序代码。& j9 \% F. S" ^6 Z( D6 Z ' E0 f8 K8 K! W2 }5 M0 p SRAM2:地址0x3002 0000,大小128KB,用途不限,可用于D2域中的DMA缓冲,也可以用于用户数据存取。( h) ]# C! N- Q8 b X5 L# b* c' m5 ] 4 x6 g9 U5 O: ~! b+ s SRAM3:地址0x3004 0000,大小32KB,用途不限,主要用于以太网和USB的缓冲。 & C6 ?- S+ m& \: J; k **SRAM4区**7 w2 U) c' I8 X3 ^1 \4 Q 7 p* f1 M6 v9 u$ C/ @9 S 位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访这块SRAM区。: e; }+ {" O5 T9 h; B5 q; v8 V / y6 W9 E [6 T 速度:200MHz。 : C8 F" O3 Q& \% ^# n; B2 M 地址:0x3800 0000,大小64KB。 用途:用途不限,可以用于D3域中的DMA缓冲,也可以当D1和D2域进入DStandby待机方式后,继续保存用户数据。: z: r% @. ?3 A6 G! @$ e **Backup SRAM区**; D& H0 m$ ]# H# L' N 8 D6 v, r& w; v4 ] 备份RAM区,位于D3域,数据带宽是32bit,挂在AHB总线上,大部分主控都能访问这块SRAM区。 速度:200MHz。. E: E- X" O3 ?2 d3 } ( G# p$ i: L( `: ^/ R 地址:0x3880 0000,大小4KB。" P! e y6 r* n: [6 D Y5 |- B 用途:用途不限,主要用于系统进入低功耗模式后,继续保存数据(Vbat引脚外接电池)。$ p7 j1 ^' l" _' K# O/ y0 H RAM的时钟问题4 J8 O! z$ M' m 正常情况下,系统上电后,CPU要访问的外设是需要使能对应的时钟位,但是下面这几个,CPU上电即可访问,而且芯片没有对应的寄存器使能位。5 l/ j/ W9 o8 R1 A0 \) |2 m , M% b. _- W# L1 q $ I" Y" B$ B, b/ W! @5 h3 k 也就是说AXI SRAM,SRAM4,ITCM和DTCM可以在上电后直接使用。而SRAM1,SRAM2,SRAM3是需要使能的,但是实际测试发现,不使能也可以正常使用。不过,建议用到时候开启下时钟,防止意想不到的问题发生。 **RAM的DMA问题**# g2 F7 L: w1 j7 a- a( G, a 先看下面的Bus Master总线主控端和Bus Slave设备端的控制互联: . o+ f- j' N* k4 Y$ b# n% z  * L" q. m* o9 K. n6 }* I7 i, I 加粗字体是64位总线(ITCM,DTCM,Flash A,Flash,AXI SRAM,FMC等),普通字体是32位总线。 r/ }( K u8 U 访问通路(每个小方块里面的字符) 任何有数字的表示有访问通路。 短横杠“-”表示不可访问。3 `: e$ D( I: ~# r% W: i! G' G 有灰色阴影的表示有实用价值的访问通路。0 A7 [4 s$ M: d6 l 表格中具体数值所代表的含义. D2 L4 L' }6 j$ ~1 x6 m; X* ? D=direct, 1=via AXI bus matrix, 2=via AHB bus matrix in D2,9 m6 v; z1 k+ L+ B0 E, I: p4 z 3=via AHB bus matrix in D3,# _6 \: z$ e1 s% ` 4=via AHB/APB bridge in D1,3 T1 @4 f+ A: w* w 5=via AHB/APB bridge in D2, 6=via AHB/APB bridge in D3,4 b7 e: {, T9 r- p 7=via AHBS bus of Cortex-M7,7 d5 d2 Y3 @4 B' R 1 `9 s# d0 F! J4 E- D# X( d 多个数值组合 = 互连路径以数字的顺序经过多个矩阵或/和桥。 . u) q% }7 m. Q 总线访问类型1 A; @6 a5 a7 T5 j$ \( C! S 普通字体表示32位总线。 ( m# I- |% j' B. q! W 斜体表示32位总线主机端/ 64位总线从机端。 9 q( @& c9 z' P3 U" ]* l% J! D 粗体表示64位总线。 G* P L0 }' Y, L 通过这个总线互联图,要了解到下面三个重要知识点:. ]' _, p, E& P8 b) n / ^6 K" W' e0 h DTCM和ITCM不支持DMA1,DMA2和BDMA,仅支持MDMA。 $ O& A ]! u5 L1 M8 g+ H AXI SRAM,SRAM1,SRAM2,SRAM3不支持BDMA,支持MDMA,DMA1和DMA2。 ; w- G: S0 g i; I- L SRAM4支持所有DMA,即MDMA,DMA1,DMA2和BDMA。 |
【STM32H5 评测】1、开发板资源和程序开发
NUCLEO-H5E5ZJ 以太网(Ethernet)移植记录
【STM32H5 评测】1、移植记录(LED / Shell)
H5E5开发板评测-1
H5E5评测-4
H5E5评测-3
H5E5评测-2
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
【STM32H735G-DK测评】ADC3+TIMER1+DMA 采样模拟信号
【STM32H735DK测评】Ethernet+lwip DHCP获取IP地址
微信公众号
手机版