当前位置: 首页 > news >正文

GD32VW553-IOT V2开发版【三分钟快速环境搭建教程 VSCode】

一、硬件介绍

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
Watchdog2
RTC1
接口———————————
USART1
UART2
I2C2
SPI1
QSPI1
Wi-Fi 61
BLE 5.21
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:PC8

BOOT1:PB1

按键

KEY1:复位按钮

KEY2:PB11 (USR_KEY)

在这里插入图片描述

引脚定义

板载Type-C串口功能: PB15 / PA8 (UART1_TX / RX)
USART0(PB15 和 PA8), UART1(PA4 和 PA5),UART2(PA6 和 PA7)

引脚复用功能
PC8(BOOT0)TIMER2_CH2, I2C0_SDA, I2C1_SDA, USART0_TX, UART1_TX
PB0TIMER0_CH1_ON, TIMER0_CH0, TIMER0_CH2, UART1_TX, I2C0_SCL, TIMER2_ETI, TIMER16_CH0, UART2_CTS, TIMER0_BRKIN
附加功能:ADC_IN8
PA9SPI_MOSI, TIMER0_CH1, QSPI_SCK, USART0_TX, TIMER15_CH0_ON
PA10SPI_MISO, TIMER0_CH2, QSPI_CSN, TIMER16_CH0, USART0_RX
PA11SPI_SCK, TIMER0_CH3, QSPI_IO0, TIMER16_BRKIN, TIMER1_CH3
PA12(WKUP3)TIMER0_ETI, TIMER0_CH3, QSPI_IO1, SPI_NSS, USART0_CK, TIMER1_CH2, TIMER16_CH0_ON
PB13TIMER0_CH0_ON, TIMER1_CH3, I2C1_SDA, TIMER15_CH0
PB12TIMER0_BRKIN, TIMER0_CH3, TIMER1_CH2, I2C1_SCL
PB4(NJTRST)TIMER1_CH0, TIMER1_ETI, QSPI_IO3, USART0_TX, UART1_TX
PB3(JTDO)TIMER1_CH1, QSPI_IO2, USART0_RX, UART1_RX, TIMER15_BRKIN
PA15(JTDI)TIMER1_CH0, TIMER1_ETI, I2C0_SCL, I2C1_SCL, USART0_RX, UART1_RX
附加功能:ADC_IN8
PA14(JTCK)I2C1_SMBA, I2C1_SDA, USART0_RTS, UART1_RTS
PA13(JTMS)I2C0_SMBA, I2C1_SCL, USART0_CTS, UART1_CTS
PB15(UART1_TX)RTC_REFIN, TIMER0_CH2_ON, TIMER2_CH0, I2C0_SCL, I2C1_SCL, USART0_TX, IFRP_OUT
PA8(UART1_RX)CK_OUT0, TIMER0_CH0, USART0_RX, I2C0_SDA, I2C1_SDA, USART0_CK, TIMER15_CH0, RTC_OUT, TIMER0_CH2_ON
PA7(WAKEUP2)I2C1_SDA, TIMER0_CH0_ON, TIMER2_CH1, QSPI_IO1, SPI_NSS, SPI_MOSI, TIMER0_CH1_ON, UART2_RX, TIMER1_CH2
附加功能:ADC_IN7
PA6TIMER2_CH0, QSPI_IO0, I2C1_SCL, SPI_MISO, SPI_SCK, TIMER0_CH1, TIMER1_CH1, UART2_TX
附加功能:ADC_IN6
PA5UART1_RX, TIMER2_ETI, QSPI_CSN, SPI_MISO, SPI_SCK, TIMER0_CH1_ON
附加功能:ADC_IN5
PA4UART1_TX, SPI_MOSI, QSPI_SCK, SPI_NSS, TIMER0_CH1
附加功能:ADC_IN4
PA3USART0_RTS, TIMER1_CH3, I2C0_SDA, SPI_NSS, TIMER0_CH0_ON, UART1_RX, RTC_OUT
附加功能:ADC_IN3
PA2USART0_CTS, TIMER1_CH2, I2C0_SCL, SPI_SCK, TIMER0_CH0, UART1_TX
附加功能:ADC_IN2
PA1USART0_RX, TIMER1_CH1, SPI_MISO, UART1_RTS
PA0(WAKEUP0)USART0_TX, TIMER1_CH0, TIMER1_ETI, SPI_MOSI, UART1_CTS, TIMER0_ETI
附加功能:ADC_IN0, RTC_TAMP1
PB1TIMER0_CH2_ON, TIMER0_CH0_ON, TIMER2_CH2, UART1_RX, I2C0_SDA, TIMER16_CH0_ON, UART2_RTS
附加功能:BOOT1

BOOT 引导模式配置

启动时,使用 BOOT0 和 BOOT1 引脚选择引导存储器地址
选择从 ROM 启动,FLASH 启动或者 SRAM 启动

BOOT0BOOT1引导地址引导区域
0-0x08000000SIP Flash
0-0x0BF46000secure boot
100x0BF40000Bootloader / ROM
110x20000000SRAM
1-0x0BF40000Bootloader / ROM

主要原理图:

在这里插入图片描述

系统框图

在这里插入图片描述

二、环境搭建

开发环境主要有【GD32 Embedded Builder】、【Visual Studio Code】等;

在此,通过使用【Visual Studio Code】完成开发;

VS Code 配合 EIDE 插件进行 MCU 的开发

1、Visual Studio Code下载

VS Code下载地址

在这里插入图片描述

2、工具下载

固件库

GD32VW55x_Demo_Suites_V1.4.0

包含Demo例程等

烧录工具

GD32AllInOneProgrammer

串口烧录

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灯按500ms的间隔闪烁(USR_LED:PB2 🔴)

main.c

#include "gd32vw55x.h"
#include "systick.h"
#include <stdio.h>int main(void)
{systick_config();/* enable the LED clock */rcu_periph_clock_enable(RCU_GPIOB);/* configure LED GPIO port */gpio_mode_set(GPIOB, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, GPIO_PIN_2);/* reset LED GPIO pin */gpio_bit_reset(GPIOB, GPIO_PIN_2);while (1){gpio_bit_set(GPIOB, GPIO_PIN_2);delay_1ms(500);gpio_bit_reset(GPIOB, GPIO_PIN_2);delay_1ms(500);}
}

四、程序编译

点击左上方的构建,下方窗口显示编译完成的 .hex 文件路径

在这里插入图片描述

五、程序烧录

1、用Type-C数据线连接开发板至电脑上;

2、打开烧录工具GD32AllInOneProgrammer.exe

3、根据图示Type-C口向上,将BOOT0接VCC (向上),BOOT1接GND (向下)

烧录完成后,需恢复(都向下

在这里插入图片描述

4、连接开发板,按照图示,导入编译好的.hex文件后下载;

在这里插入图片描述

六、演示效果

板载的LED灯以500ms的间隔闪烁

在这里插入图片描述


文章转载自:

http://lERKG92d.qngcq.cn
http://ynDpbtgQ.qngcq.cn
http://7cR9qrGv.qngcq.cn
http://qRANShg1.qngcq.cn
http://ZhjZJIbH.qngcq.cn
http://UunnYHQZ.qngcq.cn
http://wzks8RZi.qngcq.cn
http://Aat434rS.qngcq.cn
http://L2T86RHD.qngcq.cn
http://XXouSLN2.qngcq.cn
http://7LzoGDGt.qngcq.cn
http://R6VUHKMA.qngcq.cn
http://QshQZNZU.qngcq.cn
http://bYg2Uf6w.qngcq.cn
http://b3hYoknD.qngcq.cn
http://q5MbxWVu.qngcq.cn
http://BeLs2WQ0.qngcq.cn
http://bu8QPcLE.qngcq.cn
http://4NLOYqWU.qngcq.cn
http://r1Idw0jj.qngcq.cn
http://nkYOh0Au.qngcq.cn
http://ekMb5W9D.qngcq.cn
http://z8qapEe1.qngcq.cn
http://DpkJKFwR.qngcq.cn
http://CTDxJmza.qngcq.cn
http://zcO0rbHu.qngcq.cn
http://I7G5n9Sa.qngcq.cn
http://fnEceXZk.qngcq.cn
http://YcZTu2T0.qngcq.cn
http://aFz0eenu.qngcq.cn
http://www.dtcms.com/a/384786.html

相关文章:

  • Docker 与 VSCode 远程容器连接问题深度排查与解决指南
  • 流程图用什么工具做?免费/付费工具对比,附在线制作与下载教程
  • IT运维管理与服务优化
  • javaweb XML DOM4J
  • 用C#生成带特定字节的数据序列(地址从0x0001A000到0x0001C000,步长0x20)
  • 解析预训练:BERT到Qwen的技术演进与应用实践
  • PCB 温度可靠性验证:从行业标准到实测数据
  • 机器人要增加力矩要有那些条件和增加什么
  • MongoDB 在物联网(IoT)中的应用:海量时序数据处理方案
  • 6U VPX 板卡设计原理图:616-基于6U VPX XCVU9P+XCZU7EV的双FMC信号处理板卡
  • 【芯片设计-信号完整性 SI 学习 1.2.2 -- 时序裕量(Margin)】
  • Elasticsearch核心概念与Java实战:从入门到精通
  • Flink 内部状态管理:PriorityQueueSet解析
  • ChatBot、Copilot、Agent啥区别
  • LeetCode 热题560.和为k的子数组 (前缀和)
  • 掌握多边形细分建模核心技术:从基础操作到实战技巧详解
  • [特殊字符] Python在CentOS系统执行深度指南
  • 机器人控制器开发(定位——cartographer ros2 使用1)
  • 7 制作自己的遥感机器学习数据集
  • FPGA 40 DAC线缆和光模块带光纤实现40G UDP差异
  • 强化学习【value iterration】【python]
  • 代码随想录算法训练营第四十天|01背包 二维 01背包 一维 416.分割等和子集
  • 力扣:1547. 切棍子的最小成本
  • LeetCode 2962.统计最大元素出现至少K次的子数组
  • ESP8266无法连接Jio路由器分析
  • 傅里叶变换与现代深度学习
  • 【LeetCode】2785. 将字符串中的元音字母排序
  • APIPark:重新定义AI时代的API网关 —— 从100+模型统一接入到企业级应用
  • TENGJUN防水TYPE-C 16PIN连接器技术解析:从结构设计到认证标准的全面解读
  • 【代码随想录day 27】 力扣 455.分发饼干