当前位置: 首页 > news >正文

使用Clion开发STM32(Dap调试)

使用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-LinkDap-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

在这里插入图片描述

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

在这里插入图片描述

http://www.dtcms.com/a/300236.html

相关文章:

  • 基于华为ENSP的OSPF数据报文保姆级别详解(3)
  • LeetCode——1695. 删除子数组的最大得分
  • TI MSPM0蓝牙串口通信数据包制作
  • C++11 -- emplace、包装器
  • 标准库开发和寄存器开发的区别
  • nfls dp 刷题 题解
  • AutoCAD_2025下载与保姆级安装教程
  • 【安全漏洞】防范未然:如何有效关闭不必要的HTTP请求方法,保护你的Web应用
  • cursor使用方法
  • MGER作业
  • Python 面向对象基础
  • 26考研英语词汇的逻辑笔记
  • 【PCIe 总线及设备入门学习专栏 5.1.3 -- PCIe PERST# 时序要求】
  • 从治理到共情——平台伦理的乡村共建之路
  • DeepSeek-LLM模块解析
  • 多项目终端环境初始化开发环境方案
  • 【RHCSA 问答题】第 10 章 配置和保护 SSH
  • cacti漏洞CVE-2022-46169的复现
  • 界面规范2-列表上
  • NTLite Ent Version
  • 文件IO——bmp图像处理
  • GRE、MGRE实验
  • 机器学习(重学版)基础篇(概念与评估)
  • 算子推理是什么
  • GStreamer中Pipeline(管道)
  • 速通python加密之base64
  • 《C++》模板详解
  • odoo代码分析(二)
  • 一键实现推送服务:Docker部署ntfy开源通知系统指南
  • STM32-定时器的基本定时/计数功能实现配置教程(寄存器版)