GD32F103學(xué)習(xí)筆記(3)——新建工程

一屠橄、新建本地工程文件夾

為了工程目錄更加清晰栈妆,我們在本地電腦上新建一個“工程模板”文件夾扛吞,在它之下再新建 6 個文件夾,具體如下:

名稱 作用
Doc 用來存放程序說明的文件酷鸦,由寫程序的人添加
Libraries 存放的是庫文件
Listing 存放編譯器編譯時候產(chǎn)生的 C/匯編/鏈接的列表清單
Output 存放編譯產(chǎn)生的調(diào)試信息饰躲、hex 文件、預(yù)覽信息臼隔、封裝庫等
Project 用來存放工程
User 用戶編寫的驅(qū)動文件

在本地新建好文件夾后嘹裂,把準(zhǔn)備好的庫文件添加到相應(yīng)的文件夾下:

名稱 作用
Doc 工程說明.txt
Libraries CMSIS:里面放著跟 CM3 內(nèi)核有關(guān)的庫文件
GD32F10x_standard_peripheral:GD32 標(biāo)準(zhǔn)外設(shè)庫文件
Listing 暫時為空
Output 暫時為空
Project 暫時為空
User gd32f10x_libopt.h:用來配置庫的頭文件
gd32f10x_it.h
gd32f10x_it.c:中斷相關(guān)的函數(shù)都在這個文件編寫,暫時為空
main.c:main 函數(shù)文件

二躬翁、新建工程

打開 KEIL5焦蘑,新建一個工程,工程名根據(jù)喜好命名盒发,我這里取 Template(中文是模版
的意思)例嘱,保存在 Project\RVMDK(uv5)文件夾下狡逢。

2.1 選擇CPU型號

根據(jù)你開發(fā)板使用的 CPU 具體的型號來選擇。如果這里沒有出現(xiàn)你想要的 CPU 型號拼卵,或者一個型號都沒有奢浑,那么肯定是你的 KEIL5 沒有添加 device 庫,查看 GD32F103學(xué)習(xí)筆記(1)——搭建環(huán)境腋腮、編譯燒寫

2.2 在線添加庫文件

等下我們手動添加庫文件雀彼,這里我們點擊關(guān)掉。

2.3 添加組文件夾

在新建的工程中添加 5 個組文件夾即寡,用來存放各種不同的文件徊哑,文件從本地建好的工程文件夾下獲取,雙擊組文件夾就會出現(xiàn)添加文件的路徑聪富,然后選擇文件即可莺丑。

名稱 存放文件
Startup startup_gd32f10x_hd.s(根據(jù)芯片F(xiàn)lash容量選擇)
CMSIS system_gd32f10x.c
Peripherals GD32F10x_standard_peripheral\Source 文件夾下的全部 C 文件,即固件庫
User 用戶編寫的文件:
main.c:main 函數(shù)文件墩蔓,暫時為空
gd32f10x_it.c:跟中斷有關(guān)的函數(shù)都放這個文件梢莽,暫時為空
Doc 工程說明.txt:程序說明文件,用于說明程序的功能和注意事項等

2.4 添加文件

  • CMSIS 中添加從官方下載的固件庫中
    GD32F10x_Firmware_Library_V2.2.2\Firmware\CMSIS\GD\GD32F10x\Source的system_gd32f10x.c文件

  • Peripherals 中添加從官方下載的固件庫中
    GD32F10x_Firmware_Library_V2.2.2\Firmware\GD32F10x_standard_peripheral\Source的全部C文件

  • Startup 中添加從官方下載的固件庫中
    GD32F10x_Firmware_Library_V2.2.2\Firmware\CMSIS\GD\GD32F10x\Source\ARM的根據(jù)芯片容量選擇對應(yīng)的啟動文件(這里我用的是GD32F103RCT6選擇startup_gd32f10x_hd.s

  • User 中添加main.c和從官方下載的固件庫中GD32F10x_Firmware_Library_V2.2.2\Template的gd32f10x_it.c奸披、gd32f10x_it.h昏名、gd32f10x_libopt.h文件

2.5 配置魔術(shù)棒選項卡

  • Target 中選中微庫“Use MicroLib”,為的是在日后編寫串口驅(qū)動的時候可以使用 printf 函數(shù)阵面。
  • 在 Output 選項卡中把輸出文件夾定位到我們工程目錄下的“Output”文件夾轻局,如果想
    在編譯的過程中生成 hex 文件,那么那 Create HEX File 選項勾上膜钓。
  • 在 Listing 選項卡中把輸出文件夾定位到我們工程目錄下的“Listing”文件夾嗽交。
  • 在 C/C++選項卡中添加處理宏及編譯器編譯的時候查找的頭文件路徑。如果頭文件路徑添加有誤颂斜,則編譯的時候會報錯找不到頭文件。

    在這個選項中添加宏拾枣,就相當(dāng)于我們在文件中使用“#define”語句定義宏一樣沃疮。在編
    譯器中添加宏的好處就是,只要用了這個模版梅肤,就不用源文件中修改代碼司蔬。

    • GD32F10X_HD 宏:為了告訴 GD32 標(biāo)準(zhǔn)庫,我們使用的芯片類型是 GD32
      型號是大容量的姨蝴,使 GD32 標(biāo)準(zhǔn)庫根據(jù)我們選定的芯片型號來配置俊啼。
    • USE_STDPERIPH_DRIVER 宏:為了讓 gd32f10x.h 包含 gd32f10x_libopt.h 這個頭文件。

2.6 仿真器配置

2.6.1 J-Link燒錄

單擊 Options for Targe左医,再選擇 Debug 邊上是 Use 框是
J-LINK 說明選擇正確授帕,再單擊 Settings同木,會跳出有 IDCODE 顯示,說明已經(jīng)找到芯片內(nèi)核跛十,如果沒有顯示彤路,排查如圖箭頭所指的 Port 是否選為 SW,還有 J-LINK 驅(qū)動是否正確芥映,一般以上排查都能解決問題洲尊,最終有 IDCODE 顯示,說明板子硬件連接奈偏,工程配置都正確坞嘀,可以進(jìn)行下一步下載。


如果用的是JLink V8惊来,很可能會遇到無法正常燒寫的問題丽涩,參考 解決方法:調(diào)試NRF52832工程時JLink提示錯誤信息read:@0x02000004

2.6.2 ST-Link燒錄

  1. 安裝 ST-Link 下載器的驅(qū)動
    百度網(wǎng)盤:https://pan.baidu.com/s/1ZoXKAqjec9Bc6oN6_MNJyA?pwd=9181 提取碼:9181
    下載解壓后雙擊 stlink_winusb_install 進(jìn)行安裝。
  2. 選擇 ST-Link 下載
    單擊 Options for Targe唁盏,再選擇 Debug 邊上是 Use 框是
    ST-LINK 說明選擇正確内狸,再單擊 Settings,會跳出有 IDCODE 顯示厘擂,說明已經(jīng)找到芯片內(nèi)核昆淡,板子硬件連接,工程配置都正確刽严,可以進(jìn)行下載昂灵。


2.6.3 CMSIS-DAP燒錄

單擊 Options for Targe,再選擇 Debug 邊上是 Use 框是
CMSIS-DAP 說明選擇正確舞萄,再單擊 Settings眨补,會跳出有 IDCODE 顯示,說明已經(jīng)找到芯片內(nèi)核倒脓,箭頭所指的 Port 選為 SW撑螺,速度選擇 5MHz,板子硬件連接崎弃,工程配置都正確甘晤,可以進(jìn)行下一步下載。


2.7 選擇 CPU 型號

這一步的配置也不是配置一次之后完事饲做,常常會因為各種原因需要重新選擇线婚,當(dāng)你下載的時候,提示說找不到 Device 的時候盆均,請確保該配置是否正確塞弊。有時候下載程序之后,不會自動運行,要手動復(fù)位的時候游沿,也回來看看這里的“Reset and Run”配置是否失效饰抒。GD32F103RCT6 用的 FLASH 大小是 512K,所以這里選擇 512K 的容量奏候,如果使用的是其他型號的循集,要根據(jù)實際情況選擇。

2.8 修改main.c

#include "gd32f10x.h"

int main(void)
{
    while(1)
    {
        
    }
}

點擊編譯蔗草,顯示如下:



一個新的工程模版新建完畢咒彤。

三、工程模板

百度網(wǎng)盤:https://pan.baidu.com/s/1eDirHaScNw6CcRRBf5y7Hg?pwd=fag0
提取碼:fag0


? 由 Leung 寫于 2022 年 4 月 11 日

? 參考:GD32F103基礎(chǔ)教程—工程模板(二)
    ②搭建GD32工程模板

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末咒精,一起剝皮案震驚了整個濱河市镶柱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌模叙,老刑警劉巖歇拆,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異范咨,居然都是意外死亡故觅,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進(jìn)店門渠啊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來输吏,“玉大人,你說我怎么就攤上這事替蛉」峤Γ” “怎么了?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵躲查,是天一觀的道長它浅。 經(jīng)常有香客問我,道長镣煮,這世上最難降的妖魔是什么姐霍? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮典唇,結(jié)果婚禮上邮弹,老公的妹妹穿的比我還像新娘。我一直安慰自己蚓聘,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布盟劫。 她就那樣靜靜地躺著夜牡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上塘装,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天急迂,我揣著相機(jī)與錄音,去河邊找鬼蹦肴。 笑死僚碎,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的阴幌。 我是一名探鬼主播勺阐,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼矛双!你這毒婦竟也來了渊抽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤议忽,失蹤者是張志新(化名)和其女友劉穎懒闷,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體栈幸,經(jīng)...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡愤估,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了速址。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片玩焰。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖壳繁,靈堂內(nèi)的尸體忽然破棺而出震捣,到底是詐尸還是另有隱情,我是刑警寧澤闹炉,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布蒿赢,位于F島的核電站,受9級特大地震影響渣触,放射性物質(zhì)發(fā)生泄漏羡棵。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一嗅钻、第九天 我趴在偏房一處隱蔽的房頂上張望皂冰。 院中可真熱鬧,春花似錦养篓、人聲如沸秃流。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽舶胀。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間嚣伐,已是汗流浹背糖赔。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留轩端,地道東北人放典。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像基茵,于是被迫代替她去往敵國和親奋构。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內(nèi)容