AG32 开发板使用入门

2 min read CPLD

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》

这篇文档有帮助吗?