在使用该开发板前,默认已经安装好了MCU开发环境。如果SDK环境未安装,请跳转这里去搭建环境。

目前官方提供的100PIN开发板如下:

如果使用的已经是100PIN的开发板,请参照以下步骤操作。

如果使用的是其他PIN脚(如:32PIN、48PIN、64PIN)的板子,也是参照这里的步骤,最后再修改一点配置即可。

.

步骤:

1.上电

给开发板5V供电,打开开关,可以看到电源旁边的小红灯亮起。

2. 使用example例程

打开example例程,在SDK路径下:

D:\xxxxx\AgRV_pio\platforms\AgRV\examples\example (注意这里的两重example)

由于开发板使用的是407芯片,需要先修改platformio.ini中的board类型:

board = agrv2k_103

修改为:

board = agrv2k_407

注意:该文件修改后,必须手动保存。如果是第一次操作,保存时VSCode右下角会弹出“是否覆盖”对话框,要选“是”。

为了验证简单化,可以先把example_board.ve中的其他配置暂时删除,只留下sysclk、led和uart0(用于log输出)的配置:

SYSCLK 100

HSECLK 8

GPIO4_1 PIN_32 # LED1

GPIO4_2 PIN_31 # LED2

如下图:

注意:该文件修改后,也必须手动保存。如果是第一次操作,保存时VSCode右下角会弹出“是否覆盖”对话框,要选“是”。

3. 烧录VE文件和代码bin

烧录程序需要使用dap-link(AGM专用)或通用的jlink;(串口烧录这里不做讨论)

Dap-link和Jlink在跟开发板的连线上,都是jtag的swd两线(clk和tms)模式。

配置上,如果使用Dap-link(AGM专用),需要在platformio.ini中的配置该行:

protocol = cmsis-dap-openocd

如果使用Jlink,需要在platformio.ini中的配置以下两行:

protocol = jlink-openocd

如果使用dap-link,该烧录器是免驱动的,不用安装任何驱动。

如果使用Jlink,需要在原有Jlink基础上安装插件zadig。方法如下:

安装插件:第一次使用jlink,需要先安装插件【zadig-2.8.exe】,安装参考下图:

(该插件在sdk路径的根目录下)

注:如果第一步从下拉列表中找不到【J-Link】项,可以把下拉列表打开,插拔Jlink 几次,找列表中的变化项。列表中的那个变化项,就是要更新驱动的项。

烧录:

新开发板第一次使用,要先烧录VE配置。(不烧录VE而先烧录程序bin,会报错)

烧录VE:(这里的“烧录VE”,更确切的说,是烧录自动生成的cpld.bin)

再烧录程序:(即,烧录code.bin)

注意:这里的下载,都是在release栏下边。

仿真:

点击仿真按钮,可以进入仿真调试。可单步运行到main函数的结尾。

单步状态下如图:

4. 查看led灯

在example样例程序的main函数中,最后是调用函数TestGpio()。

进入TestGpio()函数,里边是对LED灯的闪灯操作。

如果使用默认example程序,按前边的操作一路走下来,此时是可以看到左下角两个led 灯一起闪烁的。

5.查看log输出:

在以上的基础上,在example_gpio.c中的TestGpio()函数中,while(1)里增加一句log,如下:

注意:该文件修改后,也必须手动保存。如果是第一次操作,保存时VSCode右下角会弹出“是否覆盖”对话框,要选“是”。

最后,再编译并烧录程序 code.bin。
然后,用串口线,接到开发板的串口0(参开发板标识图)上,在PC端的串口工具(波特率115200)上可以看到log的输出信息,如下图所示:

以上,展示了拿到开发板后验证 LED 灯闪烁 和 串口log输出的功能。

6. 如果是其他PIN脚板子

如果使用的其他PIN脚的板子,VScode中的修改项是相近的:1.platformio.ini里的型号配置;2.example_board.ve里的引脚配置。看懂一种描述,其他的都相仿。

接下来分别描述。

.

需要验证(AG32VF103,32pin)的板子:

a. 需要修改platformio.ini里的:boardboard_logic.device

board = agrv2k_103

board_logic.device = AGRV2KQ32

b. 需要修改example_board.ve里的串口0和led引脚:

UART0_UARTRXD PIN_9

UART0_UARTTXD PIN_8

GPIO4_1 PIN_14 # LED1 ----请找到实际led的引脚

GPIO4_2 PIN_13 # LED2 ----请找到实际led的引脚

以上修改后,注意对修改过的文件的保存

然后,烧录VE,烧录程序,就可以看到2个LED闪烁,串口线RX接PIN_8在PC上能看到有log输出。

.

需要验证(AG32VF103,48pin)的板子:

a. 需要修改platformio.ini里的:boardboard_logic.device

board = agrv2k_103

board_logic.device = AGRV2KL48

b. 需要修改example_board.ve里的串口0和led引脚:

UART0_UARTRXD PIN_31

UART0_UARTTXD PIN_30

GPIO4_1 PIN_2 # LED1 ----请找到实际led的引脚

以上修改后,注意对修改过的文件的保存

48PIN有点特殊的改动:

在example_board.asf文件中,有两行(这两行是在100PIN中对23脚使用的样例),这里加#注掉即可。

以上修改后,注意对修改文件的保存

然后,烧录VE,烧录程序,就可以看到1个LED闪烁,串口线RX接PIN_30在PC上能看到有log输出。

.

需要验证(AG32VF407,64pin)的板子:

a. 需要修改platformio.ini里的:boardboard_logic.device

board = agrv2k_407

board_logic.device = AGRV2KL64

b. 需要修改example_board.ve里的串口0和led引脚:

UART0_UARTRXD PIN_43

UART0_UARTTXD PIN_42

GPIO4_1 PIN_10 # LED1 ----请找到实际led的引脚

GPIO4_2 PIN_9 # LED2 ----请找到实际led的引脚

以上修改后,注意对修改过的文件的保存

然后,烧录VE,烧录程序,就可以看到2个LED闪烁,串口线RX接PIN_42在PC上能看到有log输出。

.

7. 关于型号 103/303/407的说明

这里命名的103/303/407,只是对标ST系列的产品名而已。

事实上,所有AG32系列产品,除了flash大小和引脚的差异外,其他都是相同的。

也就是说,103完全具有和407相同的性能,相同的外设资源。(因为外设引脚大多是可以重映射的,只要引脚够用即可)

那么,platformio.ini里配置103/303/407型号时,只需要关注flash大小即可:
如果flash大小是1M,则配置board = agrv2k_407;如果flash大小是256K,则配置board = agrv2k_103

除了型号配置外,还有引脚配置项。引脚配置项根据实际配置即可。如,48脚配置:board_logic.device = AGRV2KL48,64脚配置:board_logic.device = AGRV2KL64.如果该项为空,则默认为100引脚。

.