Skip to content

开发板使用入门

MCU入门 > 开发板使用入门

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

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

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

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


步骤

1. 上电

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

2. 使用example例程

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

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

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

ini
board = agrv2k_103

修改为:

ini
board = agrv2k_407

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

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

plaintext
SYSCLK 100
HSECLK 8
GPIO4_1 PIN_32 # LED1
GPIO4_2 PIN_31 # LED2

如下图:

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

3. 烧录VE文件和代码bin

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

Dap-linkJlink 在跟开发板的连线上,都是 jtagswd 两线(clktms)模式。

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

ini
protocol = cmsis-dap-openocd

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

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

ini
board = agrv2k_103
board_logic.device = AGRV2KQ32

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

plaintext
UART0_UARTRXD PIN_9
UART0_UARTTXD PIN_8
GPIO4_1 PIN_14 # LED1 ----请找到实际LED的引脚
GPIO4_2 PIN_13 # LED2 ----请找到实际LED的引脚

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

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


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

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

ini
board = agrv2k_103
board_logic.device = AGRV2KL48

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

plaintext
UART0_UARTRXD PIN_31
UART0_UARTTXD PIN_30
GPIO4_1 PIN_2 # LED1 ----请找到实际LED的引脚

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

48PIN有点特殊的改动:

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

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

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


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

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

ini
board = agrv2k_407
board_logic.device = AGRV2KL64

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

plaintext
UART0_UARTRXD PIN_43
UART0_UARTTXD PIN_42
GPIO4_1 PIN_10 # LED1 ----请找到实际LED的引脚
GPIO4_2 PIN_9 # LED2 ----请找到实际LED的引脚

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

然后,烧录 VE,烧录程序,就可以看到2个LED闪烁,串口线 RXPIN_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引脚。