# SWD (JTAG) 硬件调试接口
PX4 通常在自动驾驶控制器硬件上运行,该硬件提供 ARM 串行线调试 (SWD) 接口。SWD 是用于 ARM 处理器 JTAG 调试的低引脚数物理接口。它可与兼容 SWD 的调试探针(如 Segger J-Link EDU Mini, Dronecode 探针等)在 PX4 中设置断点,并在真实设备上逐步运行代码。
SWD 接口还可用于在完全空白的电路板(未安装 USB 引导加载程序的电路板)上添加新的引导加载程序和/或固件。
本主题将介绍如何在不同电路板上连接 SWD 接口(调试本身将在相关的 调试主题).
# SWD 接口定义
SWD 接口由以下引脚组成。
针脚 | 信号类型 | 说明 |
---|---|---|
Vref | 输出 | 目标参考电压。 某些 JTAG 适配器需要 Vref 电压来设置 SWD 线路的电压。例如 世纪佳缘 J-Link 调试探头 要求 Vref . |
SWDIO | 输入/输出 | 单个双向数据引脚。 |
SWCLK | 输出 | 时钟信号 |
接地 | - | 接地引脚。 |
自动驾驶仪虽然不是 SWD 的一部分,但也可能具有以下功能 串行导线输出 (SWO) 跟踪输出引脚。如果存在,也应将其连接起来。
针脚 | 信号类型 | 说明 |
---|---|---|
SWO | 输出 | 串行导线输出跟踪输出引脚。可与 SWD 实时跟踪数据。 |
# 将 SWD 调试器连接到 PX4 硬件
飞行控制器通常提供单个调试端口,可同时显示 SWD 接口 和 系统控制台.必须连接到 SWD 调试探针 使用合适的连接器。
该连接器可能随飞行控制器或调试探头一起提供。其他选项如下。
# Holybro Pixhawk 调试适配器
Holybro Pixhawk 调试适配器 (打开新窗口) 是 强烈推荐 调试使用 Pixhawk 标准调试连接器之一的控制器时。
这是最简单的连接方式:
- 飞行控制器使用 Pixhawk 调试完毕 (10针SH)或 Pixhawk 迷你调试器 (6 针 SH)调试端口,以及
- SWD 调试探头支持 10 针 ARM 兼容接口标准,该标准由 Segger JLink Mini 或 20 引脚,与 Segger Jlink 或 STLink 兼容。
# 调试探头适配器
部分社署 调试探针 附带适配器/电缆,用于连接普通 Pixhawk 调试端口.已知带连接器的探头如下:
- 无人机代码探测器附带一个连接器,用于连接到 Pixhawk 迷你调试器
# 板专用适配器
一些制造商提供电缆,方便连接 SWD 接口和 系统控制台.
- CUAV V5nano 和 CUAV V5+ 包括这条调试电缆:
# 定制电缆
您还可以创建自定义电缆,用于连接不同的电路板或探针:
- 连接
SWDIO
,SWCLK
和接地
将调试探针上的引脚连接到自动驾驶仪上的相应引脚。 - 连接
VRef
引脚。 - 连接
SWO
引脚(如果有)。
TIP
在可能的情况下,我们强烈建议您制作或购买一块适配器板,而不是定制电缆来连接 SWD/JTAG 调试器和计算机。这样可以降低接线不良导致调试问题的风险,而且适配器通常会提供一个通用接口,用于连接多个常用的飞行控制器板。
# 自动驾驶仪调试端口
飞行控制器通常提供单个调试端口,可同时显示 SWD 接口 和 系统控制台.
Pixhawk 连接器标准 正式规定了每个 FMU 版本必须使用的端口。不过,仍有许多电路板使用不同的引脚或连接器,因此我们建议您查看 自动驾驶仪文档 以确认端口位置和引脚分配。
部分自动驾驶仪的调试端口位置和引脚布局链接如下:
自动驾驶仪 | 连接器 |
---|---|
Holybro Pixhawk 5X (FMUv5x) | Pixhawk 调试完毕 |
圣布鲁杜兰达尔 | Pixhawk 迷你调试器 |
Holybro Kakute F7 | 焊盘 |
Holybro Pixhawk 4 Mini (FMUv5) | Pixhawk 迷你调试器 |
Holybro Pixhawk 4 (FMUv5) | Pixhawk 迷你调试器 |
Drotek Pixhawk 3 Pro (FMU-v4pro) | Pixhawk 迷你调试器 |
CUAV V5+ | 6 针 JST GH Digikey: BM06B-GHS-TBT(LF)(SN)(N) (打开新窗口) (垂直安装)、 SM06B-GHS-TBT(LF)(SN)(N) (打开新窗口) (侧面安装) |
CUAV V5nano | 6 针 JST GH Digikey: BM06B-GHS-TBT(LF)(SN)(N) (打开新窗口) (垂直安装)、 SM06B-GHS-TBT(LF)(SN)(N) (打开新窗口) (侧面安装) |
3DR Pixhawk | ARM 10 针 JTAG 连接器(也用于 FMUv2 电路板,包括 ARM 10 针 JTAG 连接器): mRo Pixhawk, HobbyKing HKPilot32). |
# Pixhawk 连接器标准调试端口
Pixhawk 项目为不同版本的 Pixhawk FMU 定义了标准引脚和连接器类型:
TIP
检查您的 特定板 以确认所使用的端口。
FMU 版本 | Pixhawk Ver. | 调试界面 |
---|---|---|
FMUv2 | Pixhawk / Pixhawk 1 | 10 引脚 ARM 调试 |
FMUv3 | Pixhawk 2 | 6 针 SUR 调试 |
FMUv4 | Pixhawk 3 | Pixhawk 迷你调试器 |
FMUv5 | Pixhawk 4 FMUv5 | Pixhawk 迷你调试器 |
FMUv5X | Pixhawk 5X | Pixhawk 调试完毕 |
FMUv6 | Pixhawk 6 | Pixhawk 调试完毕 |
FMUv6X | Pixhawk 6X | Pixhawk 调试完毕 |
备注
FMU 和 Pixhawk 版本(仅)在 FMUv5X 之后保持一致。
# Pixhawk 迷你调试器(6 针 SH 调试端口)
Pixhawk 连接器标准 (打开新窗口) 定义了 Pixhawk 迷你调试器, a 6 针 SH 调试端口 可访问两个 SWD 引脚和 系统控制台.
这在 FMUv4 和 FMUv5 中使用。
引脚布局如下所示(SWD 引脚突出显示):
调试端口 | 针脚 |
---|---|
1 | Vtref |
2 | 控制台 TX |
3 | 控制台 RX |
4 | SWDIO |
5 | SWDCLK |
6 | 接地 |
调试端口定义包括以下焊盘(在电路板上连接器旁边):
调试端口 | 针脚 | 电压 |
---|---|---|
垫子 | 信号 | 伏特 |
1 | NRST(复位) | +3.3V |
2 | GPIO1(自由 GPIO) | +3.3V |
3 | GPIO2(自由 GPIO) | +3.3V |
插座是一个 6 针 JST SH - Digikey 编号: BM06B-SRSS-TBT(LF)(SN) (打开新窗口) (垂直安装)、 SM06B-SRSS-TBT(LF)(SN) (打开新窗口)(侧面安装)。
您可以使用 像这样的电缆 (打开新窗口).
# Pixhawk 调试全功能(10 针 SH 调试端口)
Pixhawk 连接器标准 (打开新窗口) 定义 Pixhawk 调试完毕, a 10 针 SH 调试端口 可访问两个 SWD 引脚和 系统控制台.这主要是将焊盘从 Pixhawk 迷你调试器 并增加了一个 SWO 引脚。
此端口指定用于 FMUv5x、FMUv6 和 FMUv6x。
引脚布局如下所示(SWD 引脚突出显示):
调试端口 | 针脚 |
---|---|
1 | Vtref |
2 | 控制台 TX |
3 | 控制台 RX |
4 | SWDIO |
5 | SWDCLK |
6 | SWO |
7 | NFC GPIO |
8 | PH11 |
9 | nRST |
10 | 接地 |
插座是一个 10 针 JST SH - Digikey 编号: BM10B-SRSS-TB(LF)(SN) (打开新窗口) (垂直安装)或 SM10B-SRSS-TB(LF)(SN) (打开新窗口) (侧面安装)。
您可以使用 像这样的电缆 (打开新窗口).
# 调试探头
下文概述了一些常用的调试探头以及将其连接到运行 PX4 的自动驾驶仪的适配器。
# Segger JLink EDU 迷你调试探头
Segger JLink EDU Mini (打开新窗口) 是一款价格低廉、广受欢迎的 SWD 调试探针。该探针的连接器引脚布局如下图所示(使用 ARM 10 针迷你连接器连接,如下图所示 FTSH-105-01-F-DV-K (打开新窗口)).
连接 J-Link Edu Mini 的引脚映射图 Pixhawk 迷你调试器 如下所示(注意 -
表示 SWD 不需要的引脚)。
调试端口 | 迷你 J-Link |
---|---|
1 (Vtref) | 1 |
2(控制台 TX) | - |
3(控制台 RX) | - |
4 (SWDIO) | 2 |
5 (SWDCLK) | 4 |
6(接地) | 3 或 5 |
TIP
从上表可以推断出不使用标准端口的自动驾驶仪的连接方式。
# Dronecode 探针
Dronecode 探针 (打开新窗口) 是一种通用的 JTAG/SWD + UART 控制台适配器,与大多数基于 ARM Cortex 的设计兼容,特别是与 Pixhawk 系列飞行控制器(以及 PX4 支持的其他硬件)兼容。
探针的 USB 接口暴露了两个独立的虚拟串行端口接口:一个用于连接到 系统控制台 (UART),另一个用于嵌入式 GDB 服务器(SWD 接口)。
探头提供一条 DCD-M 连接器电缆,用于连接到 Pixhawk 迷你调试器.
备注
6 位 DF13 探针附带的连接器不能用于 SWD 调试(用于使用系统控制台)。
备注
Dronecode 探针 是基于 黑魔法探针.
# 黑魔法探针
黑魔法探针 (打开新窗口) 很像 Dronecode 探头 但不附带用于直接连接 Pixhawk 系列飞行控制器的适配器。
适配器可单独购买:
- 无人机代码调试适配器 (打开新窗口) (1 位平方)。
# 下一步工作
现在您已将飞行控制器连接到 SWD 调试探针!
以下主题将介绍如何启动目标调试:
← 嵌入式调试 GDB SWD 调试 →