GD32VW553-IOT 开发板

分享作者:wechat_13365514568
评测品牌:萤火工场
评测型号:GD32VW553-IOT
发布时间:2025-08-20 11:45:52
1
概要
多种方式使用官方提供的开发环境,介绍GD32VW553芯片的项目结构
开源口碑分享内容

GD32VW553开发环境

萤火工场推出基于兆易创新(GigaDevice)GD32VW553是一款 RISC-V 内核的 32位 MCU 的开源硬件,小巧而且是最新的RISC-V架构。现在的国产芯片大量的开始发力自主可控的芯片架构。GD作为国内的老厂家相信大家也非常信任,愿意尝试这款GD32VW553。

GD32VW55x MCU 参数表

存储规格

参数数值
FLASH4096 KB
SRAM320 KB

时钟系统

类型数量
General Timer (16-bit)2
General Timer (32-bit)2
Advanced Timer (16-bit)1
Basic Timer (16-bit)1
SysTick (64-bit)1
Watchdog2
RTC1

通信接口

接口类型数量
USART1
UART2
I2C2
SPI1
QSPI1
Wi-Fi1
BLE5.21

模拟功能

参数数值
ADC Units1
ADC Channels9

官方环境

可以看到板子虽然小,功能还是挺丰富的。而且拥有WiFi和蓝牙可玩性相当高。但是作为新芯片没有资料怎么版?好在官方给我们提供了文档来进行开发。

作为新鲜的芯片GD也是使用了自己最新的软硬件生态,不仅是不同于过去传统的新标准库,还有GD自己的IDE,类似现在STM的CubeIDE,不过我们的GD32VW553没有可视化的引脚配置,好在引脚也不多?。

下载好里面的资料就可以直接开始使用了.没错!!!这个IDE居然是即开即用,比罐头都方便?。因为是基于Eclipse二次开发的,IDE本身是英文的,但是我们可以通过下载插件来进行汉化。选择好芯片创建好工程,就可以正常的进行编码了,用它的模板编译一下。

非常完美?

基于对代码的分析,接下来为大家介绍这个由 GD32EmbeddedBuilder 自动生成的软件框架:

GD32EmbeddedBuilder 软件框架介绍

1. 框架概述

这是一个基于GD32VW55x 系列 RISC-V MCU的嵌入式软件开发框架,由 GD32EmbeddedBuilder 工具自动生成。该框架采用分层架构设计,提供了完整的硬件抽象层和标准外设库。

2. 核心架构特点

硬件平台

· MCU: GD32VW55x 系列(RISC-V 架构)

· 内存配置:

o Flash: 4MB (0x08000000)

o RAM: 288KB (0x20000000)

· 架构: RISC-V 32 位处理器

分层设计

应用层 (Application)    

硬件抽象层 (HAL)    

标准外设库 (Standard Peripheral Library)  

 ↓

硬件层 (Hardware)

3. 主要组件分析

标准外设库 (Firmware/GD32VW55x_standard_peripheral/)

· GPIO: 通用输入输出控制

· USART: 串口通信

· Timer: 定时器功能

· ADC: 模数转换

· SPI/I2C: 串行通信接口

· DMA: 直接内存访问

· 加密模块: CAU (Cryptographic Acceleration Unit)

· 哈希模块: HAU (Hash Acceleration Unit)

RISC-V 核心支持 (Firmware/RISCV/)

· 启动代码: start.S, entry.S

· 中断处理: handlers.c

· 系统初始化: init.c

· 标准库支持: stubs/目录提供系统调用接口

评估板支持 (src/gd32vw553h_eval.c)

· LED 控制: 3 个 LED 灯(LED1, LED2, LED3)

· 按键输入: TAMPER_WAKEUP 按键

· 串口通信: USART0 配置

· GPIO 配置: 引脚定义和时钟配置

4. 开发工具链

编译环境

· 编译器: RISC-V GCC 工具链

· 构建系统: Makefile + sources.mk

· 调试支持: OpenOCD + GDLINK

项目结构

GD32VM/

       ├── src/              

       # 用户源代码├── inc/        

       # 头文件├── Firmware/      

       # 标准外设库├── RISCV/        

        # RISC-V核心支持├── ldscripts/        

       # 链接脚本└── GD RISC-V MCU Debug/  

       # 调试版本输出

5. 示例应用功能

从main.c可以看出,这是一个LED 闪烁 + 串口打印 + 按键检测的示例程序:

· LED 控制: LED2 和 LED3 每 500ms 闪烁一次

· 串口输出: 打印系统时钟频率信息

· 按键检测: 检测 TAMPER_WAKEUP 按键,按下时切换 LED1 状态

· 系统定时: 使用 SysTick 提供精确的时间基准

6. 框架优势

1. 标准化: 遵循 ARM Cortex-M 类似的 API 设计模式

2. 完整性: 提供完整的外设驱动和硬件抽象

3. 易用性: 自动生成的代码结构清晰,易于理解和修改

4. 兼容性: 支持多种 GD32VW55x 系列芯片

5. 开发效率: 减少底层硬件配置的重复工作

7. 适用场景

· 物联网设备开发

· 工业控制应用

· 消费电子产品

· 学习和教学项目

· 原型快速开发

这个框架为开发者提供了一个完整的嵌入式开发环境,大大简化了 RISC-V MCU 的开发流程,特别适合需要快速原型开发和产品化的项目。

通过EIDE插件在VsCode下开发

如果不喜欢这种界面,也可以通过VsCode的EIDE插件来进行项目的导入,按照提示导入项目中的 .cproject 文件,我们可以自动创建一个VsCode项目。

但是会在eclipse.importer.warning.txt这个文件中会记录一些不适配的参数。直接编译会报错,原因就在这个文件中。比如图中的这个报错就是我们的链接文件有问题。只要参考一下

Incompatible Args:    /:        globalArgs:            - <undefined> = undefined            - <undefined> = com.gigadevice.mbs.option.toolSettings.debugging.level.max            - <undefined> =  -g3            - <undefined> = ./Tools/nuclei_riscv_newlibc_prebuilt_win32_2022.04/gcc/bin            - <undefined> = ./Tools/Build Tools/2.10-20180103-1919/bin            - <undefined> = riscv-nuclei-elf-            - <undefined> = riscv-nuclei-elf-objcopy            - <undefined> = riscv-nuclei-elf-objdump            - <undefined> = riscv-nuclei-elf-size            - <undefined> = MCU RISC-V GCC            - <undefined> = riscv-nuclei-elf-gcc            - <undefined> = GD32VW553HMQ6            - <undefined> =  -march=rv32imac -mabi=ilp32 -mcmodel=medlow -msmall-data-limit=8 -mdiv        cIncDirs: []        cMacros: []        cCompilerArgs: []        sIncDirs: []        sMacros: []        assemblerArgs:            - <undefined> = undefined        linkerArgs:            - <undefined> = undefined        linkerLibArgs: []

其中提示我们没有进行链接器的设置

= -march=rv32imac -mabi=ilp32 -mcmodel=medlow -msmall-data-limit=8 -mdiv

根据报错进行配置

再进行链接脚本的路径配置

就可以通过EIDE编译文件了


附件
全部评论
暂无评论
0/144