1. 407 开发板上怎么运行:led 灯闪烁、串口打印;
2. 不同型号的开发板,怎么修改配置;
文档过程:
以官方 AG32VF407VGT6(100pin ,1M)开发板为例,先介绍拿到开发板后怎么上手;然后给出其他开发板怎么调整配置(其他开发板操作过程一样,仅配置不同);
一、AG32VF407VGT6 开发板使用:
开发板如图:

在使用开发板前,请确认已经安装好开发环境。
安装环境过程,请参考文档《AG32 开发环境搭建.pdf》
一、上电:
给开发板 5V 供电,打开开关,可以看到电源旁边的小红灯亮起。
二、使用 example 例程:
打开 example 例程,在 SDK 路径下:
D:\xxxxx\AgRV_pio\platforms\AgRV\examples\example (注意这里的两重 example)

由于开发板使用的是 407 芯片,需要先修改 platformio.ini 中的 board 类型:
board = agrv2k_103
修改为:
board = agrv2k_407
(注意:这里选型选择103 还是407 ,是看flash 的大小。1M 的flash 选407 ,256K 的选103 或303)
为了验证简单,先把 example_board.ve 中的配置暂时删除,只留下前两项(时钟配置):
SYSCLK 100
HSECLK 8
三、烧录 VE(logic)和代码 bin:
烧录程序可选 jlink 和官方烧录器两种;
如果使用官方烧录器(daplink):
连线:
连线后的样子如下图:

配置:
确认 platformio.ini 中的以下两行(配置为 daplink):
debug_tool = cmsis-dap-openocd
upload_protocol = cmsis-dap-openocd
使用官方烧录器,PC 是免驱动的。
烧录:
新开发板第一次使用,要先烧录 VE 配置。(不要跳过这步)烧录 VE(logic):

再烧录程序:

注:AG32 芯片运行时需要的两个bin ,就分别对应以上的两个步骤。
如果使用 jlink:
如果使用 jlink 烧录器,烧录跟上边是相同的。
区别点:
1. 配置更改为 jlink 烧录;
2. 安装 jlink 烧录器的驱动插件;
描述如下:
1. 配置:修改 platformio.ini 中的以下两行(配置为 jlink):
debug_tool = jlink-openocd
upload_protocol = jlink-openocd
2. 安装插件:
第一次使用 jlink ,需要先安装插件【 zadig-2.8.exe】,安装参考下图: (该插件在sdk 路径的根目录下)

注:如果第一步从下拉列表中找不到【J-Link】项,可以把下拉列表打开,插拔Jlink几次,找列表中的变化项。列表中的那个变化项,就是要更新驱动的项。
后续的烧录过程和 daplink 完全一样,不再赘述。
四、查看 led 灯:
在 example 样例程序的 main 函数中,最后是调用函数 TestGpio()。
进入 TestGpio()函数,里边是对 LED 灯的闪灯操作。
由于我们在第二步时,删除了 example_board.ve 里的全部 IO 配置。现在把 led 的 pin 脚映射恢复回来。copy 下边的设置到 ve 文件:
GPIO4 1 PIN 34 #LED1
GPIO4 2 PIN 33# LED2
GPIO4 3 PIN 32 #LED3
GPIO4 4 PIN 31# LED4
copy 后效果如下图:

此时,再次烧录 ve 文件。(代码不用重新烧录)
烧录成功后,可以看到开发板左下角的几个 led 闪烁起来。
五、查看 log 输出:
在以上的基础上,继续修改以下三项:
1. Platformio.ini 中:
确认 logger_if 配置是打开的:
logger_if = UART0
monitor_speed = 115200
以上两项分别设置:log 输出通过 uart0 输出、输出的波特率是 115200。这两项在example 工程中默认就是打开的,确认下即可。
2. Example_board.ve 中:
Copy 以下的串口 IO 配置到 ve 中去:
UART0 UARTRXD PIN 69
UART0 UARTTXD PIN 68
修改后图示如下:

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

最后,再次烧录 VE(logic),并烧录程序 bin。
查看:
如果是用 daplink(官方烧录器),在电脑端打开串口助手(波特率 115200),就可以看到 log 的输出信息了。
如果使用jlink ,需要用串口转接线接到开发板的串口0 引脚上(tx ,rx 和gnd)。
二、其他型号的开发板需要更改的配置:
其他芯片型号的开发板,烧录方法和过程跟上述 407 一样,但需要额外修改 platformio和 ve 的配置项。
配置修改如下:
芯片型号属性Platformio.ini 配置ve 配置
VF407VGT6100pin 1M flashboard = agrv2k_407
logic_device = AGRV2KL100使用 SDK 下 exmple工程里默认配置即可
VF303VCT6100pin
256K flashboard = agrv2k_303
logic_device = AGRV2KL100
VH407VGT6100pin 1M flashboard = agrv2k_407
logic_device = AGRV2KL100H
时钟配置相同
引脚配置,请对比开发板的原理图,自行调整
VH303RCT6
原名 VH407RCT664pin
256K flashboard = agrv2k_303
logic_device = AGRV2KL64H
VF407RGT664pin
1M flashboard = agrv2k_407
logic_device = AGRV2KL64
VF303CCT648pin
256K flashboard = agrv2k_303
logic_device = AGRV2KL48
VF303KCU632pin
256K flashboard = agrv2k_303
logic_device = AGRV2KQ32
总结:
1. 这里配置 103/303/407 型号时,只需要关注 flash 大小即可:
如果 flash 是 1M ,则配置 board = agrv2k_407;如果是 256K 则配置 board = agrv2k_303 2. 配置 device 类型则根据引脚数。如:
48 脚配置:board_logic.device = AGRV2KL48,
64 脚配置:board_logic.device = AGRV2KL64.
最后带 H ,则表示该芯片内置了 64M sram。
注意:每次调整完 platformio.ini 和 ve 里的配置,最好都重新烧录代码和 ve(logic)。
以上,只是展示了拿到开发板后验证 LED 灯和 log 通过串口 0 输出的样例。更多的驱动使用,请参考文档《AG32 驱动的使用.pdf》