GD32F103单片机-概述和工程建立
一、GD32F103单片机介绍
- GD32F103系列由是由国内公司兆易创新生产的基于Arm Cortex-M3处理器的单片机
- 位数:32位
- 工作电压:2.0V-3.6V
- 最高工作频率:108MHz
- RAM:20k
- ROM:64K
1.1 GD32F103C8T6引脚
-
下图为GD32F103Cx系列的引脚图,GD32同STM32一致,包含GPIO、USART、SPI、I2C、ADC等外设
-
各个引脚功能如下所示
-
GD32F103C8T6一共有48个引脚,P表示电源引脚、IO表示输入输出口,5VT表示可以容忍5V电压
1.2 GD32F103C8T6系统架构和启动配置
- 下图为GD32F103单片机系统架构
- IBUS是M3内核的指令总线,用于取指令和向量。DBUS是M3内核的数据总线,用于加载和存储数据,SBUS是M3内核的系统总线,系统区域包括SRAM和AHP外设区,其他包括DMA等
- AHB外设总线分为APB1和APB2外设总线,APB1速度限制在54MHz,APB2操作全速可达108MHz
- 启动配置如下表格,同STM32单片机一致,一般情况下,在主FLASH存储器启动,Boot0引脚接地
1.3 GD32F103C8T6时钟树
- 时钟来源由一个内部的8M RC振荡器时钟(IRC8M)、一个外部高速晶体振荡器时钟(HXTAL)、一个内部40K RC振荡器时钟(IRC40K)、一个外部低速晶体振荡器时钟(LXTAL)、一个锁相环PLL等等
- AHB、APB和Cortex-M3时钟来自系统时钟(CK_SYS),系统时钟的时钟源可以选择IRC8M、HXTAL或PLL,AHB、APB2最大时钟频率为108MHz,APB1最大时钟频率为54MHz
二、GD32F103工程建立
- 下载Keil MDK版本
- 在GD32官网www.gd32mcu.com下载GD32手册和Pack包,点击pack文件,会自动下载到keil里的packs文件夹里,新建工程时就可以看见GD32F103的芯片
- 工程模板建立:创建工程,选择器件-GD32F103C8
- 添加固件库:在GD32官网下载GD32F103固件库,
-
在工程文件夹和Keil软件内同时新建User、Library、Start文件夹
-
下列文件存放到User文件夹中,systick为延时函数
- 以下是Library文件夹内容
- 以下是启动文件夹Start的内容
建立好工程以后,在C/C++包含文件路径,修改编译器版本
如果报错.\Objects\Project.axf: Error: L6218E: Undefined symbol led_spark (referred from gd32f10x_it.o).表示在it.c里led_spark函数未定义,需要注释掉(原因不详,为什么有这个函数)