一、下载安装GD32F1芯片包
1.直接到官网下载
下拉找到应用软件,点击箭头
找到GD32F1x0 series DFP Pack for Keil MDK 5.13 or later version(可能版本号会更新),点击右侧图标进行下载
2.这是我下载好的芯片包
链接: https://pan.baidu.com/s/1UHnMBLnyziIJkJGlY54ABg?pwd=1111
提取码: 1111
下载好之后双击安装
他会自动选择keil路径下的芯片包路径进行安装,不需要手动选择安装路径,直接点击Next继续即可
点击Finish安装完成
其他型号的GD芯片也是类似的安装方法
二、下载例程备用
官网下载:GD官网
下拉找到开发板资料中的 GD32F10x Firmware Library,点击右侧的下载标识
解压,这个是解压完之后的路径
三、创建项目文件
先创建一个项目文件夹,我这里是 GD32-new-project
再创建6个文件夹,用于区分不同类型的文件,这几个文件夹可根据个人习惯设置,我一般习惯这么分
这些文件夹分别用来存放下面的内容
名称 | 作用 |
Doc | 存放工程相关的文档 |
Libraries | 存放库文件 |
Lisiting | 存放编译时候产生的C/汇编/链接的列表清单 |
Output | 存放编译产生的调试信息,Hex文件,等输出文件 |
Project | 用来存放工程文件 |
User | 存放用户文件,用户驱动 |
四、移植标准库
把GD官网解压后文件中的Firmware 中的四个文件夹全部复制到 新建项目文件夹Libraries中的
五、移植中断文件和系统时钟配置文件
移植解压文件夹Template中的5个文件到 新建项目User文件夹中
六、新建项目
1.新建工程
双击打开keil
点击project
点击new uvision project
选择项目保存路径,命名项目名字,选好之后点击保存
2.选择芯片型号
点击保存之后,会自动弹出芯片选择窗口,选择你使用的芯片型号,左边有小加号或者小减号,打开相同系列芯片列表,如果你没有GigaDevive这个选项,则说明你的芯片包没有安装成功,回到之前的地方重新安装
我使用的是GD32F103VET6,选好之后点击OK
会有个弹窗,直接关掉
3.设置文件分组
1.点击分组选项
2.是增加一个成员
3.是删除选中的成员
4.是选中的成员上移或者下移
5.项目名称
6.分组的名称
单击名称是选中,双击可以修改名称
把分组修改成这样
4.给分组添加文件
给BSP分组添加中断相关文件gd32f10x_it.c和 系统滴答定时器文件systick.c
1.点击BSP
2.点击add files
3.选择你新建文件夹中的USER文件夹,路径GD32-new-project\User
4.选中这两个文件,可以单个单个添加,也可以一次性选中添加
5.点击Add
添加完之后点击Close
同样的方式给FMW-CORE分组添加system_gd32f10x.c文件和startup_gd32f10x_md.s文件
添加system_gd32f10x.c文件的方法和上一步是一样的
system_gd32f10x.c文件的路径是:GD32-new-project\Libraries\CMSIS\GD\GD32F10x\Source
添加startup_gd32f10x_md.s文件,因为这个文件的文件后缀是.s,所以多了下图的步骤4,要选中显示所有文件才能显示该文件,导入步骤和前面的相似
startup_gd32f10x_md.s路径:GD32-new-project\Libraries\CMSIS\GD\GD32F10x\Source\ARM
同样的方式给组FMW_PERI添加库函数文件
因为不确定工程以后会用到那些外设,所以全部的库文件都添加进去,当然也可以选择只需要的外设
库函数的路径:GD32-new-project\Libraries\GD32F10x_standard_peripheral\Source
5.给工程添加main.c文件和main.h文件
新建文件
保存文件,保存到路径:GD32-new-project\User
命名为main.c
同样的方式创建main.h文件并保存
保存在GD32-new-project\User中,命名为main.h
前面相当于是把新创建了main.c文件,我们还需要把main.c文件同工程联系在一起,需要把它添加到APP组中
6.选择工程输出文件存放的位置
位置为:GD32-new-project\Output
7.选择工程列表文件的存放位置
位置为GD32-new-project\Listing
8.添加头文件.h的包含位置
添加好路径会显示在弹窗上面,一个路径可以多次添加
需要添加下面的路径
GD32-new-project\Libraries\CMSIS
GD32-new-project\Libraries\CMSIS\GD\GD32F10x\Include
GD32-new-project\Libraries\GD32F10x_standard_peripheral\Include
GD32-new-project\User
添加好的样子,添加完后关闭窗口
七、编写代码
给main.c写入点灯代码,验证工程是否建立成功
我的灯接口是PC13,你可以以选择你自己的灯操作
#include "gd32f10x.h"
#include "gd32f10x_libopt.h"
int main(void)
{
rcu_periph_clock_enable(RCU_GPIOC); //打开GPIOC时钟
gpio_init(GPIOC, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_13); //将PC13配置为推挽输出,最高支持50MHz
gpio_bit_reset(GPIOC, GPIO_PIN_13); //将PC13置低电平,点亮LED
rcu_periph_clock_enable(RCU_GPIOB); //打开GPIOB时钟
gpio_init(GPIOB, GPIO_MODE_OUT_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_2); //将PB2配置为推挽输出,最高支持50MHz
gpio_bit_reset(GPIOB, GPIO_PIN_2); //将PB2置低电平,点亮LED
while(1)
{
}
}
点击编译,发现有一个报错和一个警告
上拉下面的消息提示框,双击警告的地方
发现是例程遗留的一个函数,选中注释即可
再次编译,现在是没有问题了,0警告,0错误
设置下载方式,选择你使用的下载方式,我用的是ST-LINK下载,
设置下载后复位,这样不用手动复位
点击下载
下载成功
八、创建工程成功
PB2灯和PC13灯亮,创建工程成功
到此,你学会了吗?(狗头),没学会再去看一遍吧
有问题,欢迎指正
创建好的工程百度网盘提取
通过网盘分享的文件:GD32-new-project
链接: https://pan.baidu.com/s/1Pb3-GBgJ4Eqv0bNFfkvQSg?pwd=1111 提取码: 1111