gd32開發板教程(GD32F103單片機學習筆記之GD32103E-EVAL開發板入門)
2023-10-12 14:29:24
之前做學習或者做項目一直用的STM32系列的單片機,最近看著STM32單片的價格暴漲,對於我這個「窮苦」老百姓來說,買不起啊、買不起啊、買不起啊。既然給自己「定性」了,那就要「另闢蹊徑」啊,總不能老是在同一棵樹上掛著啊。另外,看到各種晶片被「漂亮國」制裁,我一腔愛國之心立馬熊熊燃燒了起來,當即決定,老外的晶片不用了,找找咱「自己家」的晶片。又考慮到儘量降低學習開發成本,找來找去找到了兆易創新這家。據說,STM32的代碼簡單改一下就能在對應的晶片上運行起來。這麼好的事,不得玩玩啊。
說幹就幹,學習單片機第一步,那必須得買塊開發板啊。又一通找,找到了兆易創新自家的GD32103E-EVAL全功能開發板(還發現了一款GD32VF103的開發板,使用的是RISC-V內核,對這個也很感興趣,也一塊買了,後面再研究),上面的單片機型號是GD32F103ZET6,考慮到這款單片機的外設資源相對來說比較豐富,所以最終選擇了它。這傢伙是這樣的:
GD32103E-EVAL開發板
有了開發板,那就要進行相應的學習了,後續相關的文章將記錄我的學習過程。那麼第一步先來驗證一下開發板吧,這時候才發現這貨除了在官網上有個對應的官方固件庫和例程,沒有其他資料(也可能是我沒發現,也懶得找了,就從這下手吧)。無妨,那就先下載這個官方例程來整整。從這裡下載:
http://gd32mcu.com/download/down/document_id/182/path_type/1
下載後解壓,裡面是這個樣子的:
GD32F10x固件庫及例程
簡單來說說裡面的每個目錄都是用來幹啥的:
目錄
功能
GD32F10x_AddOn
GD32F10x系列單片機相關的插件,包括IAR和Keil的晶片支持包
GD32F10x_Firmware_Library
GD32F10x系列單片機固件庫,類似STM32固件庫V3.5.0
GD32103C_EVAL_Demo_Suites
GD32103C-EVAL開發板對應的開發文檔、例程等
GD32103E_EVAL_Demo_Suites
GD32103E-EVAL開發板對應的開發文檔、例程等
GD32107C_EVAL_Demo_Suites
GD32107C-EVAL開發板對應的開發文檔、例程等
搞明白了固件庫的目錄結構,那就找個例程測試一下板子吧。由於用的是GD32103E-EVAL開發板,因此打開GD32103E_EVAL_Demo_Suites目錄,是這麼個樣式的:
GD32103E_EVAL_Demo_Suites
Docs目錄中包含開發板的原理圖和用戶指南;Projects目錄中包含各種外設例程,有小燈閃爍啊、按鍵啊、串口輸出啊等等,我將會在這個裡面拿出一個最簡單的小燈閃爍的例程來對開發板做一個簡單的驗證;Utilities目錄中包含開發板自帶的LCD的驅動程序及第三方的文件系統相關的代碼,如果後續做這方面的開也可以將這部分進行移植。
這樣固件庫的大體目錄結構就知道得差不多了,下一步找到對應開發板例程中的小燈閃爍的例程對開發板進行個簡單的驗證。
當然要先安裝相應的IDE,我這裡安裝的是Keil v5,具體的安裝及「你懂的」特殊處理步驟這裡就不多說了,網絡上資源很多。裝好Keil之後,為了讓Keil可以支持GD32F103系列的單片機,首先要先安裝對應的晶片支持包。
打開Keil後如下圖所示:
Keil界面
點擊紅框中的Pack Installer後彈出相應的窗口:
Pack Installer
因為Keil的晶片支持包下載的伺服器在國外,所以打開後網絡更新速度很慢,這樣一直在更新的話,無法顯示手動安裝晶片支持包的進度,因此首先把左上角菜單欄Packs中的啟動更新的選項去掉:
去掉啟動更新的選項
然後關閉將Pack Installer關閉後重新打開,這個時候會發現下面的更新提示不再提示更新了:
不再提示更新
如果安裝其他晶片的支持包,推薦去Keil的網站先下載下來後再手動安裝,下載地址為:
https://www.keil.com/dd2/pack/
繼續,點擊左上角菜單欄File中的導入,在打開的對話框中找到Keil v5對應的晶片支持包打開即可:
導入
選擇文件
等待安裝完成後將Pack Installer窗口關閉:
安裝完成
此時提示軟體包有改動,點擊是即可:
提示軟體包變動
隨後點擊Keil菜單Project→Open Project...,在打開的對話框中找到要用的小燈閃爍的例程工程文件,點擊打開:
打開工程
選擇工程文件
打開工程後有如下提示,是因為固件庫中的工程是Keil v4版本的,用Keil v5軟體打開會有這樣的提示:
提示未找到晶片型號
提示設備不支持
因此需要先將該工程轉換為Keil v5工程,Project→Manage→Migrate to Version 5 Format...:
轉換工程
轉換完成後有如下提示,點擊確定即可:
轉換完成
這時會發現左邊的工程顯示框中多出了一個CMSIS,這是Cortex-M內核軟體接口標準,是Keil v5軟體提供給工程使用的,也可以自行添加,要想讓工程使用Keil提供的CMSIS庫,還需對工程進行設置:
CMSIS
按照下圖所示進行操作,將..\..\..\..\GD32F10x_Firmware_Library\CMSIS這一行刪掉,如果不刪掉這行,工程會默認使用固件庫中的core_cm3.h,編譯時會出現很多錯誤,導致編譯無法通過:
刪掉工程CMSIS目錄
設置完成後即可點擊重新編譯對工程進行編譯了:
編譯工程
下面的編譯輸出中有相應信息輸出,如果編譯完成顯示錯誤0警告0,則代表編譯沒有錯誤:
編譯結果
編譯完成後就要燒錄到開發板中查看現象了,首先將開發板自帶的USB線的Micro口插在開發板的GD-Link USB口上,另一端插在電腦USB口上,開發板自帶的GD-Link使用的是CMSIS-DAP調試器,在電腦端不需要安裝驅動,但需要在燒錄之前對工程進行相應設置:
修改調試器
選中Reset and Run
最後點擊左上角的燒錄按鈕即可進行程序的燒錄,同時下面的提示框中輸出提示信息:
燒錄程序
燒錄過程提示
燒錄完成後開發板上的四個小燈會出現流水燈的效果,說明程序燒錄成功:
例程演示
最後,貼上小燈閃爍的核心代碼,首先對四個小燈進行初始化,然後配置系統滴答,實現ms級別的延時,隨後while循環中依次打開每個小燈並延時,實現最終的流水燈效果:
流水燈核心代碼
到此為止,算是對開發板做了個小小的入門了,那這次的學習就到這裡吧。
,