一、硬件介绍
1、产品特点
萤火工场基于兆易创新GD32VW553(GD32VW553HMQ7)无线双模MCU研发、RISC-V内核的32位MCU的开源硬件
GD32VW553系列MCU采用了全新的开源指令集架构RISC-V处理器内核,主频可达160MHz。集成了高达4MB Flash及320KB SRAM,另有32KB可配置指令高速缓存(I-Cache),大幅提升了CPU处理效率,支持2.4GHz Wi-Fi 6及BLE5.2无线连接标准;
性能参数
| 功能 | 参数 |
|---|---|
| FLASH(KB) | 4096 |
| SRAM(KB) | 320 |
| 时钟 | ——————————— |
| General Timer(16-bit) | 2 |
| General Timer(32-bit) | 2 |
| Advanced Timer(16-bit) | 1 |
| Basic Timer(16-bit) | 1 |
| SysTick(64-bit) | 1 |
| Watchdog | 2 |
| RTC | 1 |
| 接口 | ——————————— |
| USART | 1 |
| UART | 2 |
| I2C | 2 |
| SPI | 1 |
| QSPI | 1 |
| Wi-Fi 6 | 1 |
| BLE 5.2 | 1 |
| 12bit ADC Units(Channels) | 1(9) |
2、硬件升级优化
经过一年,对比上一代,硬件布局升级,进行了系统性优化,更加的方便好用了;
Type-C 口升级: 集成串口功能, 简化调试与程序下载流程, 提升开发便捷性;
新增开关: 增设用户可自定义按键及指示灯, 拓展交互控制与状态显示功能;
板面布局优化: 背面增加引脚丝印, 正面仅保留关键器件丝印, 布局清晰及信息聚焦;
FLASH 焊接位: 移至背面, 减少焊接风险, 增加开源二次开发的灵活性;
BOOT 开关优化: 升级为拔码式设计, 简化操作逻辑, 提升切换效率;
稳固性增强: 板厚增至 1mm, 提升了整体结构强度与抗变形能力 ;
实物如下:
GD32VW55x系列 支持 cJTAG 和 JTAG,不支持 SWD 的调试接口
需使用GDLink / JLink 调试器

3、功能引脚示意图 / 原理图
板载LED灯
LED1:电源指示灯 🔴USR_LED:PB2 🔴
BOOT选择 (SW1切换)
BOOT0:PC8BOOT1:PB1
按键
KEY1:复位按钮KEY2:PB11 (USR_KEY)

引脚定义
板载Type-C串口功能: PB15 / PA8 (UART1_TX / RX)
USART0(PB15 和 PA8), UART1(PA4 和 PA5),UART2(PA6 和 PA7)
固件库
包含Demo例程等
烧录工具
串口烧录
3、VS Code 环境配置
1、安装插件

2、创建工程项目
导入下载好的文件,以LED_Demo为例:
...\GD32VW55x_Demo_Suites_V1.4.0\GD32VW553H_EVAL_Demo_Suites\Projects\01_GPIO_Running_LED\eclipse\.cproject

3、安装工具链(RISCV工具链)

4、工具配置
构建器选项设置
修改为与下方对应;

附加选项添加-nostartfiles
使用启动代码 start.S

链接脚本路径设置
将显示的相对路径位置复制到上方:../../../../GD32VW55x_Firmware_Library/RISCV/env_Eclipse/GD32VW553xM.lds

以上均来自本论坛其他人
三、代码编写
实现效果:LED闪烁
#include "gd32vw55x.h"
#include "systick.h"
#include <stdio.h>
int main(void)
{
systick_config();
rcu_periph_clock_enable(RCU_GPIOB);
gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_2);
gpio_bit_reset(GPIOB, GPIO_PIN_2);
while (1)
{
delay_1ms(500);
gpio_bit_toggle(GPIOB, GPIO_PIN_2);
}
}
以上代码先初始化systick_config,然后使能GPIOB的时钟,设置为推挽模式完成GPIO初始化,最后通过反转电平完成LED的闪烁,代码简洁,简单入手

