AB32VG1开发板实战(1)环境搭建与首个LED工程

发布时间:2026/7/16 7:55:25

AB32VG1开发板实战(1)环境搭建与首个LED工程 1. AB32VG1开发板初体验去年双十一入手了这块AB32VG1开发板当时冲着它RISC-V架构和RT-Thread生态支持买的。说实话这板子在抽屉里躺了三个月直到上周整理东西时才想起来。拆开包装第一印象是接口真多板载资源相当丰富USB、TF卡槽、音频接口、六路ADC/PWM引脚全引出来了最显眼的是那个蓝色蓝牙天线虽然官方文档说这货目前只是个装饰。板子尺寸比想象中小巧6x9cm的板身上密密麻麻排布着各种接口座子。我数了数光是2.54mm间距的排针就有四组还兼容Arduino Uno扩展接口。左下角三个机械按键手感清脆右上角的全彩LED模块在通电瞬间就闪了三下看来出厂程序还在跑。比较意外的是随板附赠的资料相当齐全除了常规的用户手册外还有个近200页的《开发实践指南》在线文档里面连驱动安装这种基础操作都配了截图说明。2. 开发环境搭建2.1 RT-Thread Studio安装官方推荐使用RT-Thread Studio这个IDE下载时要注意版本匹配问题。我一开始图省事直接下了最新版2.2.5结果创建工程时死活找不到AB32VG1的选项。后来在论坛里看到有人反馈才退回2.1.0版本顺利解决。安装过程有几个坑点路径绝对不能有中文或空格建议直接装C盘根目录安装完成后首次启动要登录RT-Thread账号支持GitHub第三方登录如果卡在初始化界面试试以管理员身份运行安装包大概800MB左右包含基础编译工具链。但针对RISC-V架构还需要额外配置这个我们稍后再说。有个细节很贴心安装向导最后一步默认勾选立即运行记得取消这个选项因为首次启动前我们需要先处理驱动问题。2.2 驱动安装与硬件连接开发板通过Type-C接口供电和烧录但Windows 10系统可能无法自动识别CH340芯片。官方资料包里的Driver文件夹有驱动安装程序如果遇到设备管理器出现黄色感叹号需要手动指定驱动路径。我实测时发现个玄学问题必须先用跳线帽连接J5和J1的VBAT与VIN板子背面有丝印标注否则USB设备根本不会被识别。连接成功后设备管理器会看到两个新增端口USB-SERIAL CH340 (COMx) - 用于程序下载Bluetrum Virtual COM Port (COMx) - 用于调试输出建议在设备管理器里把COM端口号改成较小的数值比如COM3因为有些烧录工具对高序号端口支持不好。还有个隐藏技巧按住板上的BOOT键再插USB会进入烧录模式此时LED灯会呈现呼吸灯效果。3. 工具链配置3.1 RISC-V GCC安装这是最容易被卡住的环节。在RT-Thread Studio的SDK管理器里需要单独安装两个关键组件AB32VG1资源包版本选最新即可RISC-V-GCC工具链注意要选10.1.0版本我在这里栽了跟头第一次安装时网络不稳定导致工具链下载不完整。症状是编译时报错riscv-none-embed-gcc: command not found。解决方法很简单在SDK管理器里先卸载然后重新安装记得勾选强制清理缓存选项。工具链默认安装路径是RT-ThreadStudio/repo/Extract/ToolChain_Support_Packages/RISC-V/RISC-V-GCC/10.1.0/bin如果项目属性里找不到这个路径可以手动指定。有个快速验证安装是否成功的方法在Studio的终端窗口输入riscv-none-embed-gcc -v应该能看到类似这样的输出gcc version 10.1.0 (xPack GNU RISC-V Embedded GCC x86_64)3.2 工程属性设置新建项目前强烈建议先配置全局偏好设置进入Window - Preferences - RT-Thread勾选Build Console下的Show build commands在RT-Thread SDK Manager中添加国内镜像源比如清华源这样后续编译时能看到详细命令输出出错时更容易定位问题。对于网络环境特殊的用户还可以在这里配置代理但要注意只勾选HTTP/HTTPS协议SOCKS协议可能导致SDK下载失败。4. 创建LED控制工程4.1 新建项目流程点击菜单File - New - RT-Thread Project关键配置项如下项目名称建议全英文不带空格比如AB32_LED_Demo选择基于开发板模板BSP版本选择ab32vg1-1.0.0调试器类型选Serial虽然我们用Downloader工具烧录创建完成后在项目资源管理器里会看到这样的目录结构AB32_LED_Demo/ ├── applications/ ├── drivers/ ├── libraries/ └── rt-thread/重点观察applications/main.c文件默认生成的代码已经包含LED控制逻辑int main(void) { rt_pin_mode(PIN_LED_R, PIN_MODE_OUTPUT); while (1) { rt_pin_write(PIN_LED_R, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(PIN_LED_R, PIN_LOW); rt_thread_mdelay(500); } }但这里有个坑PIN_LED_R的定义在drivers/pin_map.h里不同版本BSP可能使用不同引脚。我查了原理图确认PE1对应的是红色LED所以如果编译报错未定义PIN_LED_R可以直接替换为GET_PIN(E, 1)。4.2 硬件连接调整根据原理图LED-R通过P1接口的3/4脚控制需要用跳线帽连接P1的3-4脚断开P3接口的所有跳线防止引脚冲突确保J5和J1的VBAT-VIN保持连接有个容易忽略的细节板载LED是共阳极接法所以PIN_HIGH实际是熄灭PIN_LOW才是点亮。如果发现LED状态与代码逻辑相反不要怀疑人生这是正常现象。5. 编译与烧录5.1 解决编译报错点击工具栏的小锤子图标开始编译常见问题有找不到rtconfig.h右击项目 - Properties - C/C General - Paths and Symbols - Includes添加路径${workspace_loc:/${ProjName}/rtconfig.h}undefined reference to __riscv_cpu_reset这是工具链版本问题确保使用10.1.0版本内存不足错误修改rtconfig.h中的HEAP_SIZE为(8*1024)我遇到最棘手的问题是编译通过但生成的.dcf文件只有几KB明显不正常。后来发现是链接脚本有问题解决方法是在工程根目录新建一个linkscript.ld文件内容从官方BSP包里复制然后在项目属性 - C/C Build - Settings - Tool Settings - Linker - Configuration里指定这个文件。5.2 使用Downloader烧录官方资料包里的Downloader工具需要以管理员身份运行操作流程选择正确的COM口不是虚拟串口那个加载工程目录下rtthread.dcf文件点击开始按钮后立即按一下板子的RESET键成功烧录后会显示Download OK此时LED应该开始闪烁。如果卡在Waiting for device检查跳线帽连接是否正确是否安装了正确的CH340驱动尝试更换USB接口有些电脑前置USB口供电不足6. 调试技巧6.1 串口输出配置虽然默认工程没有开启串口调试但我们可以简单配置打开RT-Thread Settings在Hardware里启用UART0在Components - Utilities里启用ulog然后在main.c添加#define DBG_TAG MAIN #define DBG_LVL DBG_LOG #include rtdbg.h int main(void) { LOG_D(System Start!); // ...原有代码... }重新编译后用串口工具波特率115200就能看到日志输出。不过要注意AB32VG1的调试串口比较特殊需要激活Downloader的开发者模式才能使用。6.2 常见问题排查如果LED不亮建议按这个顺序检查用万用表测量PE1引脚电压是否在0-3.3V间跳变检查跳线帽是否接触不良我遇到过氧化导致接触不良的情况尝试降低时钟频率在rtconfig.h中将RT_CPU_FREQ改为120000000有个隐藏功能长按BOOT键再上电会进入工厂测试模式所有外设都会自检一遍。看到LED跑马灯效果就说明硬件没问题可以放心排查软件问题。

相关新闻