Cortex-debug 插件配置

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

Cortex-debug 调试器使用介绍_java

有了上图的解释,再来弄明白 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


Cortex-debug 调试器使用介绍_嵌入式_02

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

Cortex-debug 调试器使用介绍_大数据_03

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

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

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

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

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

Cortex-debug 调试器使用介绍_java_05

launch.json 配置

1、通用的配置属性

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

Cortex-debug 调试器使用介绍_linux_06

属性解释:

  • 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

基本配置如下:

Cortex-debug 调试器使用介绍_java_07

属性解释:

  • interface:JLink 的连接类型,如:swd,jtag
  • device:芯片的系列名称,如 STM32F103C8,可以打开 JLinkGDBServer.exe 查看有效的名称列表

Cortex-debug 调试器使用介绍_大数据_08

OpenOCD

基本配置如下:

Cortex-debug 调试器使用介绍_python_09

属性解释:

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

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

其中:

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

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

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

Cortex-debug 调试器使用介绍_大数据_10

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

PyOCD

基本配置如下:

Cortex-debug 调试器使用介绍_python_11

属性解释:

  • targetId:芯片的系列名称

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

Cortex-debug 调试器使用介绍_大数据_12

  • cmsisPack:CMSIS 包的绝对路径

效果展示

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

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

Cortex-debug 调试器使用介绍_嵌入式_13