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

使用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.xdnf.cn/news/16294.html

相关文章:

  • Android WorkManager 详解:高效管理后台任务
  • hot100-每日温度
  • Python爬虫实战:诗词名句网《三国演义》全集
  • obd运维OceanBase数据库的常见场景
  • 0基础法考随手笔记 03(刑诉05 刑事证据与证明+06 强制措施)
  • 【Canvas技法】绘制正N角星
  • 机器学习的工作流程
  • Windows 平台源码部署 Dify教程(不依赖 Docker)
  • 手写PPO_clip(FrozenLake环境)
  • 【LeetCode 热题 100】79. 单词搜索——回溯
  • 电子电气架构 --- 车载软件交样评审流程
  • Java面试题及详细答案120道之(041-060)
  • 排序算法,咕咕咕
  • 进制定义与转换详解
  • vcpkg如何交叉编译
  • HCLP--MGER综合实验
  • 数据结构习题--删除排序数组中的重复项
  • 详解力扣高频SQL50题之1084. 销售分析 III【简单】
  • Python点阵字生成与优化:从基础实现到高级渲染技术
  • 数据恢复与备份
  • 快速入门Linux操作系统(一)
  • 立式加工中心X-Y轴传动机械结构设“cad【6张】三维图+设计说明书
  • 进阶数据结构:用红黑树实现封装map和set
  • 学习嵌入式的第三十一天-数据结构-(2025.7.23)网络协议封装
  • 数据中心-时序数据库InfluxDB
  • 掌握Gemini-2.5:现代AI开发中实用应用的综合指南
  • 二次函数图像动画展示
  • 在Power Automate Desktop中执行PowerShell获取SharePoint online某个文件夹的用户权限列表
  • excel删除重复项场景
  • 算法竞赛阶段二-数据结构(35)数据结构单链表模拟实现