logo资料库

GD32系列微控制器入门开发指南 V1.0.pdf

第1页 / 共220页
第2页 / 共220页
第3页 / 共220页
第4页 / 共220页
第5页 / 共220页
第6页 / 共220页
第7页 / 共220页
第8页 / 共220页
资料共220页,剩余部分请下载后查看
目 录
1. GD32 MCU开发资料下载
1.1. 官网下载
1.2. 网盘下载
2. GD32 MCU开发环境搭建
2.1. 使用Keil开发GD32
2.1.1. 在Keil4中添加GD32 MCU Device
2.1.2. 在Keil 5中添加GD32 MCU Device
2.1.3. 使用GD-Link开发GD32
2.1.4. 使用J-Link开发GD32
2.1.5. 使用ULink2开发GD32
2.1.6. MDK使用常见问题解答
2.2. 使用IAR开发GD32
2.2.1. 在IAR中添加GD32 MCU Device
2.2.2. 在IAR中编译调试GD32
2.3. 使用Eclipse开发GD32
2.3.1. 安装JDK
2.3.2. 安装Eclipse
2.3.3. 安装ARM交叉编译链
2.3.4. 测试
2.3.5. 安装GUN ARM Eclipse插件包
2.3.6. 安装OpenOCD
2.3.7. Eclipse的使用
3. GD32 MCU烧录说明
3.1. ISP烧录
3.1.1. ISP烧录工具
3.1.2. ISP引脚分配
3.1.3. ISP下载电路
3.1.4. ISP下载流程介绍
ISP UART下载流程
GigaDevice ISP Programmer下载步骤:
GigaDevice DFU Tool下载步骤
3.1.5. ISP烧录注意事项
3.2. SWD/JTAG在线下载
3.2.1. SWD/JTAG引脚定义
3.2.2. SWD/JTAG烧录软件
3.2.3. SWD/JTAG下载电路
3.2.4. Jlink仿真器接口
3.2.5. GD-link仿真器接口
3.2.6. J-flash下载流程
3.2.7. GD-link Programmer下载流程
3.2.8. SWD/JTAG烧录注意事项
3.3. 脱机烧录
3.3.1. GD-link脱机烧录硬件连接
3.3.2. GD-link脱机烧录流程
3.3.3. GD-link固件更新
3.3.4. GD-link脱机烧录注意事项
4. 固件库使用方法和启动流程介绍
5. GD32 MCU常见外设介绍
5.1. RCU时钟介绍
5.1.1. RCU配置
5.1.2. 非默认外部晶振配置时钟实例
5.1.3. 硬件连接说明
5.1.4. 软件配置说明
外设时钟配置
GPIO引脚配置
主函数说明
5.1.5. 运行结果
5.2. GPIO模块介绍
5.2.1. GPIO基础知识
5.2.2. 备用功能(AF)
5.2.3. I/O重映射功能
5.2.4. 硬件连接说明
5.2.5. 软件配置说明
外设时钟配置
GPIO引脚配置
主函数说明
5.2.6. GPIO使用注意事项
5.3. NVIC介绍
5.3.1. 优先级的设置
5.3.2. 中断服务函数的命名
5.3.3. 中断向量偏移
5.3.4. NVIC使用注意事项
5.4. EXTI中断介绍
5.4.1. GD32 EXTI外设原理简介
GD32 EXTI主要特性
EXTI框图
中断/事件线
各系列EXTI功能差异
5.4.2. 硬件连接说明
5.4.3. 软件配置说明
外设时钟配置
GPIO引脚配置
EXTI外设配置
主函数说明及中断处理函数说明
运行结果
5.5. TIMER模块介绍
5.5.1. TIMER基础知识
5.5.2. 硬件连接说明
5.5.3. GD32 TIMER外设原理简介
GD32 TIMER主要特性
TIMER结构框图介绍
5.5.4. 软件配置说明
定时中断 TIMER4
PWM 输出 TIMER0
输入捕获 TIMER2
外部时钟输入 TIMER1
5.5.5. TIMER使用注意事项
5.6. ADC模块介绍
5.6.1. ADC基础知识
5.6.2. GD32 ADC外设原理
GD32 ADC主要特性
ADC结构框图介绍
5.6.3. 硬件连接说明
5.6.4. 软件配置说明
查询法
常规通道转换DMA搬运
注入通道-中断
5.6.5. ADC使用注意事项
5.7. I2C模块介绍
5.7.1. I2C基础知识
5.7.2. GD32 I2C外设原理简介
GD32 I2C主要特性
I2C结构框图介绍
各系列I2C功能差异
5.7.3. 硬件连接说明
5.7.4. 软件配置说明
IIC初始化配置
时钟及GPIO引脚配置
I2C多字节写操作
IIC多字节读操作
IIC超时恢复机制
主函数说明
5.7.5. I2C使用注意事项
5.8. SPI模块介绍
5.8.1. SPI基础知识
SPI物理层
SPI协议层
SPI数据传输流程
5.8.2. GD32 SPI外设原理简介
1.1.
1.2.
1.
1.1.
1
1.1
1.
1.1.
1.1.
GD32 SPI主要特性
SPI结构框图介绍
各系列SPI功能差异
5.8.3. 硬件连接说明
5.8.4. 软件配置说明
外设时钟配置
GPIO引脚配置
SPI外设配置
主函数说明
运行结果
5.8.5. SPI使用注意事项
5.9. FWDG模块介绍
5.9.1. FWDG简介
5.9.2. GD32 FWDG外设原理简介
GD32 FWDG主要特性
FWDG 功能结构框图
各系列FWDG功能差异
5.9.3. 硬件连接说明
5.9.4. 软件配置说明
FWDG配置函数
外设时钟配置
GPIO(LED)引脚配置
按键初始化配置
FWDG配置函数
中断喂狗
主函数说明
运行结果
5.9.5. FWDG使用注意事项
5.10. USART模块介绍
5.10.1. USART基础知识
通信方式的分类:并行通信、串行通信
串行通信方式的分类
串行通信数据传送方向
5.10.2. GD32 USART外设原理简介
GD32 USART主要特性
USART结构框图
各系列USART功能差异
5.10.3. 硬件连接说明
5.10.4. 软件配置说明
USART外设配置
中断函数
主函数说明
运行结果
5.10.5. USART使用注意事项
5.11. PMU模块介绍
5.11.1. PMU简介
5.11.2. PMU功能
电池备份域
VDD/VDDA 电源域
VDD域
VDDA域
省电模式
5.11.3. 硬件注意事项
5.11.4. 软件配置说明
5.11.5. PMU使用注意事项
5.12. FMC模块介绍
5.12.1. FMC基础知识:
5.12.2. FMC功能
相关术语说明
读操作
页擦除
整片擦除
字编程操作
可选字节块擦除
可选字节块编程
可选字节块说明
页擦除/编程保护
5.12.3. 软件配置说明
Demo 一 (flash编程)
5.12.4. FMC使用注意事项
5.13. DAC模块介绍
5.13.1. GD32 DAC外设原理简介
GD32F30x DAC主要特性
DAC结构框图介绍
各系列DAC功能差异
5.13.2. 软件配置说明
外设时钟配置
GPIO引脚配置
DAC外设配置
主函数说明
运行结果
5.13.3. DAC使用注意事项
5.14. RTC模块介绍
5.14.1. GD32 RTC外设简介
0x系列RTC
x0系列RTC
4xx系列RTC
各系列RTC模块功能对比
5.14.2. GD32 RTC硬件设计
5.14.3. GD32 RTC软件配置
时钟及分频配置
日历配置
闹钟配置
主函数说明
闹钟中断说明
5.14.4. RTC使用注意事项
5.15. CAN模块介绍
5.15.1. CAN基础知识
CAN物理层
闭环总线网络
开环总线网络
通讯节点
CAN协议中的差分信号
通讯的波特率
同步过程分析
CAN的报文种类及结构
数据帧的结构
帧起始
仲裁段
控制段
数据段
CRC段
ACK段
帧结束
其它报文的结构
5.15.2. GD32 CAN外设原理简介
1.1.
1.2.
1.
1.1.
1
1.1
1.
1.1.
1.1.
GD32 CAN主要特性
CAN结构框图介绍
控制寄存器CAN_CTL
位时序寄存器(CAN_BT)及波特率
正常模式
静默模式
回环模式
回环静默模式
各系列CAN功能差异
5.15.3. 硬件连接说明
5.15.4. 软件配置说明
CAN外设配置
GPIO引脚配置
主函数配置
运行结果
5.15.5. CAN使用注意事项
6. GD32 MCU FPU使用方法
7. GD32 MCU选项字节设置及解除方法
7.1. 各系列选项字节说明
7.2. 通过代码实现
7.3. 通过JTAG/SWD接口实现
7.3.1. 使用Jlink设置和解除选项字节
7.3.2. 使用GDlink设置和解除选项字节:
7.4. 通过ISP命令选项字节设置和解除
8. 分散加载说明
8.1. Keil IDE example
8.1.1. 将函数放置某个地址
8.1.2. 将常量放置某个地址
8.1.3. 将函数放置RAM中运行
8.1.4. 将程序中所有const快速放置在data区域
8.2. IAR IDE example
8.2.1. 将函数放置某个地址
8.2.2. 将常量放置某个地址
8.2.3. 将函数放在RAM中运行
8.2.4. 将程序中的const data快速的放置到某个区域
8. 版本历史
GD32 系列微控制器入门开发指南 GigaDevice Semiconductor Inc. GD32 系列微控制器入门开发指南 1.0 版本 ( 2019 年 10 月)
GD32 系列微控制器入门开发指南 目 录 目 录 ......................................................................................................................................... 1 1. GD32 MCU 开发资料下载 .............................................................................................. 5 1.1. 官网下载 .................................................................................................................................. 5 1.2. 网盘下载 .................................................................................................................................. 5 2. GD32 MCU 开发环境搭建 .............................................................................................. 7 2.1. 使用 Keil 开发 GD32 .................................................................................................................. 7 2.1.1. 在 Keil4 中添加 GD32 MCU Device ....................................................................................................... 7 2.1.2. 在 Keil 5 中添加 GD32 MCU Device ...................................................................................................... 8 2.1.3. 使用 GD-Link 开发 GD32 ....................................................................................................................... 10 2.1.4. 使用 J-Link 开发 GD32 ........................................................................................................................... 12 2.1.5. 使用 ULink2 开发 GD32 ......................................................................................................................... 14 2.1.6. MDK 使用常见问题解答 ......................................................................................................................... 17 2.2. 使用 IAR 开发 GD32 ................................................................................................................ 18 2.2.1. 在 IAR 中添加 GD32 MCU Device ....................................................................................................... 18 2.2.2. 在 IAR 中编译调试 GD32 ....................................................................................................................... 18 2.3. 使用 Eclipse 开发 GD32 ........................................................................................................... 22 2.3.1. 安装 JDK .................................................................................................................................................. 22 2.3.2. 安装 Eclipse ............................................................................................................................................. 22 2.3.3. 安装 ARM 交叉编译链 ............................................................................................................................ 23 2.3.4. 测试 ........................................................................................................................................................... 24 2.3.5. 安装 GUN ARM Eclipse 插件包 ................................................................................................................. 25 2.3.6. 安装 OpenOCD .......................................................................................................................................... 26 Eclipse 的使用 ........................................................................................................................................... 27 2.3.7. 3. GD32 MCU 烧录说明 .................................................................................................... 30 3.1. ISP 烧录 .................................................................................................................................. 30 ISP 烧录工具 ........................................................................................................................................... 30 ISP 引脚分配 ........................................................................................................................................... 31 ISP 下载电路 ........................................................................................................................................... 31 ISP 下载流程介绍.................................................................................................................................... 32 ISP 烧录注意事项.................................................................................................................................... 40 3.1.1. 3.1.2. 3.1.3. 3.1.4. 3.1.5. 3.2. SWD/JTAG 在线下载 ............................................................................................................... 40 SWD/JTAG 引脚定义 .............................................................................................................................. 41 3.2.1. SWD/JTAG 烧录软件 .............................................................................................................................. 41 3.2.2. SWD/JTAG 下载电路 .............................................................................................................................. 41 3.2.3. Jlink 仿真器接口 ...................................................................................................................................... 42 3.2.4. 3.2.5. GD-link 仿真器接口 ................................................................................................................................. 43 J-flash 下载流程 ........................................................................................................................................ 43 3.2.6. GD-link Programmer 下载流程 ................................................................................................................. 47 3.2.7. SWD/JTAG 烧录注意事项 ...................................................................................................................... 49 3.2.8. 3.3. 脱机烧录 ................................................................................................................................ 49 3.3.1. GD-link 脱机烧录硬件连接 ..................................................................................................................... 49 3.3.2. GD-link 脱机烧录流程 ............................................................................................................................. 50 1 / 220
GD32 系列微控制器入门开发指南 3.3.3. GD-link 固件更新 ..................................................................................................................................... 52 3.3.4. GD-link 脱机烧录注意事项 ..................................................................................................................... 52 4. 固件库使用方法和启动流程介绍 ................................................................................... 53 5. GD32 MCU 常见外设介绍 ............................................................................................ 58 5.1. RCU 时钟介绍 ......................................................................................................................... 58 RCU 配置 ................................................................................................................................................. 58 5.1.1. 5.1.2. 非默认外部晶振配置时钟实例 ............................................................................................................... 59 5.1.3. 硬件连接说明 ........................................................................................................................................... 61 5.1.4. 软件配置说明 ........................................................................................................................................... 61 5.1.5. 运行结果 ................................................................................................................................................... 62 5.2. GPIO 模块介绍 ........................................................................................................................ 64 5.2.1. GPIO 基础知识 ........................................................................................................................................ 64 5.2.2. 备用功能(AF) ...................................................................................................................................... 66 I/O 重映射功能 ......................................................................................................................................... 67 5.2.3. 5.2.4. 硬件连接说明 ........................................................................................................................................... 68 5.2.5. 软件配置说明 ........................................................................................................................................... 69 5.2.6. GPIO 使用注意事项 ................................................................................................................................ 72 5.3. NVIC 介绍 ............................................................................................................................... 73 5.3.1. 优先级的设置 ........................................................................................................................................... 73 5.3.2. 中断服务函数的命名 ............................................................................................................................... 76 5.3.3. 中断向量偏移 ........................................................................................................................................... 76 NVIC 使用注意事项 ................................................................................................................................ 78 5.3.4. 5.4. EXTI 中断介绍 ......................................................................................................................... 79 5.4.1. GD32 EXTI 外设原理简介 ...................................................................................................................... 79 5.4.2. 硬件连接说明 ........................................................................................................................................... 81 5.4.3. 软件配置说明 ........................................................................................................................................... 81 5.5. TIMER 模块介绍 ...................................................................................................................... 84 TIMER 基础知识...................................................................................................................................... 84 5.5.1. 5.5.2. 硬件连接说明 ........................................................................................................................................... 84 5.5.3. GD32 TIMER 外设原理简介 .................................................................................................................. 84 5.5.4. 软件配置说明 ........................................................................................................................................... 85 TIMER 使用注意事项 .............................................................................................................................. 90 5.5.5. 5.6. ADC 模块介绍 ......................................................................................................................... 91 ADC 基础知识 ......................................................................................................................................... 91 5.6.1. 5.6.2. GD32 ADC 外设原理 .............................................................................................................................. 91 5.6.3. 硬件连接说明 ........................................................................................................................................... 92 5.6.4. 软件配置说明 ........................................................................................................................................... 93 ADC 使用注意事项.................................................................................................................................. 96 5.6.5. 5.7. I2C 模块介绍 ........................................................................................................................... 97 I2C 基础知识 ............................................................................................................................................ 97 5.7.1. 5.7.2. GD32 I2C 外设原理简介 ........................................................................................................................ 99 5.7.3. 硬件连接说明 ......................................................................................................................................... 100 5.7.4. 软件配置说明 ......................................................................................................................................... 101 I2C 使用注意事项 .................................................................................................................................. 110 5.7.5. 5.8. SPI 模块介绍 ......................................................................................................................... 111 SPI 基础知识 ......................................................................................................................................... 111 5.8.1. 5.8.2. GD32 SPI 外设原理简介 ...................................................................................................................... 113 2 / 220
GD32 系列微控制器入门开发指南 5.8.3. 硬件连接说明 ......................................................................................................................................... 115 5.8.4. 软件配置说明 ......................................................................................................................................... 115 SPI 使用注意事项.................................................................................................................................. 118 5.8.5. 5.9. FWDG 模块介绍 .................................................................................................................... 119 FWDG 简介 ............................................................................................................................................ 119 5.9.1. 5.9.2. GD32 FWDG 外设原理简介 ................................................................................................................ 119 5.9.3. 硬件连接说明 ......................................................................................................................................... 120 5.9.4. 软件配置说明 ......................................................................................................................................... 120 FWDG 使用注意事项 ............................................................................................................................ 124 5.9.5. 5.10. USART 模块介绍 ................................................................................................................ 125 5.10.1. USART 基础知识 .................................................................................................................................. 125 5.10.2. GD32 USART 外设原理简介 ............................................................................................................... 128 5.10.3. 硬件连接说明 ......................................................................................................................................... 131 5.10.4. 软件配置说明 ......................................................................................................................................... 132 5.10.5. USART 使用注意事项........................................................................................................................... 135 5.11. PMU 模块介绍 .................................................................................................................. 136 5.11.1. PMU 简介 ............................................................................................................................................... 136 5.11.2. PMU 功能 ............................................................................................................................................... 136 5.11.3. 硬件注意事项 ......................................................................................................................................... 138 5.11.4. 软件配置说明 ......................................................................................................................................... 139 5.11.5. PMU 使用注意事项 ............................................................................................................................... 140 5.12. FMC 模块介绍 ................................................................................................................... 141 5.12.1. FMC 基础知识: ................................................................................................................................... 141 5.12.2. FMC 功能 ............................................................................................................................................... 141 5.12.3. 软件配置说明 ......................................................................................................................................... 146 5.12.4. FMC 使用注意事项 ............................................................................................................................... 147 5.13. DAC 模块介绍 .................................................................................................................... 148 5.13.1. GD32 DAC 外设原理简介 .................................................................................................................... 148 5.13.2. 软件配置说明 ......................................................................................................................................... 150 5.13.3. DAC 使用注意事项................................................................................................................................ 153 5.14. RTC 模块介绍 .................................................................................................................... 154 5.14.1. GD32 RTC 外设简介 ............................................................................................................................ 154 5.14.2. GD32 RTC 硬件设计 ............................................................................................................................ 159 5.14.3. GD32 RTC 软件配置 ............................................................................................................................ 160 5.14.4. RTC 使用注意事项 ................................................................................................................................ 167 5.15. CAN 模块介绍 ................................................................................................................... 168 5.15.1. CAN 基础知识 ....................................................................................................................................... 168 5.15.2. GD32 CAN 外设原理简介 .................................................................................................................... 178 5.15.3. 硬件连接说明 ......................................................................................................................................... 183 5.15.4. 软件配置说明 ......................................................................................................................................... 184 5.15.5. CAN 使用注意事项................................................................................................................................ 190 6. 7. GD32 MCU FPU 使用方法 ......................................................................................... 191 GD32 MCU 选项字节设置及解除方法 ........................................................................ 194 7.1. 各系列选项字节说明 ............................................................................................................ 194 7.2. 通过代码实现 ....................................................................................................................... 196 7.3. 通过 JTAG/SWD 接口实现 ..................................................................................................... 196 3 / 220
GD32 系列微控制器入门开发指南 7.3.1. 使用 Jlink 设置和解除选项字节 ........................................................................................................... 196 7.3.2. 使用 GDlink 设置和解除选项字节: ...................................................................................................... 200 7.4. 通过 ISP 命令选项字节设置和解除 ....................................................................................... 202 8. 分散加载说明............................................................................................................... 206 8.1. Keil IDE example .................................................................................................................... 206 8.1.1. 将函数放置某个地址 ............................................................................................................................. 206 8.1.2. 将常量放置某个地址 ............................................................................................................................. 208 8.1.3. 将函数放置 RAM 中运行 ...................................................................................................................... 208 8.1.4. 将程序中所有 const 快速放置在 data 区域 ........................................................................................ 209 8.2. IAR IDE example .................................................................................................................... 212 8.2.1. 将函数放置某个地址 ............................................................................................................................. 212 8.2.2. 将常量放置某个地址 ............................................................................................................................. 215 8.2.3. 将函数放在 RAM 中运行 ...................................................................................................................... 215 8.2.4. 将程序中的 const data 快速的放置到某个区域 ................................................................................. 217 8. 版本历史 ...................................................................................................................... 219 4 / 220
GD32 系列微控制器入门开发指南 1. GD32 MCU 开发资料下载 本章介绍GD32 MCU开发资料下载方式,读者可通过以下途径下载。 1.1. 官网下载 具体官网下载链接如下:http://gd32mcu.21ic.com/documents/,打开官网资料下载界面如图 1-1 GD32 MCU资料下载官网截图所示。在中文界面下下载资料需要进行简单的注册和登陆后下 载,在英文界面下下载资料无需注册和登陆。 图 1-1 GD32 MCU 资料下载官网截图 1.2. 网盘下载 具体共享网盘链接如下:https://pan.baidu.com/s/1mhQsNpu,该共享网盘包含GD32 MCU开 发所需的用户手册、数据手册、固件库及相关工具等资料,读者可根据分类自主下载,具体资料 介绍如表 1-1 GD32共享文件夹资料介绍所示。 表 1-1 GD32 共享文件夹资料介绍 原理图与封装库 GD32 全系列产品封装库文件(AD 版本) Keil5 缺少的文件 Keil 版本导致,工程编译提示缺少内核文件时使用 GD32 共享文件夹资料介绍 应用经验 固件库 选型手册 开发板 Application Note SDK 函数库,软件例程源码及相关固件库使用指南 GD32 全系列产品选型手册 开发板硬件设计参考原理图、PCB 参考设计、软件例程源码与相关指导文档 5 / 220
GD32 系列微控制器入门开发指南 软件 开发环境相关补丁、驱动、工具软件(包含 MDK 选型插件、IAR 选型插件、GDlink 上位机、 ISP 工具、DFU 工具、USB 虚拟串口驱动等) 数据手册&编程手册 Datasheet 以及编程手册 6 / 220
GD32 系列微控制器入门开发指南 2. GD32 MCU 开发环境搭建 GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL,IAR、 GCC和Eclipse,客户可以根据个人喜好来选择相应的开发环境。 2.1. 使用 Keil 开发 GD32 目前市面通用的MDK for ARM版本有Keil 4和Keil 5:使用Keil 4建议安装4.74及以上;使用Keil 5 建议安装5.20以上版本(注意:GD32E23x系列必须使用Keil5开发)。 2.1.1. 在 Keil4 中添加 GD32 MCU Device 1. 从GD32官网下载相关系列插件。 下面以 GD32F30x 为例,在官网上下载 MDK-ARM_AddOn_GD32F30x_V1.0.0.rar,如图 2-1 GD32F30x 系列 MCU 型号支持pack 包名称(keil4)所示。 图 2-1 GD32F30x 系列 MCU 型号支持 pack 包名称(keil4) 2. 双击解压安装至Keil 4的目录,一般都会默认选择,如若同时安装了Keil 4和Keil 5才需要手动 选择。 图 2-2 Pack 包安装示意图(keil4) 3. 安装成功后,重新打开Keil 4,则可以在File->Device Database中出现Gigadevice的下拉选项, 点击可以查看到相应的型号。 7 / 220
分享到:
收藏