一、下载安装GD32F1芯片包

1.直接到官网下载

GD官网

下拉找到应用软件,点击箭头

找到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 

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐