1.前言

笔者近期做一个嵌入式项目,要使用国产芯片,根据需求,选用了GD32F407VG芯片。STM32系列开发板,有正点原子,野火等配置了详细的例程。遗憾的是,只有野火仅支持了一款GD32H759芯片(M7内核),并没有GD32F407芯片。
继续查找相关厂家,有一些小厂家有做GD系列的开发板,并配备了相应的例程,但大多数都是基于标准库,hal库并不完备(甚至GD32的厂家兆易创新本身也只有F3xx系列以下提供了hal库例程,F4xx都是一些标准库)。因此最终选用标准库进行开发(弃用STM32CubeMX生成底层驱动代码的想法,因其只生成Hal库代码)。

2. 开发环境搭建

2.1 安装keil

选用keil作为IDE,此步教程较多,本文略过

2.2 安装GD32F07固件库

官网下载 固件库
下载链接:https://www.gd32mcu.com/cn/download?kw=GD32F4xx&lan=cn
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
安装GigaDevice.GD32F4xx_DFP.pack固件库后,keil才能识别GD的芯片。
在这里插入图片描述

3.工程文件创建

3.1 如创建工程文件夹为LS_20250407,在其目录下创建四个二级目录:

Doc:存放说明文档
Libraries:存放库文件
Project:存放工程文件(uvprojx)
User:存放用户自定义的头文件和源文件
Output:存放编译过程,产生的文件
在这里插入图片描述

3.2 文件复制

将固件库文件夹下面的Firmware下面的三个文件复制到新创建的工程目录Libraries下面
在这里插入图片描述
在这里插入图片描述
将固件库文件夹下面的Template下面的Keil5_project文件复制到新创建的工程目录Project下面
在这里插入图片描述
把固件库文件夹下面的Template下面的gd32f4xx_it.c等文件复制到User文件夹下面
在这里插入图片描述

3.3 keil创建工程

起一个工程名,保存:
在这里插入图片描述
选择芯片型号,这里选用GD32F407VG(后续可更改),点击OK
在这里插入图片描述
出现下面页面,点击ok即可。
在这里插入图片描述

3.4 创建工程视图

创建好的工程文件如下图所示,后面要把需要添加进入工程项目的文件添加进来。
在这里插入图片描述

Target1上点击右键,选择manage project items
在这里插入图片描述
新建STARTUP逻辑目录,并把Libraries/CMSIS/GD/GD32F4xx/Source/ARM/startup_gd32f407_427.s 文件add Files.
在这里插入图片描述
在这里插入图片描述

新建CMSIS逻辑目录,并把Libraries/CMSIS/GD/GD32F4xx/Source/system_gd32f4xx.c 文件add Files.
在这里插入图片描述
在这里插入图片描述

新建Peripherals逻辑目录,并把Libraries\GD32F4xx_standard_peripheral\Source 下所有文件add Files.
在这里插入图片描述
在这里插入图片描述

新建USER逻辑目录,并把main.c、gd32f4xx_it.c、systick.c添加进去。
在这里插入图片描述

此时,编译会报错,提示头文件找不到:
在这里插入图片描述

添加头文件
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

至此,工程文件创建工程。编译没有问题。可以开始后续开发了。
在这里插入图片描述

Logo

openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。

更多推荐