以 AG32VF407VGT6 开发板为例,完成上电、例程配置、烧录,以及 LED 和串口 log 验证。
本篇介绍两件事:在 407 开发板上运行 LED 闪烁和串口打印;不同型号的开发板如何修改配置。
先以官方 AG32VF407VGT6(100pin,1M)开发板为例,说明拿到板子后怎么上手。其他开发板的操作过程相同,只是配置不同。
一、AG32VF407VGT6 开发板
开发板如图:

使用前请确认已经安装好开发环境。安装过程见《AG32开发环境搭建.pdf》。
1. 上电
给开发板 5V 供电,打开开关,电源旁边的小红灯会亮起。
2. 打开 example 例程
例程在 SDK 路径下。注意路径里有两层 example:
D:xxxxxAgRV_pioplatformsAgRVexamplesexample

这块开发板使用 407 芯片,先把 platformio.ini 里的 board 从 agrv2k_103 改成 agrv2k_407。
board = agrv2k_407
这里选 103 还是 407,看的是 Flash 大小:1M 选 407,256K 选 103 或 303。
为了先把流程跑通,把 example_board.ve 里的配置暂时删掉,只留前两项时钟配置:
SYSCLK 100 HSECLK 8
3. 烧录 VE(logic)和程序
烧录可以用官方烧录器(DAP-Link)或 J-Link。AG32 运行需要两个 bin,分别对应下面的 VE 和程序。
使用官方烧录器(DAP-Link)
连线后的样子如下:

确认 platformio.ini 中是 DAP-Link。使用官方烧录器时,电脑免驱动。
debug_tool = cmsis-dap-openocd upload_protocol = cmsis-dap-openocd
新开发板第一次使用,要先烧录 VE 配置,不要跳过这一步。

然后再烧录程序:

使用 J-Link
烧录步骤和 DAP-Link 相同,区别是配置改成 J-Link,并且第一次要安装驱动插件 zadig-2.8.exe。插件在 SDK 根目录。
debug_tool = jlink-openocd upload_protocol = jlink-openocd

如果下拉列表里找不到 J-Link,打开列表后把 J-Link 插拔几次,列表里发生变化的那一项就是要更新驱动的设备。后面的烧录过程和 DAP-Link 一样。
4. 查看 LED
example 的 main 最后会调用 TestGpio(),里面是 LED 闪灯。前面为了简化,删掉了 example_board.ve 里的 IO 配置,现在把 LED 引脚映射加回去:
GPIO4_1 PIN_34 # LED1 GPIO4_2 PIN_33 # LED2 GPIO4_3 PIN_32 # LED3 GPIO4_4 PIN_31 # LED4

再次烧录 VE 文件,程序不用重新烧录。成功后,开发板左下角的几个 LED 会闪烁。
5. 查看串口 log
在上面的基础上再改三项。platformio.ini 中确认 log 从 UART0 输出,波特率 115200。example 工程里这两项默认就是打开的:
logger_if = UART0 monitor_speed = 115200
在 example_board.ve 中加入串口 IO:
UART0_UARTRXD PIN_69 UART0_UARTTXD PIN_68

在 example_gpio.c 的 TestGpio() 里,while(1) 中增加一句 log:

再次烧录 VE(logic)和程序 bin。用 DAP-Link 时,打开串口助手,波特率 115200,就可以看到 log。用 J-Link 时,需要用串口线接到开发板串口 0 的 TX、RX 和 GND。
二、其他型号开发板
其他芯片的烧录过程与 407 相同,需要额外修改 platformio.ini 和 ve。每次改完这两处,都重新烧录程序和 VE(logic)。
| 芯片型号 | 属性 | platformio.ini | ve 配置 |
|---|---|---|---|
| VF407VGT6 | 100pin 1M flash | board = agrv2k_407 logic_device = AGRV2KL100 | 使用 SDK 下 example 工程的默认配置 |
| VF303VCT6 | 100pin 256K flash | board = agrv2k_303 logic_device = AGRV2KL100 | 使用 SDK 下 example 工程的默认配置 |
| VH407VGT6 | 100pin 1M flash | board = agrv2k_407 logic_device = AGRV2KL100H | 时钟配置相同。引脚配置对照开发板原理图自行调整 |
| VH303RCT6 原名 VH407RCT6 | 64pin 256K flash | board = agrv2k_303 logic_device = AGRV2KL64H | 时钟配置相同。引脚配置对照开发板原理图自行调整 |
| VF407RGT6 | 64pin 1M flash | board = agrv2k_407 logic_device = AGRV2KL64 | 时钟配置相同。引脚配置对照开发板原理图自行调整 |
| VF303CCT6 | 48pin 256K flash | board = agrv2k_303 logic_device = AGRV2KL48 | 时钟配置相同。引脚配置对照开发板原理图自行调整 |
| VF303KCU6 | 32pin 256K flash | board = agrv2k_303 logic_device = AGRV2KQ32 | 时钟配置相同。引脚配置对照开发板原理图自行调整 |
配置 103、303、407 时,只看 Flash 大小:1M 用 board = agrv2k_407,256K 用 board = agrv2k_303。device 按引脚数选择,例如 48 脚是 AGRV2KL48,64 脚是 AGRV2KL64。型号最后带 H,表示片内有 64M SRAM。
以上是拿到开发板后验证 LED 和串口 0 输出 log 的步骤。更多驱动见《AG32驱动的使用.pdf》。