一、开发环境
萤火工场GD32VW553-IOT开发板是一款基于兆易创新的GD32VW553微控制器的开发板,它采用了RISC-V架构,主频可达160MHz,集成了高达4MB Flash及320KB SRAM,另有32KB可配置指令高速缓存(I-Cache),支持IEEE 802.11ax向下兼容IEEE 802.11b/g/n标准 2.4GHz Wi-Fi 6和Bluetooth 5.2无线通信协议,具备高性能、大容量内存配置以及多种安全特性,供电电压1.8V~3.6V,并提供了85℃~105℃宽温选择,适用于智能家居、物联网设备、工业自动化等多个领域。该开发板为开发者提供了丰富的资料和技术支持,是一个理想的探索最新无线通信技术和嵌入式系统设计的平台。
推荐开发工具:SEGGER(推荐,简单易用)、IAR、EmbeddedBuilder等。
下载工具:1.USB转串口(硬件),2.GD32AllInOneProgrammer(软件)烧录程序。 官方SDK可在官网下载: https://www.gd32mcu.com/cn/download/7?kw=GD32VW5 3.SEGGER下载网址: https://www.segger.com/downloads/embedded-studio/(我下载的版本是GD32EmbeddedBuilder_1.5.3.31964,用来开发工程及修改代码)
二、注意事项:
1.焊接完排针一定要测量一下是否短路!!!因为板子间距太小了,焊接时很容易短路
2.实物上的BOOT0、BOOT1的上拉电阻都没焊接,所以使用板子上的排针跳线帽去接是没用的。
BOOT0是和PC8接在一起,并且和3V3是紧挨着的,所以我们只需将BOOT0的跳线帽拔掉,然后用镊子短接PC8和3V3即可。
三、主要部分代码如下
#include "gd32vw55x.h"
#include "systick.h"
#include <stdio.h>
#include "main.h"
#include "gd32vw553h_eval.h"
void led_spark(void)
{
static __IO uint32_t timingdelaylocal = 0U;
if(timingdelaylocal) {
if(timingdelaylocal < 500U) {
gd_eval_led_on(LED2);
gd_eval_led_on(LED3);
} else {
gd_eval_led_off(LED2);
gd_eval_led_off(LED3);
}
timingdelaylocal--;
} else {
timingdelaylocal = 1000U;
}
}
int main(void)
{
#ifdef __FIRMWARE_VERSION_DEFINE
uint32_t fw_ver = 0;
#endif
systick_config();
eclic_priority_group_set(ECLIC_PRIGROUP_LEVEL3_PRIO1);
gd_eval_led_init(LED1);
gd_eval_led_init(LED2);
gd_eval_led_init(LED3);
gd_eval_com_init(EVAL_COM0);
gd_eval_key_init(KEY_TAMPER_WAKEUP, KEY_MODE_GPIO);
#ifdef __FIRMWARE_VERSION_DEFINE
fw_ver = gd32vw55x_firmware_version_get();
printf("\r\nGD32VW55X series firmware version: V%d.%d.%d", (uint8_t)(fw_ver >> 24), (uint8_t)(fw_ver >> 16), (uint8_t)(fw_ver >> 8));
#endif
printf("\r\nCK_SYS is %d\r\n", rcu_clock_freq_get(CK_SYS));
printf("\r\nCK_AHB is %d\r\n", rcu_clock_freq_get(CK_AHB));
printf("\r\nCK_APB1 is %d\r\n", rcu_clock_freq_get(CK_APB1));
printf("\r\nCK_APB2 is %d\r\n", rcu_clock_freq_get(CK_APB2));
while(1) {
if(RESET == gd_eval_key_state_get(KEY_TAMPER_WAKEUP)) {
delay_1ms(200);
if(SET == gd_eval_key_state_get(KEY_TAMPER_WAKEUP)) {
gd_eval_led_toggle(LED3);
}
}
}
}
四、烧录
1.下载GD32 All In One Programmer,进行烧录。
2.首先先将串口工具与开发板连接接好,烧录接线图详见下图:
拔掉BOOT0的跳线帽(离复位按键远的那个),将串口工具插上电脑,用镊子等工具短接3V3和PC8(注意不要松开),按一下板子上的复位按钮,大约1秒左右松开3V3号PC8之间的短接,然后按图设置即可。
五、最终效果见下图
利用代码中的LED3接实际的led灯。即PA6接led灯正极,led灯正极接开发板的地。
程序烧录的整个过程见文首视频。

