GD32F470(西门子开发板)环境配置:vscode+EIDE(新)
前言
我在前面的博客中分享了GD32F470的vscode+Embedded IDE环境配置,当时是使用的官方固件库的keil模板直接新建,导致项目结构复杂冗余。遂参照Embedded IDE内置模板STM32项目,新建GD32F470项目工程。
添加文件
首先新建一个内置的STM32F103的模板项目,用于参照。


新开一个vscode窗口,新建一个空项目。

对比两侧文件,找到差异,我们所需文件要在固件库中找。

在官网下载GD32F4xx的固件库,地址在兆易创新GigaDevice-资料下载兆易创新GD32 MCU。
hal文件夹


新建hal文件夹,找到GD32F4xx_standard_peripheral,放入hal文件夹。



找到gd32f4xx.h,system_gd32f4xx.h,system_gd32f4xx.c,放入hal文件夹的GD32F4xx_standard_peripheral文件夹。
lib文件夹


新建lib文件夹,在lib文件夹下新建cmsis文件夹,找到如图四个文件,放入cmsis文件夹。
src文件夹

新建src文件夹,在src文件夹下新建main.c,并写入main函数。


在固件库给的样例中找到这三个文件,放入src文件夹。


找到gd32f470的启动文件,放入src文件夹。
.ld文件

找到与自己芯片型号相适配的.ld文件,放入项目的文件夹。
对比检查


二者文件基本类似。
修改Embedded IDE设置
在添加完文件之后,需要修改EIDE的过程设置,包括资源文件添加,头文件包含等等。

添加hal文件夹和src文件夹。(都是选择Normal Folder添加)

CPU类型改为Cortex-M4。

添加链接文件的路径。

添加头文件包含。


添加预处理定义。

由于我们是从模板中拿的中断文件,所以记得把这两个.h包含给删掉。

这两行也删掉。

点击左下角的build构建项目,发现构建成功。
烧录与调试
烧录

修改烧录设置如图。

连接板子,点击左下角的Falsh,烧录,发现烧录成功。
调试

在插件市场下载安装Cortex-Debug。

修改调试器为Cortex-Debug。

点击右上角的调试按钮。

可以进入调试。
LED闪烁实验
修改main.c的代码为:
#include "gd32f4xx.h"
/* 简单软件延时(粗略延时,可根据需要调整循环次数) */
static void delay_soft(uint32_t count) {
for (volatile uint32_t i = 0; i < count; i++);
}
int main(void) {
/* 使能 GPIOE 时钟 */
rcu_periph_clock_enable(RCU_GPIOE);
/* 配置 PE2 为推挽输出,50MHz 速度 */
gpio_mode_set(GPIOE, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_2);
gpio_output_options_set(GPIOE, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_2);
/* 主循环 */
while (1) {
/* PE2 输出低电平(LED 亮,若 LED 为低电平有效) */
gpio_bit_reset(GPIOE, GPIO_PIN_2);
delay_soft(5000000); /* 延时一段时间 */
/* PE2 输出高电平(LED 灭) */
gpio_bit_set(GPIOE, GPIO_PIN_2);
delay_soft(5000000);
}
}
构建,烧录,发现PE2端口连接的LED开始闪烁。

也可以进入调试。
写在后面
新建GD32F4项目工程主要难点在于建立合理的项目结构和添加完整的文件。我们可以仿照Embedded IDE内置的STM32F1的项目来建立,避免项目结构混乱和必要文件缺失。还有经典的那句话:不要止步于配置环境,真正地深入学习下去吧。
更多推荐





所有评论(0)