使用Clion开发STM32(Dap调试)_clion stm32
使用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-daptransport select swd# 0x10000 = 64K Flash Sizeset FLASH_SIZE 0x20000source [find target/stm32f4x.cfg]# download speed = 10MHzadapter 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

这时候就可以查看该寄存器里面每一个值了



