GigaDevice Semiconductor Inc.
GD32F4xx
Arm
®
Cortex
®
-M4 32-bit MCU
适用于 GD32F405xx、GD32F407xx、GD32F450xx 系列
用户手册
2.5 版本
(2021 年 6 月)
GD32F4xx 用户手册
1
目 录
目 录 ..................................................................................................................................... 1
图索引 ................................................................................................................................. 21
表索引 ................................................................................................................................. 29
1. 系统及存储器架构 ........................................................................................................ 33
1.1. Arm
®
Cortex
®
-M4 处理器 ................................................................................................ 33
1.2. 系统架构 ........................................................................................................................... 34
1.3. 存储器映射 ....................................................................................................................... 37
1.3.1. 位带操作 ............................................................................................................................................. 40
1.3.2. 片上 SRAM 存储器 ........................................................................................................................... 40
1.3.3. 片上 FLASH 存储器概述 .................................................................................................................. 41
1.4. 引导配置 ........................................................................................................................... 41
1.5. 系统配置寄存器 (SYSCFG) ............................................................................................. 42
1.5.1. 配置寄存器 0 (SYSCFG_CFG0) .................................................................................................... 42
1.5.2. 配置寄存器 1 (SYSCFG_CFG1) .................................................................................................... 43
1.5.3. EXTI 源选择寄存器 0 (SYSCFG_EXTISS0) ................................................................................. 44
1.5.4. EXTI 源选择寄存器 1 (SYSCFG_EXTISS1) ................................................................................. 45
1.5.5. EXTI 源选择寄存器 2 (SYSCFG_EXTISS2) ................................................................................. 46
1.5.6. EXTI 源选择寄存器 3 (SYSCFG_EXTISS3) ................................................................................. 48
1.5.7. I/O 补偿控制寄存器 (SYSCFG_CPSCTL) .................................................................................... 49
1.6. 设备电子签名 .................................................................................................................... 50
1.6.1. 存储容量信息 ..................................................................................................................................... 50
1.6.2. 设备唯一 ID (96 位/位域) .................................................................................................................. 50
2. 闪存控制器(FMC) .................................................................................................... 52
2.1. 简介 .................................................................................................................................. 52
2.2. 主要特征 ........................................................................................................................... 52
2.3. 功能说明 ........................................................................................................................... 52
2.3.1. 闪存结构 ............................................................................................................................................. 52
2.3.2. 读操作 ................................................................................................................................................. 54
2.3.3. FMC_CTL/FMC_OBCTLx 寄存器解锁 .......................................................................................... 54
2.3.4. 扇区擦除 ............................................................................................................................................. 54
2.3.5. 整片擦除 ............................................................................................................................................. 55
2.3.6. 主存储闪存块编程 ............................................................................................................................. 56
2.3.7. OTP 闪存块编程 ................................................................................................................................ 58
2.3.8. 选项字节修改 ..................................................................................................................................... 58
2.3.9. 选项字节说明 ..................................................................................................................................... 58
2.3.10. 扇区擦除/编程保护 ............................................................................................................................ 60
GD32F4xx 用户手册
2
2.3.11. DBUS 读保护 ..................................................................................................................................... 60
2.3.12. 安全保护 ............................................................................................................................................. 61
2.4. FMC 寄存器 ...................................................................................................................... 62
2.4.1. 等待状态寄存器 (FMC_WS) ........................................................................................................... 62
2.4.2. 解锁寄存器 (FMC_KEY).................................................................................................................. 62
2.4.3. 选项字节解锁寄存器 (FMC_OBKEY) ............................................................................................ 63
2.4.4. 状态寄存器 (FMC_STAT) ................................................................................................................ 63
2.4.5. 控制寄存器 (FMC_CTL) .................................................................................................................. 64
2.4.6. 选项字节控制寄存器 0 (FMC_OBCTL0) ........................................................................................ 66
2.4.7. 选项字节控制寄存器 1 (FMC_OBCTL1) ........................................................................................ 67
2.4.8. 等待状态使能寄存器 (FMC_WSEN) .............................................................................................. 68
2.4.9. 产品 ID 寄存器 (FMC_PID) ............................................................................................................. 68
3. 电源管理单元(PMU) ................................................................................................ 69
3.1. 简介 .................................................................................................................................. 69
3.2. 主要特性 ........................................................................................................................... 69
3.3. 功能描述 ........................................................................................................................... 70
3.3.1. 电池备份域 ......................................................................................................................................... 70
3.3.2. 备份 SRAM ........................................................................................................................................ 71
3.3.3. VDD/VDDA 电源域 ........................................................................................................................... 71
3.3.4. 1.2V 电源域 ........................................................................................................................................ 73
3.3.5. 省电模式 ............................................................................................................................................. 74
3.4. PMU 寄存器 ...................................................................................................................... 77
3.4.1. 控制寄存器 (PMU_CTL) .................................................................................................................. 77
3.4.2. 电源控制和状态寄存器 (PMU_CS) ................................................................................................ 79
4. 复位和时钟单元(RCU) ............................................................................................ 81
4.1. 复位控制单元(RCTL) .................................................................................................. 81
4.1.1. 简介 ..................................................................................................................................................... 81
4.1.2. 功能描述 ............................................................................................................................................. 81
4.2. 时钟控制单元(CCTL) .................................................................................................. 82
4.2.1. 简介 ..................................................................................................................................................... 82
4.2.2. 主要特性 ............................................................................................................................................. 84
4.2.3. 功能描述 ............................................................................................................................................. 84
4.3. RCU 寄存器 ...................................................................................................................... 89
4.3.1. 控制寄存器 (RCU_CTL) .................................................................................................................. 89
4.3.2. PLL 寄存器 (RCU_PLL) .................................................................................................................. 91
4.3.3. 时钟配置寄存器 0 (RCU_CFG0) ..................................................................................................... 93
4.3.4. 时钟中断寄存器 (RCU_INT) ........................................................................................................... 95
4.3.5. AHB1 复位寄存器 (RCU_AHB1RST) ............................................................................................ 98
4.3.6. AHB2 复位寄存器 (RCU_AHB2RST) .......................................................................................... 100
4.3.7. AHB3 复位寄存器 (RCU_AHB3RST) .......................................................................................... 101
GD32F4xx 用户手册
3
4.3.8. APB1 复位寄存器 (RCU_APB1RST) .......................................................................................... 101
4.3.9. APB2 复位寄存器 (RCU_APB2RST) .......................................................................................... 104
4.3.10. AHB1 使能寄存器 (RCU_AHB1EN) ............................................................................................ 107
4.3.11. AHB2 使能寄存器 (RCU_AHB2EN) ............................................................................................ 109
4.3.12. AHB3 使能寄存器 (RCU_AHB3EN) ............................................................................................ 110
4.3.13. APB1 使能寄存器 (RCU_APB1EN) ............................................................................................. 111
4.3.14. APB2 使能寄存器 (RCU_APB2EN) ............................................................................................. 114
4.3.15. AHB1 睡眠模式使能寄存器 (RCU_AHB1SPEN) ....................................................................... 116
4.3.16. AHB2 睡眠模式使能寄存器 (RCU_AHB2SPEN) ....................................................................... 119
4.3.17. AHB3 睡眠模式使能寄存器 (RCU_AHB3SPEN) ....................................................................... 120
4.3.18. APB1 睡眠模式使能寄存器 (RCU_APB1SPEN)........................................................................ 120
4.3.19. APB2 睡眠模式使能寄存器 (RCU_APB2SPEN)........................................................................ 124
4.3.20. 备份域控制寄存器 (RCU_BDCTL) ............................................................................................... 126
4.3.21. 复位源/时钟寄存器 (RCU_RSTSCK) .......................................................................................... 127
4.3.22. PLL 时钟扩频控制寄存器 (RCU_PLLSSCTL) ........................................................................... 129
4.3.23. PLLI2S 寄存器 (RCU_PLLI2S) .................................................................................................... 130
4.3.24. PLLSAI 寄存器 (RCU_PLLSAI).................................................................................................... 131
4.3.25. 时钟配置寄存器 1 (RCU_CFG1) ................................................................................................... 133
4.3.26. 附加时钟控制寄存器 (RCU_ADDCTL) ........................................................................................ 133
4.3.27. 附加时钟中断寄存器 (RCU_ADDINT) ......................................................................................... 134
4.3.28. APB1 附加复位寄存器 (RCU_ADDAPB1RST) ......................................................................... 135
4.3.29. APB1 附加使能寄存器 (RCU_ADDAPB1EN) ........................................................................... 136
4.3.30. APB1 附加睡眠模式使能寄存器 (RCU_ADDAPB1SPEN) ...................................................... 137
4.3.31. 电源解锁寄存器 (RCU_VKEY) ..................................................................................................... 137
4.3.32. 深度睡眠模式电压寄存器 (RCU_DSV)........................................................................................ 138
5. 时钟校准控制器(CTC) ........................................................................................... 139
5.1. 简介 ................................................................................................................................ 139
5.2. 主要特性 ......................................................................................................................... 139
5.3. 功能描述 ......................................................................................................................... 140
5.3.1. REF 同步脉冲发生器 ...................................................................................................................... 140
5.3.2. CTC 校准计数器 .............................................................................................................................. 141
5.3.3. 频率评估和自动校准过程 ............................................................................................................... 141
5.3.4. 软件编程指南 ................................................................................................................................... 142
5.4. CTC 寄存器 .................................................................................................................... 143
5.4.1. 控制寄存器 0 (CTC_CTL0) ............................................................................................................ 143
5.4.2. 控制寄存器 1 (CTC_CTL1) ............................................................................................................ 144
5.4.3. 状态寄存器 (CTC_STAT) .............................................................................................................. 145
5.4.4. 中断清除寄存器 (CTC_INTC) ....................................................................................................... 147
6. 中断/事件控制器(EXTI) ......................................................................................... 149
6.1. 简介 ................................................................................................................................ 149
6.2. 主要特性 ......................................................................................................................... 149
GD32F4xx 用户手册
4
6.3. 中断功能描述 .................................................................................................................. 149
6.4. 结构框图 ......................................................................................................................... 153
6.5. 外部中断及事件功能概述 ............................................................................................... 153
6.6. EXTI 寄存器 .................................................................................................................... 155
6.6.1. 中断使能寄存器 (EXTI_INTEN) ................................................................................................... 155
6.6.2. 事件使能寄存器 (EXTI_EVEN) .................................................................................................... 155
6.6.3. 上升沿触发使能寄存器 (EXTI_RTEN) ......................................................................................... 156
6.6.4. 下降沿触发使能寄存器 (EXTI_FTEN) ......................................................................................... 156
6.6.5. 软件中断事件寄存器 (EXTI_SWIEV) ........................................................................................... 156
6.6.6. 挂起寄存器 (EXTI_PD) .................................................................................................................. 157
7. 通用和备用输入/输出接口(GPIO 和 AFIO) ........................................................... 158
7.1. 简介 ................................................................................................................................ 158
7.2. 主要特性 ......................................................................................................................... 158
7.3. 功能描述 ......................................................................................................................... 158
7.3.1. GPIO 引脚配置 ................................................................................................................................ 159
7.3.2. 外部中断/事件线 .............................................................................................................................. 160
7.3.3. 备用功能(AF) ................................................................................................................................... 160
7.3.4. 附加功能 ........................................................................................................................................... 160
7.3.5. 输入配置 ........................................................................................................................................... 160
7.3.6. 输出配置 ........................................................................................................................................... 161
7.3.7. 模拟配置 ........................................................................................................................................... 162
7.3.8. 备用功能(AF)配置 ........................................................................................................................... 162
7.3.9. GPIO 锁定功能 ................................................................................................................................ 163
7.3.10. GPIO 单周期输出翻转功能 ............................................................................................................ 163
7.4. GPIO 寄存器 ................................................................................................................... 164
7.4.1. 端口控制寄存器 (GPIOx_CTL, x=A..I) ........................................................................................ 164
7.4.2. 端口输出模式寄存器 (GPIOx_OMODE, x=A..I) ......................................................................... 166
7.4.3. 端口输出速度寄存器 (GPIOx_OSPD, x=A..I) ............................................................................. 167
7.4.4. 端口上拉/下拉寄存器 (GPIOx_PUD, x=A..I) .............................................................................. 169
7.4.5. 端口输入状态寄存器 (GPIOx_ISTAT, x=A..I) .............................................................................. 171
7.4.6. 端口输出控制寄存器 (GPIOx_OCTL, x=A..I) ............................................................................. 171
7.4.7. 端口位操作寄存器 (GPIOx_BOP, x=A..I) .................................................................................... 172
7.4.8. 端口配置锁定寄存器 (GPIOx_LOCK, x=A..I) ............................................................................. 172
7.4.9. 备用功能选择寄存器 0 (GPIOx_AFSEL0, x=A..I) ....................................................................... 173
7.4.10. 备用功能选择寄存器 1 (GPIOx_AFSEL1, x=A..I) ....................................................................... 174
7.4.11. 位清除寄存器 (GPIOx_BC, x=A..I) .............................................................................................. 175
7.4.12. 端口位翻转寄存器 (GPIOx_TG, x=A..I) ...................................................................................... 175
8. 循环冗余校验计算单元(CRC) ............................................................................... 177
8.1. 简介 ................................................................................................................................ 177