使用Clion開發STM32
- 環境配置
- ST-Link無法下載
- OpenOCD
- ST-Link調試
- Dap-Link調試
- Debug配置
- 查看寄存器值
之前寫了一篇文章關于如何用VSCode配合EIDE插件開發STM32
最近研究了如何使用Clion開發STM32
環境配置
使用Clion開發STM32需要用到4個工具:Clion、STM32CubeMX、STM32CubeCLT、OpenOCD
以下是下載鏈接
Clion下載
STM32CubeMX
STM32CubeCLT
OpenOCD
下面是詳細的教程,一般來說跟著下面的視頻教程來做都能成功,我這里額外補充使用OpenOCD進行燒錄和調試,支持 ST-Link 和 Dap-Link
詳細教程
ST-Link無法下載
下面是我遇到的問題
在燒錄時報了下面的錯誤,原因可能是沒有識別到目標芯片,連接線松了,還有一個原因是ST-Link的版本太低了,需要升級,下面是解決辦法
使用STM32CubeIDE自帶的ST-Link升級工具對ST-Link進行升級
OpenOCD
上面的視頻中使用的是ST-Link進行燒錄調試,但是我平時使用更多的是Dap,所以我需要額外下載OpenOCD
下載完成后解壓到C盤的Program Files中
將文件的 bin 路徑添加到環境變量中
然后復制可執行文件的路徑
打開Clion-文件-設置
構建、執行、部署-嵌入式開發
將路徑粘貼到OpenOCD位置,點擊測試,出現下圖綠色文字說明沒有問題
找到運行/調試配置,編輯配置
添加 OpenOCD 下載并運行
ST-Link調試
使用ST-Link調試的話跟視頻中的一樣,調試服務器選擇ST-Link就可以了
Dap-Link調試
使用Dap-Link進行調試需要額外添加一個配置文件
在工程目錄空白處 右鍵-新建-文件
命名為 daplink.cfg
然后將下面的內容粘貼進去,保存
# choose st-link/j-link/dap-link etc.
adapter driver cmsis-dap
transport select swd# 0x10000 = 64K Flash Size
set FLASH_SIZE 0x20000source [find target/stm32f4x.cfg]# download speed = 10MHz
adapter speed 10000
接著對OpenOCD調試配置進行編輯
將原來的面板配置文件改為剛剛創建的配置文件
確定
然后將調試服務器改為 原生,這時候點擊運行
出現以下信息說明燒錄成功
配置過一次后,以后創建工程就方便很多了,下面是具體步驟
打開CubeMX
配置好
復制項目路徑
將daplink的配置文件復制到新工程目錄下
修改配置
最后選擇對應的調試器即可
最后編寫完代碼運行即可
Debug配置
完成以上步驟可以進行基本的代碼編寫、燒錄,如果要調試的話,還要進行下面的步驟
查看OpenOCD的GDB端口號,我的是3333
target remote 輸入 localhost:3333
GDB服務器選擇OpenOCD的路徑
GDB服務器實參 輸入 -f interface/cmsis-dap.cfg -f target/stm32f4x.cfg
如果使用的是ST-Link,則輸入-f interface/stlink-v2.cfg -f target/stm32f4x.cfg
最后點確定
點擊這個小烏龜進行Debug
下面是效果演示
查看寄存器值
由于Clion不是專門為STM32開發的軟件,所以要想查看寄存器的值,還需要下載額外的東西
到STM32官網,搜索STM32F4 SVD,選擇STM32F4 System View Description
下載
同樣的,將下載好的文件解壓放到C盤的Program File中
回到Clion,點擊外設,加載.svd文件,需要在調試狀態中才能進行加載
選擇剛剛下載好的svd文件中的對應芯片信號的.svd文件,路徑如下所示,然后點擊確定
這時候所有的外設都可以選擇
例如我這里選擇 GPIOE
這時候就可以查看該寄存器里面每一個值了