STM32H743总线结合地址空间笔记
STM32H743 的AXI 是 64 位高速主干总线,属于 D1 高性能域的核心总线矩阵,核心作用是对接 CPU、高速存储和大带宽外设,本身不直接落在 Block2 外设寄存器区。
先贴一张总的地址图:
Block2(地址范围 0x40000000 ~ 0x5FFFFFFF)存放的是所有外设的控制寄存器,全部由 AHB/APB 总线挂载;AXI 总线通过AHB3 总线桥延伸出 D1 域外设接口,这部分寄存器才落入 Block2 地址空间。
简单类比:
- AXI = 城市高速主干道(64 位宽,承载大流量数据)
- AHB = 城市片区主干道(32 位宽,对接外设片区)
- APB = 社区支路(32 位宽,对接单个外设)
- Block2 = 所有外设的 “寄存器办公区”,全部通过 AHB/APB 接入,AXI 不直接进入,仅通过 AHB3 桥连通。

二、STM32H743 完整总线体系(三层架构)
第一层:内核级高速总线(D1 域,CPU 直连)
这一层性能最高,用于核心存储与高速数据交互,其中 TCM 总线与 CPU 同频,AXI 总线为系统主干。
1. TCM 紧耦合内存总线
- 位宽:64 位
- 速度:与 CPU 同频(最高 400MHz),零等待周期
- 挂载资源:
- ITCM RAM:64KB 指令专用内存,映射地址
0x00000000 - DTCM RAM:128KB 数据专用内存,映射地址
0x20000000起始
- ITCM RAM:64KB 指令专用内存,映射地址
- 特点:CPU 直接访问,不经过总线矩阵,延迟最低;通用 DMA 无法访问,仅 CPU 可用。
2. AXI 总线矩阵(系统核心主干)
- 位宽:64 位
- 最高频率:200MHz(CPU 主频的 1/2)
- 所属域:D1 高性能域
- 主设备(可发起读写的单元):Cortex-M7 内核(AXIM 接口)、MDMA 高性能 DMA、DMA2D 图形加速、LTDC 显示控制器、SDMMC1、D2 域跨域 AHB 接口
- 从设备(被访问的存储 / 接口):
- 片内 Flash(2MB 双 Bank):地址
0x08000000起(Block0 代码区) - AXI SRAM(512KB):地址
0x24000000起(Block1 内存区) - FMC 外部存储控制器:数据区地址
0x60000000起(Block3 外部存储区) - QSPI 外部 Flash 接口:数据区地址
0x90000000起(Block3 外部存储区) - AHB3 总线桥:通往 Block2 外设区的 D1 域外设(0x50000000 地址段)
- 片内 Flash(2MB 双 Bank):地址
第二层:系统级 AHB 总线(32 位,全部落在 Block2 范围内)
共 4 组 AHB 总线,分属三个电源域,是 Block2 外设区的主干总线,全部映射在 Block2 地址空间内:
| 总线 | 所属电源域 | Block2 内地址范围 | 最高频率 | 核心挂载外设 |
|---|---|---|---|---|
| AHB3 | D1 域 | 0x5000 0000 ~ 0x57FF FFFF |
200MHz | 系统配置寄存器、看门狗、SPI6,向下桥接 APB3 总线 |
| AHB1 | D2 域 | 0x4002 0000 ~ 0x4007 FFFF |
200MHz | DMA1/DMA2、以太网 MAC、USB OTG HS、SDMMC2、CRC,向下桥接 APB1/APB2 总线 |
| AHB2 | D2 域 | 0x4802 0000 ~ 0x4806 0BFF |
200MHz | RNG 随机数、HASH 加密、USB OTG FS、DCMI 摄像头、ADC |
| AHB4 | D3 域 | 0x5802 0000 ~ 0x5806 0BFF |
200MHz | GPIOA~GPIOK、BDMA、备份域控制,向下桥接 APB4 总线 |
第三层:外设级 APB 总线(低速寄存器总线,全部在 Block2 内)
共 4 组 APB 总线,由对应 AHB 总线桥接而来,是外设寄存器的最终挂载总线,速率更低,适配低速外设:
| 总线 | 挂载自哪条 AHB | Block2 内地址范围 | 最高频率 | 典型外设 |
|---|---|---|---|---|
| APB1 | AHB1(D2 域) | 0x4000 0000 ~ 0x4000 7FFF |
100MHz | TIM2~TIM7、TIM12~14、SPI2/3、USART2/3、UART4/5/7/8、I2C1/2/3、FDCAN、DAC、LPTIM1 |
| APB2 | AHB1(D2 域) | 0x4001 0000 ~ 0x4001 57FF |
100MHz | TIM1/TIM8、SPI1、USART1/6、ADC1/2、SYSCFG |
| APB3 | AHB3(D1 域) | 0x5000 0000 ~ 0x5000 FFFF |
100MHz | 窗口看门狗 WWDG、独立看门狗 IWDG、SPI6、延时定时器 |
| APB4 | AHB4(D3 域) | 0x5800 0000 ~ 0x5801 FFFF |
100MHz | RCC 时钟、PWR 电源、EXTI 中断、RTC 实时时钟、LPTIM2~5、VREFBUF、备份寄存器 |
三、关键补充说明
-
跨域访问规则 三个电源域的总线通过跨域桥连接,比如 D2 域的 DMA 可以通过 D2→D1 AHB 桥访问 AXI 总线上的 SRAM/Flash,但会产生额外延迟,且带宽受限。
-
与 STM32F4 的核心差异 F4 仅 1 组总线矩阵、2 路 AHB+2 路 APB;H7 为提升并发、降低功耗,拆为 3 个独立总线矩阵(1 个 AXI + 2 个 AHB),总线数量翻倍,不同域可独立开关时钟,同时支持多个 DMA、外设并行工作,无总线争抢。
-
Block2 的完整对应关系 你之前看到的 Block2 区间,完整对应上面所有 AHB+APB 外设的控制寄存器;AXI 本身不在这个区间,仅其延伸出的 AHB3/APB3 外设寄存器落在 Block2 的高位地址段。
更多推荐

所有评论(0)