1.AB32VG1是一颗基于RISC-V的MCU,性价比非常高,不管是开发板还是芯片,都比较便宜,具体参数如下:

2.利用RT-Thread Studio(https://www.rt-thread.org/studio.html)进行开发是一个很好的选择(目前已知是唯一的开发方式)。截止到2022年12月3日,RT-Thread Studio版本为 2.2.6(构建ID: 202211231640)。此外,需要安装Bluetrum开发板支持以及RISC-V-GCC编译器,如图:

3. 此款开发板需要专用下载工具(链接:tools · Bluetrum/AB32VG1_DOC - 码云 - 开源中国 (gitee.com)
https://gitee.com/bluetrum/AB32VG1_DOC/tree/master/tools),所以在新建项目的时候,调试器可任选。示例项目构建后,直接通过串口(根据开发板版本不同,串口芯片有CP2102和CH340之分)下载到开发板,然后关闭串口,这样程序就可正常运行了。
4.在项目里搜索字符串“1500000”,文件drv_usart.c里有uart_obj[i].serial.config.baud_rate = 1500000;一般的串口调试工具不支持这一数据,改为115200,重新构建、下载,打开串口调试助手,RESET后就可以看到经典的Hello World了。
5.板载RGB LED的引脚分别是PE1:R,PE4:G,PA1:B(2021.5 V2版本)或PE1:R,PE4:G,PA2:B(V1版本)。SWM&JIWM版本PE1:W(LED3),PE4:B(LED2)。
6.点击下载工具的“开发”可进入开发模式,通过串口进行交互。


如下代码:
int main(void)
{
uint8_t pinR = rt_pin_get("PE.1");
uint8_t pinG = rt_pin_get("PE.4");
uint8_t pinB = rt_pin_get("PA.1");
rt_pin_mode(pinR, PIN_MODE_OUTPUT);
rt_pin_mode(pinG, PIN_MODE_OUTPUT);
rt_pin_mode(pinB, PIN_MODE_OUTPUT);
rt_kprintf("Hello World\n");
while (1)
{
rt_pin_write(pinR, PIN_LOW);
rt_thread_mdelay(500);
rt_pin_write(pinR, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(pinG, PIN_LOW);
rt_thread_mdelay(500);
rt_pin_write(pinG, PIN_HIGH);
rt_thread_mdelay(500);
rt_pin_write(pinB, PIN_LOW);
rt_thread_mdelay(500);
rt_pin_write(pinB, PIN_HIGH);
rt_thread_mdelay(500);
}
}
7.开发链工具、BSP、数据手册、Demo等,主要集中在以下:Bluetrum: 中科蓝讯,全名深圳市中科蓝讯科技股份有限公司,成立于2016年,总部位于深圳,并在珠海设有分公司。 (gitee.com)
https://gitee.com/bluetrum
8.'ram1'错误,即出现以下错误信息:
/../riscv64-unknown-elf/bin/ld.exe: address 0x57aa4 of rtthread.elf section `.ram1' is not within region `ram1'
/../riscv64-unknown-elf/bin/ld.exe: address 0x57aa4 of rtthread.elf section `.ram1' is not within region `ram1'
解决办法是关闭“内核”的“使能内核调试功能”,如图:
本文介绍了使用RISC-V架构的低成本MCU AB32VG1进行开发,重点讲解了RT-Thread Studio作为开发工具的选择,以及如何配置串口、LED控制和调试过程。还提到了专用下载工具、开发流程和Bluetrum公司的资源链接。
750





