# SWD 调试端口

PX4 在 ARM Cortex-M 微控制器上运行,这些微控制器包含专用硬件,可通过 串行线调试 (SWD) (打开新窗口) 接口和非侵入式剖析,并通过 串行导线输出 (SWO) (打开新窗口)跟踪 引脚 (打开新窗口).

SWD 调试接口允许对微控制器的处理器和外设进行直接、低级的硬件访问,因此不依赖于设备上的任何软件。因此,它可用于调试引导加载程序和 NuttX 等操作系统。

# 调试信号

调试时需要四个信号(粗体字),其余为推荐信号。

名称 类型 说明
接地 电源 共同的潜力,共同的基础。
VREF 电源 目标参考电压允许调试探头在信号上使用电平转换器。
SWDIO 输入/输出 串行线调试数据引脚。
SWCLK 输入 串行线调试时钟引脚。
nRST 输入 复位引脚为可选项(n = 低电平有效)。
SWO 输出 单线跟踪异步数据输出可输出 ITM 和 DWT 数据。
TRACECK 输出 并行总线的跟踪时钟。
TRACED[0-3] 输出 跟踪 1、2 或 4 位同步数据总线。

硬件复位引脚是可选的,因为大多数器件也可以通过 SWD 线路复位。不过,通过按钮快速复位器件对开发工作非常有利。

SWO 引脚可发出纳秒级时间戳的低开销实时剖析数据,因此强烈建议调试时使用该引脚。

TRACE 引脚需要专门的调试探针来处理高带宽和随后的数据流解码。这些引脚通常无法访问,通常只能用于调试非常特殊的时序问题。

# 自动驾驶仪调试端口

飞行控制器通常提供单个调试端口,可同时显示 SWD 接口系统控制台.

Pixhawk 连接器标准 正式规定了每个 FMU 版本必须使用的端口。不过,仍有许多电路板使用不同的引脚或连接器,因此我们建议您查看 自动驾驶仪文档 以确认端口位置和引脚分配。

部分自动驾驶仪的调试端口位置和引脚布局链接如下:

自动驾驶仪 调试端口
[Holybro Pixhawk 5X][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 版本 调试端口
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 迷你调试器

Pixhawk 连接器标准 (打开新窗口) 定义了 Pixhawk 迷你调试器, a 6 针 SH 调试端口 可访问两个 SWD 引脚和 系统控制台.

这在 FMUv4 和 FMUv5 中使用。

引脚布局如下图所示(调试所需的引脚用粗体标出):

针脚 信号
1 VREF
2 控制台 TX
3 控制台 RX
4 SWDIO
5 SWDCLK
6 接地

调试端口定义包括以下焊盘(在电路板上连接器旁边):

垫子 信号 电压
1 nRST +3.3V
2 GPIO1 +3.3V
3 GPIO2 +3.3V

插座是一个 6 针 JST SH - Digikey 编号: BM06B-SRSS-TBT(LF)(SN) (打开新窗口) (垂直安装)、 SM06B-SRSS-TBT(LF)(SN) (打开新窗口)(侧面安装)。

您可以使用 像这样的电缆 (打开新窗口).

6 针 JST SH 电缆

# Pixhawk 调试完毕

Pixhawk 连接器标准 (打开新窗口) 定义 Pixhawk 调试完毕, a 10 针 SH 调试端口 可访问两个 SWD 引脚和 系统控制台.这主要是将焊盘从 Pixhawk 迷你调试器 并增加了一个 SWO 引脚。

此端口指定用于 FMUv5x、FMUv6 和 FMUv6x。

引脚布局如下图所示(调试所需的引脚用粗体标出):

针脚 信号
1 VREF
2 控制台 TX
3 控制台 RX
4 SWDIO
5 SWDCLK
6 SWO
7 GPIO1
8 GPIO2
9 nRST
10 接地

GPIO1/2 引脚是自由引脚,可用于在软件中生成信号,以便使用逻辑分析仪进行时序分析。

插座是一个 10 针 JST SH - Digikey 编号: BM10B-SRSS-TB(LF)(SN) (打开新窗口) (垂直安装)或 SM10B-SRSS-TB(LF)(SN) (打开新窗口) (侧面安装)。

您可以使用 像这样的电缆 (打开新窗口).

10 针 JST SH 电缆

# 用于 PX4 硬件的调试探头

飞行控制器通常提供 单调试端口SWD 接口系统控制台.

有几种调试探针经过测试并支持连接到其中一个或两个接口:

  • 世纪佳缘 J-Link:商用探头,无内置串行控制台,需要适配器。
  • 黑魔法探针GDB:集成 GDB 服务器和串行控制台,需要适配器。
  • STLink:性价比最高,集成串行控制台,适配器必须焊接。

连接调试端口的适配器可能随飞行控制器或调试探头一起提供。其他选项如下。

# 调试适配器

# Holybro Pixhawk 调试适配器

Holybro Pixhawk 调试适配器 (打开新窗口)强烈推荐 调试使用 Pixhawk 标准调试连接器之一的控制器时。

这是最简单的连接方式:

Holybro Pixhawk 调试适配器

# CUAV C-ADB Pixhawk 调试适配器

CUAV C-ADB 二次开发 Pixhawk 飞行控制器调试适配器 (打开新窗口) 自带 STLinkv3-MINIE 调试探头.

它有一个用于连接到 Pixhawk 调试完毕 (10 引脚 SH)和 CUAV 标准 DSU 接口(但不包括 Pixhawk 迷你调试器 (6 针 SH))。

适配器上的 M2 连接器是 14 针 CN4 STDC14(请参阅图 1)。 STLinkv3-MINIE 用户手册 (打开新窗口) 更多信息)。连接 M2 和 STLinkv3-MINIE 的电缆随适配器一起提供。

连接到 STLinkv3-MINIE 的 CUAV C-ADB 适配器

# 调试探头适配器

部分社署 调试探针 附带适配器/电缆,用于连接普通 Pixhawk 调试端口.已知带连接器的探头如下:

# 板专用适配器

一些制造商提供电缆,方便连接 SWD 接口和 系统控制台.

6 针 JST SH 电缆

# 定制电缆

您还可以创建自定义电缆,用于连接不同的电路板或探针:

  • 连接 SWDIO, SWCLK接地 将调试探针上的引脚连接到调试端口上的相应引脚。
  • 如果调试探针支持,则连接 VREF 引脚。
  • 连接其余引脚(如果有)。

参见 STLinkv3-MINIE 获取如何焊接定制电缆的指南。

TIP

在可能的情况下,我们强烈建议您制作或购买一块适配器板,而不是定制电缆来连接 SWD/JTAG 调试器和计算机。这样可以降低接线不良导致调试问题的风险,而且适配器通常会提供一个通用接口,用于连接多个常用的飞行控制器板。