Debug Probes

调试探针 是一种专用硬件,用于控制另一块开发板上运行的 Zephyr 应用。它通常支持读写寄存器和内存,并可在主机工作站上通过 GDB 等工具进行断点调试。也可能支持其他调试软件,以及 程序执行跟踪 等高级功能。Zephyr 支持的相关主机软件见 烧录与调试主机工具。

调试探针通常通过 USB 连接主机,有时也可通过 IP 网络等方式访问。它通常使用 JTAG 或 SWD 协议连接运行 Zephyr 的设备,可以是独立硬件,也可以集成在运行 Zephyr 的同一块开发板上。

Zephyr 支持的许多开发板包含第二个微控制器,充当板载调试探针、USB 转串口适配器,有时还支持拖放式闪存编程。这样无需另购外部探针,并可选用多种调试主机工具。

多个硬件厂商提供自有品牌的板载探针。NXP 开发板根据探针固件运行的微控制器,可能使用 OpenSDA、LPC-Link2 或 MCU-Link。ST 开发板配有 ST-LINK probe。每种探针微控制器可支持一种或多种固件,分别与对应主机工具通信。例如,OpenSDA 烧录 DAPLink 固件后可与 pyOCD 或 OpenOCD 通信,烧录 J-Link 固件后则可与 J-Link 主机工具通信。

调试探针与主机工具
兼容性表

主机工具

J-Link Debug

OpenOCD

pyOCD

NXP S32DS

NXP LinkServer

ST-LINK GDB Server

调试探针

外接 J-Link

✓

✓

LPC-Link2 CMSIS-DAP

✓

LPC-Link2 J-Link

✓

MCU-Link CMSIS-DAP

✓

MCU-Link J-Link

✓

NXP S32 调试探针

✓

OpenSDA DAPLink

✓

✓

✓

OpenSDA J-Link

✓

ST-LINK/V2-1

✓

✓

部分 STM32 开发板

✓

Zephyr 支持的某些开发板没有板载探针,必须使用外部探针。带有板载探针的开发板通常也提供 SWD 或 JTAG 接口,允许改用外部探针。这有助于绕过板载探针的限制,例如不支持高级调试器或高速跟踪。可能需要调整跳线,避免板载探针干扰外部探针。

NXP 板载调试探针

NXP 开发板可能配备 MCU-Link 板载调试探针、LPC-LINK2 板载调试探针 或 OpenSDA 板载调试探针 等板载探针。它们均由评估板上的辅助微控制器实现,可根据调试微控制器 SoC 判断类型:

例如,FRDM-K64F 使用 MK20 调试微控制器,因此采用 OpenSDA 板载调试探针。

LPC-LINK2 板载调试探针

LPC-LINK2 板载探针使用 LPC4322 SoC,支持以下固件:

此探针通过 LPCScrypt 主机工具烧录,工具随 LinkServer 调试主机工具 安装。NXP 建议使用 MCUXpresso Installer 安装 LinkServer 工具。

LPC-LINK2 CMSIS DAP 板载调试探针

CMSIS-DAP 探针支持通过任何兼容工具链调试,包括 IAR EWARM、Keil MDK、NXP MCUXpresso IDE 及其 VS Code 扩展。除调试功能外,LPC-Link2 还提供:

  1. SWO 跟踪端点:MCUXpresso 通过此虚拟设备获取 SWO 跟踪数据,详情见 MCUXpresso IDE 文档。

  2. 连接目标处理器的虚拟 COM(VCOM)端口/UART 桥接。

  3. 用于与 I2C 和 SPI 外设通信的 LPCSIO 桥接。

此探针固件兼容以下调试主机工具:

可以按以下步骤更新为 CMSIS-DAP 固件:

  1. 确保主机已有 LPCScrypt 工具,可以通过安装 LinkServer 调试主机工具 获取。

  2. 连接 DFU 跳线,再连接开发板 USB 调试端口,使 LPC-Link2 微控制器进入 DFU 启动模式。该跳线连接到 LPC4322 的 P2_6。

  3. 运行 LPCScrypt 安装目录中 scripts 下的 program_CMSIS 脚本。

  4. 移除 DFU 跳线,并将开发板断电后重新上电。

OpenSDA 板载调试探针

OpenSDA 板载探针基于 NXP MK20 SoC,支持拖放编程及以下调试固件:

NXP S32 调试探针

NXP S32 Debug Probe 通过标准调试端口调试 NXP S32 目标系统,可通过 USB 连接开发工作站,也可通过以太网远程连接。

NXP S32 调试探针设计为配合 NXP S32 Design Studio(S32DS)及 NXP 汽车微控制器和处理器使用。烧录固件前,按照 NXP S32 调试探针主机工具 安装主机工具。

Black Magic Probe

Black Magic Probe 是配合 Black Magic Debug 固件使用的开源调试硬件。固件集成 GDB 服务器,可以直接从 gdb 连接目标设备。

部分基于 STM32F103 的开发板可运行 Black Magic Debug 固件,见 Black Magic Debug supported hardware。