【STM32】cmsis-dap调试器-OpenOCD功能集成进CubeIDE中

2023-10-21 16:30

本文主要是介绍【STM32】cmsis-dap调试器-OpenOCD功能集成进CubeIDE中,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

被自己买的Jlink真是要整烦了
一下连不上,一下固件掉升级,一下说是D版不给调试
于是乎决定,我买了个CMSIS-DAP调试器,决定放弃JLink这等@#$%^&货…

CMSIS-DAP 调试器

这个是开源调试器,硬件软件开源,T宝可以买,自己也可以去Github上搜索源码和固件和原理图自己做。
当然我很懒,我去买了现成的。。。
好家伙,里面拆开其实就是个国产32的最小系统而已。。。哈哈哈哈
这个网上介绍搜索一堆,这里就不废话了

STM32 CubeIDE

STM32自家 eclipse魔改IDE
GNU的底子,eclipse的外皮
我这里以1.7版为例说明
我不知道后面的版本有没有集成这个OpenOCD功能
如果有,那就省了很多事情了。

OpenOCD

这个是一个开源项目,可以连接ST-Link,Jlink,CMSIS-DAP等等各种你知道的不知道的Link调试器,连接各种Cortex芯片
有OpenOCD或者是Python实现的Pyocd,我这里主要介绍OpenOCD,Pyocd辅助【主要是Pyocd有个地方我这里一直不行,不懂弄】
下载链接

改造 CubeIDE,装Openocd插件

这里在线,离线方法我都说一说

在线的

在这里插入图片描述
Help->Eclipse Marketplace,等他加载完毕
搜索openocd,装Eclipse Embedded 6.3.1
待会装的方法,我这里就不多介绍了,我这里装了,不好卸载再截图了
这里自己搜索下Eclipse在线安装插件的方法哈
在这里插入图片描述
如果网速OK,过一会就会装好,让你重启IDE

离线的

考虑到某些情况,不方便联网装
我这里提供离线下载的链接
把这个ZIP下下来
或者我这里下好了,你来下吧
安装方法网上搜一搜,这里不介绍了,很多人写。

在这里插入图片描述

怎么配置呢

之后点击顶部的绿色虫子旁边的小三角,
在这里插入图片描述
进入后选这个,看看应该多出来了很多东西
在这里插入图片描述
看到这些说明你装成功了
在这里插入图片描述
我们选择OpenOCD Debuging,双击自动新建一个调试配置,这里我们分为调试和烧录
我会将涉及到需要配置的分页单独讲解

调试的配置

在这里插入图片描述
C/C++ Application这里选择你编译出来的elf文件,一般在Debug文件夹下面
在这里插入图片描述

首先Execution Path,这里填写你OpenOCD.exe所在的绝对路径
下面的三个Port,对于单个调试器的情况无需修改,但是对于同时调试多个芯片时,这个需要错开
譬如现在是3333,4444,6666.另一个芯片你就配置一组不一样的就可以。
下面这个Config是最重要的

-c “adapter driver cmsis-dap” -c “adapter serial 12345678” -f “xxxxx\scripts\target\stm32h7x.cfg”

-c "adapter driver cmsis-dap"这个的含义是连接的是CMSIS-DAP
-c "adapter serial 12345678"这个的意思是连接指定序列号,12345678这里我代指序列号,可能是别的哈
如果你只用一个调试器,这段不需要写
如果你不止一个调试器连接在电脑上,这段要写

-f “xxxxx\scripts\target\stm32h7x.cfg” 这个是指定你连接的CPU类型,下载OpenOCD的压缩包里面有这样的cfg文件,找到自己CPU对应的文件,我这里是H743,其他的自行寻找对应的cfg,一般常见的型号都有…

GDB下面的配置
就是需要手动设置下arm-none-eabi-gdb执行文件的位置
这个在CubeIDE安装路径下面,找一找就可以找到

后面的页面保持默认就可以了,不用改
把调试器和芯片板卡相连
我这个调试器是需要接SWCLK SWDIO GND VCC,我没接复位信号
其他情况自行研究
然后不出意外正常进调试应该就可以调试了

如何查询你的调试器序列号

当调试器连接到电脑的时候,会多出一个盘符,打开这个盘符,应该有一个文本文件,里面记录着调试器的基本信息
里面有调试器的序列号。

烧录的配置

烧录的配置和调试的类似
就是Config有点不一样,类似
-c “adapter driver cmsis-dap” -c “adapter serial 12345678” -f “xxxxx\scripts\target\stm32h7x.cfg” -c “program xxxxxxx 你的芯片烧录地址” -c “reset” -c “shutdown”

-c “program xxxxxxx 你的芯片烧录地址”
这里xxxxxxx 是你的编译产物(bin,hex)的绝对地址,注意路径这里需要改成双斜线的写法,他才识别的出来!!!
你的芯片烧录地址 这里填写十六进制的地址,例如H743是0x8000000
-c “reset” 下载完毕后复位芯片
-c “shutdown” 下载完毕之后关闭连接

Enjoy…

这篇关于【STM32】cmsis-dap调试器-OpenOCD功能集成进CubeIDE中的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/255595

相关文章

苹果macOS 26 Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色

《苹果macOS26Tahoe主题功能大升级:可定制图标/高亮文本/文件夹颜色》在整体系统设计方面,macOS26采用了全新的玻璃质感视觉风格,应用于Dock栏、应用图标以及桌面小部件等多个界面... 科技媒体 MACRumors 昨日(6 月 13 日)发布博文,报道称在 macOS 26 Tahoe 中

Java使用HttpClient实现图片下载与本地保存功能

《Java使用HttpClient实现图片下载与本地保存功能》在当今数字化时代,网络资源的获取与处理已成为软件开发中的常见需求,其中,图片作为网络上最常见的资源之一,其下载与保存功能在许多应用场景中都... 目录引言一、Apache HttpClient简介二、技术栈与环境准备三、实现图片下载与保存功能1.

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

MybatisPlus service接口功能介绍

《MybatisPlusservice接口功能介绍》:本文主要介绍MybatisPlusservice接口功能介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友... 目录Service接口基本用法进阶用法总结:Lambda方法Service接口基本用法MyBATisP

Java反射实现多属性去重与分组功能

《Java反射实现多属性去重与分组功能》在Java开发中,​​List是一种非常常用的数据结构,通常我们会遇到这样的问题:如何处理​​List​​​中的相同字段?无论是去重还是分组,合理的操作可以提高... 目录一、开发环境与基础组件准备1.环境配置:2. 代码结构说明:二、基础反射工具:BeanUtils

使用vscode搭建pywebview集成vue项目实践

《使用vscode搭建pywebview集成vue项目实践》:本文主要介绍使用vscode搭建pywebview集成vue项目实践,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录环境准备项目源码下载项目说明调试与生成可执行文件核心代码说明总结本节我们使用pythonpywebv

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

SpringCloud使用Nacos 配置中心实现配置自动刷新功能使用

《SpringCloud使用Nacos配置中心实现配置自动刷新功能使用》SpringCloud项目中使用Nacos作为配置中心可以方便开发及运维人员随时查看配置信息,及配置共享,并且Nacos支持配... 目录前言一、Nacos中集中配置方式?二、使用步骤1.使用$Value 注解2.使用@Configur

Java集成Onlyoffice的示例代码及场景分析

《Java集成Onlyoffice的示例代码及场景分析》:本文主要介绍Java集成Onlyoffice的示例代码及场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 需求场景:实现文档的在线编辑,团队协作总结:两个接口 + 前端页面 + 配置项接口1:一个接口,将o