萤火工场 GD32VW553-IOT 开发板测评与资料介绍
硬件配置与核心特性
GD32VW553-IOT 开发板基于兆易创新(GigaDevice)的 GD32VW553 双模无线 SoC 设计,集成 RISC-V 内核(Bumblebee Core)与 Wi-Fi 6 + Bluetooth LE 5.2 双模无线模块。主频可达 160MHz,配备 512KB Flash 和 160KB SRAM,支持多协议无线通信。
开发板扩展接口丰富,包括 USB Type-C、JTAG 调试接口、用户按键、LED 指示灯及多个 GPIO 排针,兼容 Arduino 生态,便于快速原型开发。
开发环境与工具链
支持主流的开发工具如 Keil MDK、IAR Embedded Workbench 和 PlatformIO,同时提供基于 GCC 的 RISC-V 工具链。兆易创新提供了完整的 SDK 包,包含外设驱动库、RT-Thread 操作系统支持及无线协议栈(如 Wi-Fi 6 的 IEEE 802.11ax 和 Bluetooth LE 5.2)。
开发板可通过串口或 JTAG 调试,配套的 GD-Link 编程器支持固件烧录与实时调试。
无线性能与物联网应用
实测 Wi-Fi 6 模式下传输速率可达 100Mbps 以上,支持 OFDMA 和 MU-MIMO 技术,适用于高密度设备连接场景。蓝牙 LE 5.2 支持长距离模式(Coded PHY)和广播扩展,适合智能家居、穿戴设备等低功耗应用。
开发板预装了 IoT 示例代码,如 MQTT 协议通信、云端接入(阿里云/腾讯云)和本地组网(Mesh),用户可快速验证物联网方案。
功耗与稳定性
低功耗模式下电流低至 10μA,动态功耗通过电源管理单元(PMU)优化。无线模块在高温(85°C)和高负载压力测试中表现稳定,符合工业级可靠性要求。
社区资源与生态
萤火工场提供了详细的开发文档、原理图及示例项目,社区论坛活跃,开发者可获取技术支持。开发板兼容常见的传感器模块(如温湿度、陀螺仪),并支持与主流云平台的无缝对接。
适用场景
智能家居中控设备
工业无线传感器节点
穿戴设备与健康监测
智慧城市中的低功耗广域网络
通过以上特性,GD32VW553-IOT 开发板成为 RISC-V 生态中兼具高性能与无线连接能力的解决方案,适合中高级开发者探索物联网前沿技术。
接下来讲解这块芯片的开发环境配置:
与平常我们熟知的stm32不同这款芯片不能在kile里面开发所以我们需要去gd官网下载配套的ide。
官网链接:兆易创新GigaDevice-资料下载兆易创新GD32 MCU
选择后进行下载
PS:下载后解压到无特殊符号的文件目录下
解压后可以看到有许多的资源给我们使用,有例程和开发ide还有工具包等等可以说十分贴心。
进入第二个打开进入该文件后
PS:如果有警告可以关闭杀毒软件或者用管理员模式运行。
进入到我们的配套的开发环境里面了。
首次进入软件会提示我们创建一个工作区:
选择好后我们进正式进入了
下面我们还是进行新建工程用来基本熟悉ide的使用
点击file--new--project
命名一个工程名字再点击下一步
找到
点击下一步新工程就创建完毕了!!!
/*!
\file main.c
\brief led spark with systick, USART print and key example
\version 2025-01-16, V1.4.0, firmware for GD32VW55x
*/
/*
Copyright (c) 2025, GigaDevice Semiconductor Inc.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.
*/
#include "gd32vw55x.h"
#include "systick.h"
#include <stdio.h>
#include "main.h"
#include "gd32vw553h_eval.h"
/*!
\brief toggle the led every 500ms
\param[in] none
\param[out] none
\retval none
*/
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;
}
}
/*!
\brief main function
\param[in] none
\param[out] none
\retval none
*/
int main(void)
{
#ifdef __FIRMWARE_VERSION_DEFINE
uint32_t fw_ver = 0;
#endif /* __FIRMWARE_VERSION_DEFINE */
/* configure systick */
systick_config();
eclic_priority_group_set(ECLIC_PRIGROUP_LEVEL3_PRIO1);
/* initilize the LEDs, USART and key */
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();
/* print firmware version */
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 /* __FIRMWARE_VERSION_DEFINE */
/* print out the clock frequency of system, AHB, APB1 and APB2 */
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(50);
if(SET == gd_eval_key_state_get(KEY_TAMPER_WAKEUP)) {
gd_eval_led_toggle(LED1);
}
}
}
}
这个是新建工程的时候自带了一个led的示例,可以快速测试芯片和环境是否正确。
由于主包没有串口烧录工具这里就不演示烧录了;
最后我特别感谢iCeasy商城可以官网提供申请芯片的机会!!!
这个是官网链接:iCEasy商城_元器件综合交易平台_现货元器件交易网-正品保障
下面是我自己的感悟:
1.gd作为我们国产芯片中是比较优秀的了,我也参加过以gd为芯片的比赛--西门子
2.我刚才拿到芯片的时候感觉很薄,比我见过的开发板里面算是比较小巧的了
3.未来如果有机会,希望gd厂商可以再多融入一些操作系统例如(freertos)
4.我觉得还有一点很好的就是芯片资料都是有中文的这一点很好
下面说一下芯片pcb板的 优缺点:
优点:
1.pcb整体的颜值是不错的整体是我本人比较喜欢的一个色系。
2.开发板设置的整体是小巧,比较便捷的
3.除了板载天线外有一个可以外接天线的接口也是不错的
缺点:
1.就是如果这款芯片定位是开发板的话首先就是板子上没有对应端口的丝印,这对于开发和刚学习这个板子的人不大友好。
2.就是没法串口直接下载,需要自己配套一个ch340才可以下载这也是很不方便的,既然已经有了一个type-c接口为什么不能直接通过这个下载呢,我有一个小小的建议就是可以参考合宙的一款esp-c3简约版的设计,这块芯片也没有ch340但也可以直接下载程序好像是有虚拟串口的技术我也不大懂也可以进行升级改良一下。
3.虽然这块板子很薄很便携,但是如果作为一款定位是开发板的板子来说,我觉得应该要经得住风吹雨打,如果太薄很容易断掉,就是还可以增加一些电路保护,想比如说stlink下载器里面就会有接反保护,虽然这个芯片没有配套的下载器但是保护电路也应该可以加上,对于一些粗心大意的人有时候就会接反,导致一个几十块的开饭板烧掉
最后我真的希望我们国产的芯片越来越好,不再受到约束,我是深有体会的,国外的芯片资料不好看,官网也是经常登不上去甚至是下载一个配套的开发环境也要填一个问卷感觉很防着我们一样!所以还是要多支持国产有朝一日入门单片机的芯片不再是stm32而是gd32
希望我们国产芯片可以越走越远发扬光大!!!!!!!

