IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> 通过External Tools在STM32CubeIDE下使用DAP-LINK -> 正文阅读

[Java知识库]通过External Tools在STM32CubeIDE下使用DAP-LINK

目录

一、文章背景

二、准备工作

2.1 Stm32CubeIDE

2.3?STM32目标板

三、配置过程

3.1 连接目标板

3.2 配置仿真器

3.3 更改调试设置为远程调试

3.4 新建OpenOcd扩展工具OpenOcd

3.5 通过变量选择CubeIDE的OpenOcd路径

3.6?选择OpenOcd配置脚本的路径

3.7?输入调试配置文件参数

3.8?扩展说明

四、自定义调试步骤

4.1 新建调试任务

4.2?添加第一个任务:运行OpenOcd

4.3 添加第二个任务:运行Debug

4.4 最终效果

五、调试


一、文章背景

? ? ? ?STM32开发者众多,有相当一部分人从Keil转移到了CubeIDE平台开发。开发过程中,基于各种原因,难免会需要使用DAP-LINK调试和仿真,笔者自己踩过坑,此前写了一篇博客专门介绍如何利用OpenOcd绕过CubeIDE只能用ST-LINK的限制,使用DAP-LINK调试STM32,感兴趣的可以移步:在Stm32CubeIDE环境下使用DAP-Link仿真

? ? ? 该文章的方法至今依然有效,但使用方法太过繁琐,需要单独下载OpenOcd、写脚本、调试前需要运行脚本。后来笔者使用Stm32CubeIDE开发过程中有了几个意外发现:

  1. Stm32CudeIDE和其他基于Eclipse的IDE一样,支持外部工具。
  2. Stm32CudeIDE安装时就已经带了OpenOcd,不需要再另外下载。
  3. 用CubeIDE的外部工具配合内置的OpenOcd,可以不切出IDE,不依赖外部脚本,完美使用DAP-LINK调试。

下面给出完整的使用方法。

二、准备工作

2.1 Stm32CubeIDE

? ? ? ? 官方可以免费下载安装,安装过程不在本篇文章讨论范围内,在此略过。有需要的可去官方下载:Stm32CubeIDE下载链接,截至本文撰写时,最新版为1.7。

? ? ? ? 这个仿真器硬件有很多,因其开源特性广受欢迎。本人购买的是淘宝MUSE LAB出品,体积只有手指大小,非常精致,购买链接在此

2.3?STM32目标板

? ? ? ?调试目标板当然必不可少,本文的方法适用于所有STM32的MCU,笔者以一块STM32F072开发板为例进行演示。

三、配置过程

3.1 连接目标板

????????????????CLK、GND、DIO...几根线依次接好。

3.2 配置仿真器

? ? ?CubeIDE菜单栏->RUN->Debug Configrations->STM32 Cortex-m C/C++ Application->New Configration。正常情况下,如果是用的ST-LINK就可以直接仿真调试了,如果使用DAP-LINK,会出现“No ST-LINK detected! Please connect ST-LINK and restart the debug session”这样的报错。

但是没关系,本文的目的就是解决这个报错。

3.3 更改调试设置为远程调试

? ? ? ?GDB连接设置改为远程GDB服务器-->端口保持默认-->调试探头改为OpenOCD-->取消勾选实时表达式。

3.4 新建OpenOcd扩展工具OpenOcd

? ? ? ?依次进入CubeIDE菜单栏->RUN->External Tools-> External Tools Configrations->Program(右键)->NEW Configration.

3.5 通过变量选择CubeIDEOpenOcd路径

?

? ? ? ? ?CubeIDE自带了很多环境变量,方便用户使用,其中有很多是IDE的各种插件的安装路径,OpenOcd的路径也在其中,可以点击“Variables“获取,在其后加上\openocd.exe使用。

??在其中找到OpenOcd的路径,并勾选。

3.6?选择OpenOcd配置脚本的路径

? ? ? ? ?OpenOcd作为调试服务器与目标板中间的交互接口,想要使用它调试,必须让OpenOcd知道调试使用的调试器类型,以调试的目标处理器类型,这两个参数,都以一系列脚本的形式,放在了OpenOcd的interface目录和Target目录。这一步骤就是选择这两个目录的根路径。

3.7?输入调试配置文件参数

? ? ? ? 最后,在参数栏输入调试器和目标处理器的配置文件即可,由于本文使用的是DAP-LINK,目标处理器为STM32F072,因此:

DAP-LINK加STM32F0,配置参数为:

-f? .\interface\cmsis-dap.cfg? -f? .\target\stm32f0x.cfg

DAP-LINK加STM32F1,配置参数为:

-f? .\interface\cmsis-dap.cfg? -f? .\target\stm32f1x.cfg

DAP-LINK加STM32F4,配置参数为:

-f? .\interface\cmsis-dap.cfg? -f? .\target\stm32f4x.cfg

3.8?扩展说明

? ? ? ? ?对OpenOcd感兴趣的读者可以百度了解更多,实际上,笔者的教程。只是取巧从CubeIDE的安装目录中调用了一部分OpenOcd的配置。如果如笔者上一篇教程一样获取完整的OpenOcd,可以从OpenOcd目录中看到,OpenOcd其实支持很多调试器和目标处理器的,而不仅仅局限于DAP-LINK和STM32。ST官方只是摘取了STM32能用的那部分集成进了CudeIDE供自家处理器使用。

??? ? ?

?至此,外部工具配置OK,下一步,正式开始调试。

?

四、自定义调试步骤

????? 自定义调试步骤这一步,其实就是先通过External Tools打开OpenOcd调试服务,再使用IDE的GDB调试服务去实现下载和调试,想深入了解调试过程的读者可以参考笔者另一篇文章:深入理解工具链-自己搭建STM32编程IDE

4.1 新建调试任务

? ? ? ? ? CubeIDE菜单栏->RUN->Debug Configrations->Launch Group->New Configration。

4.2?添加第一个任务:运行OpenOcd

?

4.3 添加第二个任务:运行Debug

4.4 最终效果

?

五、调试

? ? ? ?至此,CubeIDE完美支持DAP-LINK。工程编译完,点击界面的小虫子图标,执行咱们自定义的调试任务就可以了。

? ? ? ?Eclipse的外部工具不仅可以用于调用OpenOcd,实际上,它还可以调用任何可执行的外部命令,例如python脚本,如果你愿意,甚至可以利用它自动打开Vscode,查看工程当前的map文件、反汇编文件等,用好了,妙用无穷。

本文是作者闲时业余记录,如由遗漏错误,请见谅,感谢观看文章,转载不用注明出处。


  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:22:29  更:2021-09-04 17:24:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:11:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码