2018 年 11 月文档 ID 029587 Rev 1 [English Rev 3] 1/3019
1
RM0433
参考手册
STM32H7x3
基于 ARM 内核的 32 位高级 MCU
前言
本参考手册面向应用开发人员, 提供有关使用 STM32H7x3 微控制器存储器与外设的完整
信息。
STM32H7x3 构
成一个微控制器系列,各产品具有不同的存储器大小、封装和外设。
有关订购信息以及器件的机械与电气特性,请参见相应的数据手册。
有关带 FPU 的 ARM
®
Cortex
®
-M7 内核的信息,请参见相应的 ARM
技术参考手册
。
相关文档
ARM
®
Cortex
®
-M7 技术参考手册,可从 www.arm.com 获取。
Cortex
®
-M7 编程手册 (PM0253)。
www.st.com
目录 RM0433
2/3019 文档 ID 029587 Rev 1 [English Rev 3]
目录
1 文档约定 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.1 寄存器相关缩写词列表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.2 词汇表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
1.3 外设可用性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
2 存储器和总线架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.1 系统架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.1.1 总线矩阵 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.1.2 总线- 总线桥 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.1.3 域间总线 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
2.1.4 CPU 总线 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.1.5 总线主设备外设 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
2.1.6 功能模块的时钟 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.2 存储器组织结构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2.2.1 前言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2.2.2 存储器映射和寄存器边界地址 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
2.3 内部 SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
2.4 Flash 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.5 启动配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
3 嵌入式 Flash (FLASH) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.1 前言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.2 Flash 主要特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
3.3 Flash 功能说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.3.1 框图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.3.2 引脚和内部信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
3.3.3 Flash 架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3.3.4 Flash 读操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
3.3.5 误码校正 (ECC) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.3.6 循环冗余校验模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
3.3.7 Flash 编程/擦除操作 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.3.8 更改用户选项字节 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
3.3.9 Flash 接口错误标志 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
文档 ID 029587 Rev 1 [English Rev 3] 3/3019
RM0433 目录
65
3.3.10 同时在存储区 1 和存储区 2 上执行读取/编程/擦除操作 . . . . . . . . . . . 122
3.3.11 FLASH 选项字节 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
3.3.12 保护机制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
3.3.13 Flash 存储区交换 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
3.4 Flash 中断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.5 Flash 接口寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.5.1 Flash 访问控制寄存器 (FLASH_ACR) . . . . . . . . . . . . . . . . . . . . . . . . . 131
3.5.2 存储区 1 的 FLASH 密钥寄存器 (FLASH_KEYR1) . . . . . . . . . . . . . . . 132
3.5.3 Flash 选项密钥寄存器 (FLASH_OPTKEYR) . . . . . . . . . . . . . . . . . . . . 133
3.5.4 存储区 1 的 FLASH 控制寄存器 (FLASH_CR1) . . . . . . . . . . . . . . . . . . 133
3.5.5 存储区 1 的 FLASH 状态寄存器 (FLASH_SR1) . . . . . . . . . . . . . . . . . . 136
3.5.6 存储区 1 的 FLASH 清零控制寄存器 (FLASH_CCR1) . . . . . . . . . . . . . 139
3.5.7 Flash 选项控制寄存器 (FLASH_OPTCR) . . . . . . . . . . . . . . . . . . . . . . 140
3.5.8 FLASH 选项状态寄存器(当前值)(FLASH_OPTSR_CUR) . . . . . . . . 141
3.5.9 FLASH 选项状态寄存器(要编程的值)(FLASH_OPTSR_PRG) . . . . 144
3.5.10 FLASH 选项清空控制寄存器 (FLASH_OPTCCR) . . . . . . . . . . . . . . . . 146
3.5.11 存储区 1 的 FLASH 保护地址(当前值)(FLASH_PRAR_CUR1) . . . . . . 147
3.5.12
存储区
1
的
FLASH
保护地址(要编程的值)
(FLASH_PRAR_PRG1) . . . . 148
3.5.13
存储区
1
的
FLASH
安全地址(当前值)
(FLASH_SCAR_CUR1) . . . . . . . . 149
3.5.14
存储区
1
的
FLASH
安全地址(要编程的值)
(FLASH_SCAR_PRG1) . . . . 150
3.5.15
存储区
1
的
FLASH
扇区写保护(当前值)
(FLASH_WPSN_CUR1R) . . . . . 150
3.5.16
存储区
1
的
FLASH
扇区写保护(要编程的值)
(FLASH_WPSN_PRG1R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151
3.5.17
包含自举地址的
FLASH
寄存器(当前值)
(FLASH_BOOT_CURR) . . . . . . 151
3.5.18
包含自举地址的
FLASH
寄存器(要编程的值)
(FLASH_BOOT_PRGR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
3.5.19
存储区
1
的
FLASH CRC
控制寄存器
(FLASH_CRCCR1) . . . . . . . . . . . . . . . 152
3.5.20
存储区
1
的
FLASH CRC
起始地址寄存器
(FLASH_CRCSADD1R) . . . . . . . 154
3.5.21
存储区
1
的
FLASH CRC
结束地址寄存器
(FLASH_CRCEADD1R) . . . . . . . 154
3.5.22 FLASH CRC
数据寄存器
(FLASH_CRCDATAR) . . . . . . . . . . . . . . . . . . . . . . . 155
3.5.23
存储区
1
的
FLASH ECC
失效地址
FLASH_ECC_FA1R) . . . . . . . . . . . . . . . 155
3.5.24
存储区
2
的
FLASH
密钥寄存器
(FLASH_KEYR2) . . . . . . . . . . . . . . . . . . . . . 156
3.5.25
存储区
2
的
FLASH
控制寄存器
(FLASH_CR2) . . . . . . . . . . . . . . . . . . . . . . . . 156
3.5.26
存储区
2
的
FLASH
状态寄存器
(FLASH_SR2) . . . . . . . . . . . . . . . . . . . . . . . . 160
3.5.27
存储区
2
的
FLASH
清零控制寄存器
(FLASH_CCR2) . . . . . . . . . . . . . . . . . . 163
3.5.28
存储区
2
的
FLASH
保护地址(当前值)
(FLASH_PRAR_CUR2) . . . . . . . . 164
3.5.29
存储区
2
的
FLASH
保护地址(要编程的值)
(FLASH_PRAR_PRG2) . . . . 165
目录 RM0433
4/3019 文档 ID 029587 Rev 1 [English Rev 3]
3.5.30
存储区
2
的
FLASH
安全地址(当前值)
(FLASH_SCAR_CUR2) . . . . . . . . 166
3.5.31
存储区
2
的
FLASH
安全地址(要编程的值)
(FLASH_SCAR_PRG2) . . . . 167
3.5.32
存储区
2
的
FLASH
扇区写保护(当前值)
(FLASH_WPSN_CUR2R) . . . . . 167
3.5.33
存储区
2
的
FLASH
扇区写保护(要编程的值)
(FLASH_WPSN_PRG2R) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168
3.5.34
存储区
2
的
FLASH CRC
控制寄存器
(FLASH_CRCCR2) . . . . . . . . . . . . . . . 168
3.5.35
存储区
2
的
FLASH CRC
起始地址寄存器
(FLASH_CRCSADD2R) . . . . . . . 170
3.5.36
存储区
2
的
FLASH CRC
结束地址寄存器
(FLASH_CRCEADD2R) . . . . . . . 170
3.5.37
存储区
2
的
FLASH ECC
失效地址
(FLASH_ECC_FA2R) . . . . . . . . . . . . . . . 171
3.6 Flash 寄存器映射与复位值 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
4 安全存储管理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.1 前言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.2 词汇表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
4.3 Flash 保护 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
4.4 安全访问模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
4.4.1 相关特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4.4.2 自举状态机 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179
4.4.3 安全访问模式配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180
4.5 根安全服务 (RSS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.5.1 调用根安全服务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.5.2 根安全服务说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.6 安全用户软件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
4.6.1 访问规则 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.6.2 设置安全用户存储区 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.6.3 移除安全用户存储区 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
4.6.4 选择安全用户软件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
4.7 Flash 保护机制汇总 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
5AXI 互连 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.1 AXI简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.2 AXI 互连主要特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
5.3 AXI 互连功能说明 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.3.1 框图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.3.2 ASIB配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
5.3.3 AMIB配置 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
文档 ID 029587 Rev 1 [English Rev 3] 5/3019
RM0433 目录
65
5.3.4 服务质量 (QoS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
5.3.5 全局编程器视图 (GPV) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
5.4 AXI 互连寄存器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
5.4.1 AXI 互连 - 外设 ID4 寄存器 (AXI_PERIPH_ID_4) . . . . . . . . . . . . . . . . 189
5.4.2 AXI 互连 - 外设 ID0 寄存器 (AXI_PERIPH_ID_0) . . . . . . . . . . . . . . . . 189
5.4.3 AXI 互连 - 外设 ID1 寄存器 (AXI_PERIPH_ID_1) . . . . . . . . . . . . . . . . 190
5.4.4 AXI 互连 - 外设 ID2 寄存器 (AXI_PERIPH_ID_2) . . . . . . . . . . . . . . . . 190
5.4.5 AXI 互连 - 外设 ID3 寄存器 (AXI_PERIPH_ID_3) . . . . . . . . . . . . . . . . 191
5.4.6 AXI 互连 - 组件 ID0 寄存器 (AXI_PERIPH_ID_0) . . . . . . . . . . . . . . . . 191
5.4.7 AXI 互连 - 组件 ID1 寄存器 (AXI_PERIPH_ID_1) . . . . . . . . . . . . . . . . 192
5.4.8 AXI 互连 - 组件 ID2 寄存器 (AXI_PERIPH_ID_2) . . . . . . . . . . . . . . . . 192
5.4.9 AXI 互连 - 组件 ID3 寄存器 (AXI_PERIPH_ID_3) . . . . . . . . . . . . . . . . 193
5.4.10 AXI
互连
- TARG x
总线矩阵发布功能寄存器
(AXI_TARGx_FN_MOD_ISS_BM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
5.4.11 AXI
互连
- TARG x
总线矩阵功能
2
寄存器
(AXI_TARGx_FN_MOD2) . . . . . 194
5.4.12 AXI
互连
- TARG x
长突发功能修改寄存器
(AXI_TARGx_FN_MOD_LB) . . . 194
5.4.13 AXI
互连
- TARG x
发布功能修改寄存器
(AXI_TARGx_FN_MOD) . . . . . . . . 195
5.4.14 AXI
互连
- INI x
功能修改
2
寄存器
(AXI_INIx_FN_MOD2) . . . . . . . . . . . . . . . 195
5.4.15 AXI
互连
- INI x AHB
功能修改寄存器
(AXI_INIx_FN_MOD_AHB) . . . . . . . . 196
5.4.16 AXI
互连
- INI x
读取
QoS
寄存器
(AXI_INIx_READ_QOS) . . . . . . . . . . . . . . 196
5.4.17 AXI
互连
- INI x
写入
QoS
寄存器
(AXI_INIx_WRITE_QOS) . . . . . . . . . . . . . 197
5.4.18 AXI
互连
- INI x
发布功能修改寄存器
(AXI_INIx_FN_MOD) . . . . . . . . . . . . . . 197
5.5 AXI 互连寄存器映射 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198
6 电源控制 (PWR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
6.1 前言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
6.2 PWR主要特性 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206
6.3 PWR框图 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
6.3.1 PWR 引脚和内部信号 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
6.4 电源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
6.4.1 系统电源启动 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
6.4.2 内核域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
6.4.3 PWR 外部电源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
6.4.4 备份域 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
6.4.5 VBAT电池充电 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
6.4.6 模拟电源 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
6.4.7 USB 稳压器 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217