Cortex-debug 调试器使用介绍

Posted 嵌入式大杂烩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Cortex-debug 调试器使用介绍相关的知识,希望对你有一定的参考价值。

原文:https://blog.csdn.net/qq_40833810/article/details/106713462

Cortex-debug 插件配置

Cortex-debug 使用 gdb 来完成调试;下图介绍了 gdb 调试的组成和它们之间的关系,在开始之前有必要理解清楚它们的关系:

有了上图的解释,再来弄明白 Cortex-debug 的配置可能会更加容易,Cortex-debug 扩展配置只需两步:

1、首先,我们要配置 gdb 所在目录的路径,这是必须的,因为它是核心的调试程序

ARM-GNU-Toolchain 下载:

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads

下面是示范,每个人的安装位置可能有所不同:

2、根据你所拥有的 硬件调试器,选择一个支持它的 gdb server 程序。

注意:下面框出的路径不是每个都需要填,而是根据你的 硬件调试器 类型做一个选择 提示:

较常用的是 JLink GDBServer 和 OpenOCD,前者只支持 JLink 调试器,后者支持 jlink,stlink,cmsis-dap,等众多调试器 JLink GDBServer 位置于官方的 JLink 驱动程序中,OpenOCD 需要自行去下载

下面是一个示范,每个人的安装位置可能有所不同:

注:下图配置了 JLinkGDBServer 和 OpenOCD,因为本文章要使用 两种不同的调试器 进行示范,分别是 Jlink-OB 和 STLink,实际只需选择配置一个:

launch.json 配置

1、通用的配置属性

这些被标记出的属性是最基本的配置,和使用什么样的硬件无关:

属性解释:

  • type:【必填】调试器类型,值必须为:cortex-debug

  • request:【必填】启动类型,常用值:launch

  • servertype:【必填】gdb server 类型,值根据你要用的 gdb server 进行一个选择

  • executable:【必填】含有调试信息的可执行文件的路径,可以是 keil 生成的 .axf 文件 或者 ARM-GNU-toolchain 生成的 .elf 文件

  • svdFile:【可选】用于描述芯片外设的 .svd 文件路径,如果此选项有效,那么可以在调试时查看外设寄存器的值

3、特定于 GDB Server 的配置属性

对于不同的 gdb server 类型,还需要填写不同的配置属性,下面对 JLink 和 OpenOCD 的配置进行一个介绍

JLink

基本配置如下:

属性解释:

  • interface:JLink 的连接类型,如:swd,jtag

  • device:芯片的系列名称,如 STM32F103C8,可以打开 JLinkGDBServer.exe 查看有效的名称列表

OpenOCD

基本配置如下:

属性解释:

  • configFiles:OpenOCD 的配置文件,由于 OpenOCD 支持众多接口,因此它采用选择不同的配置文件来选择不同的调试器接口和不同的芯片,主要的配置文件类型有两个,一个是 interface, 一个是 target。

OpenOCD 配置文件在安装目录的 scripts 目录下。

其中:

  • interface 目录里包含了所有受支持的 硬件调试器 对应的配置文件

  • target 目录包含了所有受支持的 芯片系列 对应的配置文件

下图展示了配置的对应关系。

只需在对应的目录下找到需要的配置文件,并填写其相对路径到列表中即可完成配置。

本例中展示的是 OpenOCD 使用 STLink 调试 STM32F103 的配置,其他类型的配置和这差不了太多

PyOCD

基本配置如下:

属性解释:

  • targetId:芯片的系列名称

如果你安装了 CMSIS 包,并选择了芯片类型,你可以在视图中看到此名称:

  • cmsisPack:CMSIS 包的绝对路径

效果展示

在完成配置之后,选择好要启动的配置,连接好 硬件调试器 和 板子,就可以启动调试

注:出现无法启动的问题请仔细阅读 Cortex-debug 给出的提示 或者 调试面板的输出

温馨提示

由于微信公众号近期改变了推送规则,如果您想经常看到我们的文章,可以在每次阅读后,在页面下方点一个「赞」或「在看」,这样每次推送的文章才会第一时间出现在您的订阅列表里。

免责声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。

往期推荐:

嵌入式大杂烩周记 | 第 2 期

嵌入式大杂烩周记 | 第 1 期

干货 | 嵌入式OTA升级实现原理

几个Makefile通用模板分享!

分享一份嵌入式软件工具清单!

实用 | 一个高性能通信库的简单使用分享

实用工具 | LVGL GUI-Guider的使用分享

实用 | 10分钟教你搭建一个嵌入式web服务器

分享一款嵌入式人必备绘图工具!

干货 | protobuf-c之嵌入式平台使用

干货 | 嵌入式必备技能之Git的使用

例说嵌入式实用知识之JSON数据

C语言、嵌入式中几个非常实用的宏技巧

在公众号聊天界面回复1024,可获取嵌入式资源;回复 m ,可查看文章汇总。

点击阅读原文,查看更多分享。

以上是关于Cortex-debug 调试器使用介绍的主要内容,如果未能解决你的问题,请参考以下文章

codeblocks安装后提示ide已停止工作

chrome 如何调试js

Windows下反(反)调试技术汇总

Xcode介绍-工作区

eclipse进行远程调试的时候的出现下图问题时怎么解决

内嵌补丁练习