開發(fā)板使用入門
目前官方提供的100PIN開發(fā)板如下:

如果使用的已經(jīng)是100PIN的開發(fā)板,請參照以下步驟操作。
如果使用的是其他PIN腳(如:32PIN、48PIN、64PIN)的板子,也是參照這里的步驟,最后再修改一點配置即可。
.
步驟:
1.上電
給開發(fā)板5V供電,打開開關(guān),可以看到電源旁邊的小紅燈亮起。
2. 使用example例程
打開example例程,在SDK路徑下:
D:xxxxxAgRV_pioplatformsAgRVexamplesexample?(注意這里的兩重example)
由于開發(fā)板使用的是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在跟開發(fā)板的連線上,都是jtag的swd兩線(clk和tms)模式。
配置上,如果使用Dap-link(AGM專用),需要在platformio.ini中的配置該行:
protocol = cmsis-dap-openocd
如果使用Jlink,需要在platformio.ini中的配置以下兩行:
protocol = jlink-openocd
如果使用dap-link,該燒錄器是免驅(qū)動的,不用安裝任何驅(qū)動。
如果使用Jlink,需要在原有Jlink基礎(chǔ)上安裝插件zadig。方法如下:
安裝插件:第一次使用jlink,需要先安裝插件【zadig-2.8.exe】,安裝參考下圖:
(該插件在sdk路徑的根目錄下)
注:如果第一步從下拉列表中找不到【J-Link】項,可以把下拉列表打開,插拔Jlink 幾次,找列表中的變化項。列表中的那個變化項,就是要更新驅(qū)動的項。
燒錄:
新開發(fā)板第一次使用,要先燒錄VE配置。(不燒錄VE而先燒錄程序bin,會報錯)
燒錄VE:(這里的“燒錄VE”,更確切的說,是燒錄自動生成的cpld.bin)

再燒錄程序:(即,燒錄code.bin)

注意:這里的下載,都是在release欄下邊。
仿真:
點擊仿真按鈕,可以進(jìn)入仿真調(diào)試。可單步運行到main函數(shù)的結(jié)尾。

單步狀態(tài)下如圖:

4. 查看led燈
在example樣例程序的main函數(shù)中,最后是調(diào)用函數(shù)TestGpio()。
進(jìn)入TestGpio()函數(shù),里邊是對LED燈的閃燈操作。
如果使用默認(rèn)example程序,按前邊的操作一路走下來,此時是可以看到左下角兩個led 燈一起閃爍的。
5.查看log輸出:
在以上的基礎(chǔ)上,在example_gpio.c中的TestGpio()函數(shù)中,while(1)里增加一句log,如下:

注意:該文件修改后,也必須手動保存。如果是第一次操作,保存時VSCode右下角會彈出“是否覆蓋”對話框,要選“是”。
最后,再編譯并燒錄程序 code.bin。
然后,用串口線,接到開發(fā)板的串口0(參開發(fā)板標(biāo)識圖)上,在PC端的串口工具(波特率115200)上可以看到log的輸出信息,如下圖所示:

以上,展示了拿到開發(fā)板后驗證 LED 燈閃爍 和 串口log輸出的功能。
6. 如果是其他PIN腳板子
如果使用的其他PIN腳的板子,VScode中的修改項是相近的:1.platformio.ini里的型號配置;2.example_board.ve里的引腳配置??炊环N描述,其他的都相仿。
接下來分別描述。
.
需要驗證(AG32VF103,32pin)的板子:
a. 需要修改platformio.ini里的:board?和?board_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上能看到有l(wèi)og輸出。
.
需要驗證(AG32VF103,48pin)的板子:
a. 需要修改platformio.ini里的:board?和?board_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上能看到有l(wèi)og輸出。
.
需要驗證(AG32VF407,64pin)的板子:
a. 需要修改platformio.ini里的:board?和?board_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上能看到有l(wèi)og輸出。
.
7. 關(guān)于型號 103/303/407的說明
這里命名的103/303/407,只是對標(biāo)ST系列的產(chǎn)品名而已。
事實上,所有AG32系列產(chǎn)品,除了flash大小和引腳的差異外,其他都是相同的。
也就是說,103完全具有和407相同的性能,相同的外設(shè)資源。(因為外設(shè)引腳大多是可以重映射的,只要引腳夠用即可)
那么,platformio.ini里配置103/303/407型號時,只需要關(guān)注flash大小即可:
如果flash大小是1M,則配置board = agrv2k_407;如果flash大小是256K,則配置board = agrv2k_103
除了型號配置外,還有引腳配置項。引腳配置項根據(jù)實際配置即可。如,48腳配置:board_logic.device = AGRV2KL48,64腳配置:board_logic.device = AGRV2KL64.如果該項為空,則默認(rèn)為100引腳。