GD32F350 开发环境搭建
常见的 IDE,如 IAR、Keil 都支持 GD32 软件开发,Embedded Studio 支持 arm M 内核,估计也是支持的,
(一)开发环境 IAR
我是用的 IAR 版本是 8.42,如下:
这个版本 IAR 默认是不支持 GD32F350 的,需要安装 GDF350 IAR 支持包,该支持包可以从官网上找到,就在 GD32F350 的 GD32F3x0_Firmware_Library 中,如下图:
下载下来后是个压缩包,解压后如下:
我下载到的是 V2.02 的,解压出来后有3个目录,IAR 支持包放在 GD32F3x0_AddOn目录中,如下:
默认是不能直接用,需要把文件名后缀修改为 exe 才行,修改后为:
然后直接安装就行了,安装 IAR 就支持 GD32F350 了,
(二)开发环境 Keil
keil 也是一样,默认也不支持 GD32F350,也需要安装支持包,跟 IAR 的一样,跟 IAR 支持包同一个地方下载,也在同一个目录里面:
keil 的支持包跟 IAR 的支持包扩展名不一样,keil 的是以 pack 结尾,如果电脑里面安装了 keil 的话,可以直接双击安装,安装完后, IAR 就支持 GD32F350 了。
(三)SDK
有了 IDE ,还需要 SDK,即固件库,创建相关工程,这个已经包含在之前下载下来的GD32F3x0_Firmware_Library 中,如下:
里面包含了:
- Examples: 各个外设的例程
- Firmware:外设库
- Template:工程模板,
- Utilities:一些第三方库和一些驱动
使用 Template 里面的工程模块直接就可以进行开发了,打开 Template 中的 IAR 工程,如下:
默认的工程里面添加了 GD32F350_EVAL Demo 板上一些外设的驱动,这里用不上就移除,因为我的板子上没有外部晶振,使用的是内部时钟,在 system_gd32f3x0.c 文件中,把时钟相关宏设置为如下:
我在 GD32 Green pill 放了2个led,分别接到 GPIOF 6、GPIOF 7,做个最简单的应用--控制LED闪烁,测试下,代码修改为:
void led_init(void)
{
/* enable the led clock */
rcu_periph_clock_enable(RCU_GPIOF);
/* configure led GPIO port */
gpio_mode_set(GPIOF, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_6);
gpio_output_options_set(GPIOF, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_6);
/* configure led GPIO port */
gpio_mode_set(GPIOF, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_7);
gpio_output_options_set(GPIOF, GPIO_OTYPE_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_7);
}
/*!
\brief main function
\param[in] none
\param[out] none
\retval none
*/
int main(void)
{
/* configure systick */
systick_config();
/* initilize the LEDs, USART and key */
led_init();
while (1){
GPIO_TG(GPIOF) = GPIO_PIN_6;
GPIO_TG(GPIOF) = GPIO_PIN_7;
delay_1ms(500);
}
}
调试器使用的是 daplink,修改下设置:
编译下载,可以看到板子上 2 个黄灯在闪:
(四) GD32F350G8 工程
GD32F350 SDK 中提供的工程是 GD32F350XB 的,要在 GD32F350G8 中用需要做些修改。
IAR 上的修改
使用 IAR 的话需要修改 3 个地方:
- 修改下型号:
- 修改链接文件:
- 修改 ddf
Keil 上的修改
使用 MDK 的话语,只需要修改一部分,把型号选对即可:
本文来自博客园,作者:哈拎,转载请注明原文链接:https://www.cnblogs.com/halin/p/16438927.html