文章目錄
- 一、實驗內容
- 二、環境配置
- 1)實驗環境
- 2)環境配置
- 三、功能實作
- 1)在stm32cubeMX中生成工程
- 2)工程配置
- 3)工程編譯匯出
- 四、結果展示
- 五、總結
- 六、參考內容
一、實驗內容
安裝Clion2021,采用一套新的嵌入式軟體開發工具包(替代Keil),完成stm32F103 點亮LED的程式,
實驗器材:
stm32f103c8t6芯片、些許杜邦線、USB TO TTL串口、led燈、pc機等;
實驗軟體:
Clion 2021.3、stm32cubeMX、燒錄軟體
具體安裝程序這里不再過多說明,請參考博客;
二、環境配置
1)實驗環境
arm-none-eabi-gcc、MinGW、OpenOCD
這些環境的具體下載方式請參考博客;這里我建議直接從他們的網盤中下載,以避免后續在官網上下載時出現很多復雜的問題;
注意:上述環境下載完成后,一定要把他們放在與Clion路徑相同的檔案夾下!!!
最后,可以在cmd(win+R)命令界面里分別輸入以下陳述句驗證是否安裝成功:
arm-none-eabi-gcc -v
gcc -v
openocd -v
驗證如下:


只要出現上述結果就代表安裝完成;
添加環境變數
- arm-none-eabi-gcc 路徑下bin檔案夾
- Openocd路徑下bin檔案夾
- MinGW路徑下bin檔案夾
將上述()添加到系統變數當中去,具體流程為:
此電腦——>屬性——>高級系統設定——>環境變數——>系統變數(Path)——>新建——>瀏覽——>確定
注意:每添加一個后都需要點擊確認,之后再重新點進去添加,否則可能會出現添加無效的情況,添加完成后如下圖所示:

2)環境配置
安裝完上述環境后,就可以在Clion中配置這些環境了;
Ⅰ、建立工程
首先,打開Clion,出現如下頁面,點擊“New Project”;

接下來,在彈出來的界面里點擊“STM32CubeMX”,再在該路徑下新建一個檔案夾存放該工程,如下圖所示;(一定是要存放在STM32CubeMX這個檔案夾的路徑下哦!!)

之后點擊“Create”即可;
Ⅱ、工程配置
在建立好的工程下,首先,進行如下選擇:
點擊“File”——>“Settings…”

①配置Toolchains
選擇“Toolchains”,這時候會自動配置為“MinGW”,我們只需要將“Debugger”里的檔案修改成:arm-none-eabi-gcc 路徑下bin檔案夾中的arm-none-eabi-gdb.exe即可;

②配置Embedded Development
同樣是在settiings下,選擇Embedded Development,將右側的 OpenOCD Location 檔案目錄和轉換到自己對應下載的位置,最后點擊 Test ,如果提示顏色為墨綠色,即代表配置成功;


配置完以上后,點擊“OK”即可;
最后,會出現以下頁面,點擊“Open with STM32CubeMX”就可以在STM32CubeMX中匯出工程啦!

三、功能實作
1)在stm32cubeMX中生成工程
進入stm32cubeMX后,系統默認為F030F4Px,因此我們需要將其改成stm32F103c8,點擊即可重新選擇;

Ⅰ、配置
①SYS

②RCC

③引腳配置
設定 PC13 引腳為 GPIO_Output 來點亮 LED 燈;

再點擊左側GPIO,將該引腳的名字改成LED;

④串口配置

⑤檔案配置
這里最好把工程名和存放路徑 設定成和Clion中工程一樣的形式,并且將打開方式設定成SW4STM32;

⑥工程匯出
點擊右上方“GENERATE CODE”就可以匯出工程了,可能會彈出一個頁面,選擇“Yes”,之后點擊close就可以了;

2)工程配置
打開Clion,會彈出如下頁面,找到st_nucleo_f103rb.cfg,并點擊“use”;
(如若沒有的話,可能是在STM32CubeMX中工程存盤的方式與之前Clion的不相同,即未被覆寫,這是只需要在剛剛的路徑下找到生成的工程,并在Clion中打開即可)

再在右上角選擇“Edit Configurations…”;

打開后如下所示,然后在Board config file處點擊“…”查看檔案(st_nucleo_f103rb.cfg)的位置,并記住它的位置;

接下來根據剛剛的路徑打開該檔案并進行修改:File——>Open… ——> st_nucleo_f103rb.cfg

將第十行的代碼前面加上#,將其變成注釋行;
#reset_config srst_only
最后,在Core——>Src下找到main.c檔案,在main函式中的 while 回圈里添加使 PC13 引腳 LED 閃爍的代碼:
while (1)
{
/* USER CODE END WHILE */
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_SET);
HAL_Delay(500);
HAL_GPIO_WritePin(GPIOC, GPIO_PIN_13, GPIO_PIN_RESET);
HAL_Delay(500);
/* USER CODE BEGIN 3 */
}

以上完成后,就可以進行編譯了;
3)工程編譯匯出
點擊右上角的綠色小錘子對工程編譯,生成了對應的HEX檔案,結果如下:


四、結果展示
Ⅰ、電路連接
具體的電路連接方式參考我之前的博客;
Ⅱ、代碼燒錄
打開燒錄軟體,將串口連接到電腦,進行如下配置后,即可燒錄成功;

燒錄成功后,將芯片上的BOOT0和BOOT1都置為0,即可看到LED閃爍,

五、總結
與之前點亮LED的實驗不同的是,這次試驗是在Clion的基礎上與STM32CubeMX相結合生成的HEX檔案;Clion作為一個功能齊全的開發軟體,相比于keil來說,也是更加方便,并且安裝配置程序也沒有特別麻煩,總之是一次不錯的學習體驗!
六、參考內容
用Clion自帶的嵌入式開發功能和stm32cubeMX開發stm32!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/385394.html
標籤:其他
上一篇:2022,工業物聯網將何去何從?
