title: stm32cubemx+clion環境搭建
date: 2021-01-23 13:32:05
tags: 環境搭建
cover: https://s3.ax1x.com/2021/01/23/s7unQx.png
為什么搭建
需要找到一個keil的替代品用來編譯STM32代碼。
環境和所需工具
軟件環境
1. Windows 10
2. stm32cubemx
3. clion-2019
4. MinGW
5. arm-none-eabi-gcc
6. openOCD
硬件環境
1. 單片機:小熊派STM32L431RCT6
2. 下載器:小熊派板載 stlinkV2_1
工具安裝
工具安裝部分正常安裝就好了,注意安裝目錄的選擇,盡量不要出現中文。
STM32CubeMX
直接去官網下在就可以,安裝之前需要安裝Java運行環境
clion
官網下載2019以后的版本
CLion 2019.1 EAP: CLion for Embedded Development, Part III
MinGW
Clion是基於CMake來管理項目的,所以首選需要配置好預設的MinGW和CMake環境。
檢查是否配置好環境
arm-none-eabi-gcc
需要編譯arm架構的程序,所以編譯工具使用這個。
檢查是否配置好環境
openOCD
OpenOCD是用於對STM32進行下載仿真的工具,是一個開源軟件包,Windows版本下從這里下載,下載好解壓到一個目錄就行。
CLion配置
【重點】
Clion是基於CMake來管理項目的,所以首選我們需要配置好預設的MinGW和CMake環境。
打開File-Settings-Build,Execution,Deployment選項卡,在Toolchains下面添加一個MinGW環境:
打開CMake選項欄查看工具鏈是否正確
至此Clion環境配置完成,可以創建STM32項目了。
CLion使用
STM32CubeMX創建工程模板
這里創建一個UART1串口打印工程。
把IED選擇位SW4STM32
Clion導入工程
直接打開文件即可。
File -> Open... ->選擇文件夾
這個目錄和CubeMX創建的目錄一樣。
第一次打開工程會彈出板卡配置文件,這里是OpenOCD相關的,里面的配置很可能沒有我自己用的芯片型號。選擇一個和自己開發板相近的型號,點擊Copy to Project & Use。這個文件就會復制到我們的工程根目錄下,稍后我們需要修改這個文件。
到這里工程就導入到clion了。
添加用戶文件
在工程文件右鍵 -> New -> Directory 。這里創建文件夾test
。軟后在test
文件夾下依次添加.c/.h
文件。注意這add to targets
把溝去掉
配置CmakeLists.txt文件
添加用戶文件目錄
編譯下載調試
(備注:這里使用了另一個工程文件)
編譯
點擊編譯按鍵,完成提示:
下載配置
選擇Edit Configurations,打開配置窗口
這邊選擇工程根目錄下的.cfg
配置文件,也可以自己創建.cfg
文件。
有關配置文件的編輯可以參考OpenOCD目錄下的配置文件。
工程根目錄:st_nucleo_l4.cfg
,對原來的文件做了改動,注意這里一定要把reset_config srst_only srst_nogate
注釋。
# Should work with all STM32L4 Nucleo Dev Boards.
# http://www.st.com/en/evaluation-tools/stm32-mcu-nucleo.html
source [find interface/stlink.cfg]
transport select hla_swd
# 0x40000 = 256K Flash Size
set FLASH_SIZE 0x40000
source [find target/stm32l4x.cfg]
# download speed = 2MHz
adapter speed 2000
# use hardware reset
#reset_config srst_only srst_nogate
芯片相關特性可以在CubeMX查看,如flash大小。
接下來回到下載配置,Edit Configurations,選擇自己創建配置文件。
點擊下載,軟件下方如果打印出** Programming Finished **
表示程序已經燒入到單片機了。
斷點調試
參考網站
Clion:https://www.jetbrains.com/clion/download/other.html
STM32CubeMX:https://www.st.com/en/development-tools/stm32cubemx.html
GNU Arm Embedded Toolchain Downloads:https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads
OpenOCD:http://gnutoolchains.com/arm-eabi/openocd/
OpenOCD用戶指南:http://openocd.org/doc/html/
增加用戶文件:https://blog.csdn.net/qq1031150349/article/details/107493969