Skip to content

Порт відладки SWD

PX4 працює на мікроконтролерах ARM Cortex-M, які містять спеціалізований апаратний засіб для інтерактивного налагодження через інтерфейс Serial Wire Debug (SWD) та неінвазивного профілювання та трасування високої пропускної здатності через інтерфейси Serial Wire Ouput (SWO) та TRACE pins.

Інтерфейс відладки SWD дозволяє прямий, низькорівневий, апаратний доступ до процесора мікроконтролера та периферійних пристроїв, тому він не залежить від будь-якого програмного забезпечення на пристрої. Отже, його можна використовувати для налагодження завантажувальних програм та операційних систем, таких як NuttX.

Налагодження сигналів

Чотири сигнали необхідні для відлагодження (в жирному шрифті), а решту лише рекомендується.

НазваТипОпис
GNDPowerShared potential, common ground.
VREFPowerThe target reference voltage allows the debug probe to use level shifters on the signals.
SWDIOI/OSerial Wire Debug data pin.
SWCLKInputSerial Wire Debug clock pin.
nRSTInputThe reset pin is optional (n = active low).
SWOOutputSingle wire trace asynchronous data out can output ITM and DWT data.
TRACECKOutputTrace clock for parallel bus.
TRACED[0-3]OutputTrace synchronous data bus with 1, 2, or 4 bits.

Пін скидання апаратного забезпечення є необов'язковим, оскільки більшість пристроїв також можуть бути скинуті через лінії SWD. Однак швидке скидання пристрою за допомогою кнопки може бути великим плюсом для розробки.

SWO-пін може випромінювати дані профілювання в реальному часі з наносекундним відмітками часу, тому настійно рекомендується мати доступ до нього для відлагодження.

Піни TRACE потребують спеціалізованих засобів відлагодження для роботи з високою пропускною здатністю та наступним декодуванням потоку даних. Зазвичай вони недоступні і зазвичай використовуються лише для відлагодження дуже конкретних питань з часом.

Порти налагодження автопілота

Контролери польоту зазвичай надають один засіб налагодження, який використовує як інтерфейс SWD, так і Системну консоль.

Стандарти роз'ємів Pixhawk визначають порт, який повинен бути використаний в кожній версії FMU. Однак є ще багато плат, які використовують різні роз'єми або конектори, тому ми рекомендуємо вам перевірити документацію для вашого автопілота, щоб підтвердити розташування порту та роз'єму.

Місцезнаходження порту налагодження та роз'єми для підмножини автопілотів зв'язані нижче:

АвтопілотВідладочний порт
Holybro Pixhawk 6X-RT (FMUv6X-RT)Порти відладки Pixhawk Full
Holybro Pixhawk 6X (FMUv6x)Порти відладки Pixhawk Full
Holybro Pixhawk 5X (FMUv5x)Порти відладки Pixhawk Full
Holybro DurandalPixhawk Debug Mini
Holybro Kakute F7Solder pads
Holybro Pixhawk 4 Mini (FMUv5)Pixhawk Debug Mini
Holybro Pixhawk 4 (FMUv5)Pixhawk Debug Mini
Drotek Pixhawk 3 Pro (FMU-v4pro)Pixhawk Debug Mini
CUAV V5+6-pin JST GH
Digikey: BM06B-GHS-TBT(LF)(SN)(N) (vertical mount), SM06B-GHS-TBT(LF)(SN)(N) (side mount)
CUAV V5nano6-pin JST GH
Digikey: BM06B-GHS-TBT(LF)(SN)(N) (vertical mount), SM06B-GHS-TBT(LF)(SN)(N) (side mount)
3DR PixhawkARM 10-pin JTAG Connector (also used for FMUv2 boards including: mRo Pixhawk, HobbyKing HKPilot32).

Pixhawk Connector Standard Debug Ports

Проект Pixhawk визначив стандартну схему виводів та тип роз'єму для різних випусків Pixhawk FMU:

TIP

Перевірте свою конкретну дошку, щоб підтвердити використаний порт.

FMU VersionPixhawk VersionDebug Port
FMUv2Pixhawk / Pixhawk 110 pin ARM Debug
FMUv3Pixhawk 26 pin SUR Debug
FMUv4Pixhawk 3Pixhawk Debug Mini
FMUv5Pixhawk 4 FMUv5Pixhawk Debug Mini
FMUv5XPixhawk 5XPixhawk Debug Full
FMUv6Pixhawk 6Pixhawk Debug Full
FMUv6XPixhawk 6XPixhawk Debug Full
FMUv6X-RTPixhawk 6X-RTPixhawk Debug Full

INFO

Єдині FMU та версії Pixhawk (тільки) сумісні після FMUv5X.

Pixhawk Debug Mini

Стандарт роз'ємів Pixhawk визначає Pixhawk Debug Mini, 6-контактний роз'єм SH Debug Port, який надає доступ до обох контактів SWD та System Console.

Це використовується в FMUv4 та FMUv5.

Схема виводів показана нижче (виводи, необхідні для налагодження, виділені жирним шрифтом):

ПінСигнал
1VREF
2Console TX
3Console RX
4SWDIO
5SWDCLK
6GND

The debug port definition includes the following solder pads (on board next to connector):

PadSignalVoltage
1nRST+3.3V
2GPIO1+3.3V
3GPIO2+3.3V

Роз'єм - 6-pin JST SH - номер Digikey: BM06B-SRSS-TBT(LF)(SN) (вертикальний монтаж), SM06B-SRSS-TBT(LF)(SN) (бічний монтаж).

Ви можете підключитися до порту налагодження за допомогою кабелю, подібного до цього.

6-pin JST SH Cable

Порти відладки Pixhawk Full

Стандарт роз'ємів Pixhawk визначає Pixhawk Debug Full, 10-контактний роз'єм SH Debug Port, який надає доступ до обох контактів SWD та System Console. Це в основному переміщує паяльні подушки з боку Pixhawk Debug Mini в роз'єм, а також додає контакт SWO.

Цей порт вказаний для використання в FMUv5x, FMUv6, FMUv6x.

Схема виводів показана нижче (виводи, необхідні для налагодження, виділені жирним шрифтом):

ПінСигнал
1VREF
2Console TX
3Console RX
4SWDIO
5SWDCLK
6SWO
7GPIO1
8GPIO2
9nRST
10GND

Піни GPIO1/2 є вільними пінами, які можуть бути використані для генерації сигналів у програмному забезпеченні для аналізу часу з логічним аналізатором.

Роз'єм - 10-pin JST SH - номер Digikey: BM10B-SRSS-TB(LF)(SN) (вертикальний монтаж) або SM10B-SRSS-TB(LF)(SN) (бічний монтаж).

Ви можете підключитися до порту налагодження за допомогою кабелю, подібного до цього.

10-pin JST SH Cable

Зонди налагодження для апаратного забезпечення PX4

Контролери польоту зазвичай надають один засіб налагодження, який використовує як інтерфейс SWD, так і Системну консоль.

Є кілька зондів відлагодження, які були перевірені та підтримуються для підключення до одного або обох цих інтерфейсів:

  • SEGGER J-Link: комерційний зонд, без вбудованої послідовної консолі, потребує адаптера.
  • Чорна магія зондування: інтегрований сервер GDB та послідовна консоль, потребує адаптер.
  • STLink: найкраща вартість, інтегрована послідовна консоль, адаптер повинен бути паяним.
  • MCU-Link: найкраща вартість, інтегрована послідовна консоль, потребує адаптер.

Адаптер для підключення до роз'єму відладки може поставлятися разом із вашим контролером польоту або відлагоджувальним зондом. Інші варіанти наведено нижче.

Адаптери для відлагоджування

Адаптер відлагодження Holybro Pixhawk

Адаптер для відлагодження Holybro Pixhawk високо рекомендований при відлагодженні контролерів, які використовують один із стандартних роз'ємів для відлагодження Pixhawk.

Це найлегший спосіб підключення:

Holybro Pixhawk Debug Adapter

Адаптер відлагодження CUAV C-ADB Pixhawk

CUAV C-ADB Додатковий Адаптер Відлагодження Політного Контролера Pixhawk поставляється з STLinkv3-MINIE Відлагоджувальною Сондою.

Це має порти для підключення до Pixhawk Debug Full (10-контактний SH) та стандартного інтерфейсу CUAV DSU (але не для Pixhawk Debug Mini (6-контактний SH)).

Роз'єм M2 на перехіднику має 14 контактів CN4 STDC14 (див. Посібник користувача STLinkv3-MINIE для отримання додаткової інформації). Кабель, який використовується для підключення M2 та STLinkv3-MINIE, постачається з адаптером.

CUAV C-ADB adaptor connected to the STLinkv3-MINIE

Адаптери для відлагоджування

Деякі SWD програмні зонди поставляються з адаптерами / кабелями для підключення до загальних портів відладки Pixhawk портів відладки. Зонди, про які відомо, що поставляються з роз'ємами, перераховані нижче:

Адаптери, специфічні для плати

Деякі виробники надають кабелі для зручного підключення інтерфейсу SWD та Консолі системи.

  • CUAV V5nano та CUAV V5+ включають у себе цей кабель для налагодження:

6-pin JST SH Cable

Користувацькі кабелі

Ви також можете створити власні кабелі для підключення до різних плат або зондів:

  • Підключіть піни SWDIO, SWCLK та GND на зонді для налагодження до відповідних пінів на порту для налагодження.
  • Підключіть контакт VREF, якщо його підтримує засіб відлагодження.
  • Підключіть залишкові контакти, якщо вони є.

Дивіться STLinkv3-MINIE для керівництва з тим, як припаяти власний кабель.

TIP

Де це можливо, ми настійно рекомендуємо створювати або отримувати адаптерну плату, аніж користуватися власноруч виготовленими кабелями для підключення до SWD/JTAG відлагоджувачів та комп'ютерів. Це зменшує ризик неправильного підключення проводів, що призводить до проблем з налагодженням, і має перевагу в тому, що адаптери зазвичай надають спільний інтерфейс для підключення до кількох популярних плат керування польотом.