Порт відладки SWD
PX4 працює на мікроконтролерах ARM Cortex-M, які містять спеціалізований апаратний засіб для інтерактивного налагодження через інтерфейс Serial Wire Debug (SWD) та неінвазивного профілювання та трасування високої пропускної здатності через інтерфейси Serial Wire Ouput (SWO) та TRACE pins.
Інтерфейс відладки SWD дозволяє прямий, низькорівневий, апаратний доступ до процесора мікроконтролера та периферійних пристроїв, тому він не залежить від будь-якого програмного забезпечення на пристрої. Отже, його можна використовувати для налагодження завантажувальних програм та операційних систем, таких як NuttX.
Налагодження сигналів
Чотири сигнали необхідні для відлагодження (в жирному шрифті), а решту лише рекомендується.
Назва | Тип | Опис |
---|---|---|
GND | Power | Shared potential, common ground. |
VREF | Power | The target reference voltage allows the debug probe to use level shifters on the signals. |
SWDIO | I/O | Serial Wire Debug data pin. |
SWCLK | Input | Serial Wire Debug clock pin. |
nRST | Input | The reset pin is optional (n = active low). |
SWO | Output | Single wire trace asynchronous data out can output ITM and DWT data. |
TRACECK | Output | Trace clock for parallel bus. |
TRACED[0-3] | Output | Trace 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 Durandal | Pixhawk Debug Mini |
Holybro Kakute F7 | Solder 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 V5nano | 6-pin JST GH Digikey: BM06B-GHS-TBT(LF)(SN)(N) (vertical mount), SM06B-GHS-TBT(LF)(SN)(N) (side mount) |
3DR Pixhawk | ARM 10-pin JTAG Connector (also used for FMUv2 boards including: mRo Pixhawk, HobbyKing HKPilot32). |
Pixhawk Connector Standard Debug Ports
Проект Pixhawk визначив стандартну схему виводів та тип роз'єму для різних випусків Pixhawk FMU:
TIP
Перевірте свою конкретну дошку, щоб підтвердити використаний порт.
FMU Version | Pixhawk Version | Debug Port |
---|---|---|
FMUv2 | Pixhawk / Pixhawk 1 | 10 pin ARM Debug |
FMUv3 | Pixhawk 2 | 6 pin SUR Debug |
FMUv4 | Pixhawk 3 | Pixhawk Debug Mini |
FMUv5 | Pixhawk 4 FMUv5 | Pixhawk Debug Mini |
FMUv5X | Pixhawk 5X | Pixhawk Debug Full |
FMUv6 | Pixhawk 6 | Pixhawk Debug Full |
FMUv6X | Pixhawk 6X | Pixhawk Debug Full |
FMUv6X-RT | Pixhawk 6X-RT | Pixhawk Debug Full |
INFO
Єдині FMU та версії Pixhawk (тільки) сумісні після FMUv5X.
Pixhawk Debug Mini
Стандарт роз'ємів Pixhawk визначає Pixhawk Debug Mini, 6-контактний роз'єм SH Debug Port, який надає доступ до обох контактів SWD та System Console.
Це використовується в FMUv4 та FMUv5.
Схема виводів показана нижче (виводи, необхідні для налагодження, виділені жирним шрифтом):
Пін | Сигнал |
---|---|
1 | VREF |
2 | Console TX |
3 | Console RX |
4 | SWDIO |
5 | SWDCLK |
6 | GND |
The debug port definition includes the following solder pads (on board next to connector):
Pad | Signal | Voltage |
---|---|---|
1 | nRST | +3.3V |
2 | GPIO1 | +3.3V |
3 | GPIO2 | +3.3V |
Роз'єм - 6-pin JST SH - номер Digikey: BM06B-SRSS-TBT(LF)(SN) (вертикальний монтаж), SM06B-SRSS-TBT(LF)(SN) (бічний монтаж).
Ви можете підключитися до порту налагодження за допомогою кабелю, подібного до цього.
Порти відладки Pixhawk Full
Стандарт роз'ємів Pixhawk визначає Pixhawk Debug Full, 10-контактний роз'єм SH Debug Port, який надає доступ до обох контактів SWD та System Console. Це в основному переміщує паяльні подушки з боку Pixhawk Debug Mini в роз'єм, а також додає контакт SWO.
Цей порт вказаний для використання в FMUv5x, FMUv6, FMUv6x.
Схема виводів показана нижче (виводи, необхідні для налагодження, виділені жирним шрифтом):
Пін | Сигнал |
---|---|
1 | VREF |
2 | Console TX |
3 | Console RX |
4 | SWDIO |
5 | SWDCLK |
6 | SWO |
7 | GPIO1 |
8 | GPIO2 |
9 | nRST |
10 | GND |
Піни GPIO1/2 є вільними пінами, які можуть бути використані для генерації сигналів у програмному забезпеченні для аналізу часу з логічним аналізатором.
Роз'єм - 10-pin JST SH - номер Digikey: BM10B-SRSS-TB(LF)(SN) (вертикальний монтаж) або SM10B-SRSS-TB(LF)(SN) (бічний монтаж).
Ви можете підключитися до порту налагодження за допомогою кабелю, подібного до цього.
Зонди налагодження для апаратного забезпечення PX4
Контролери польоту зазвичай надають один засіб налагодження, який використовує як інтерфейс SWD, так і Системну консоль.
Є кілька зондів відлагодження, які були перевірені та підтримуються для підключення до одного або обох цих інтерфейсів:
- SEGGER J-Link: комерційний зонд, без вбудованої послідовної консолі, потребує адаптера.
- Чорна магія зондування: інтегрований сервер GDB та послідовна консоль, потребує адаптер.
- STLink: найкраща вартість, інтегрована послідовна консоль, адаптер повинен бути паяним.
- MCU-Link: найкраща вартість, інтегрована послідовна консоль, потребує адаптер.
Адаптер для підключення до роз'єму відладки може поставлятися разом із вашим контролером польоту або відлагоджувальним зондом. Інші варіанти наведено нижче.
Адаптери для відлагоджування
Адаптер відлагодження Holybro Pixhawk
Адаптер для відлагодження Holybro Pixhawk високо рекомендований при відлагодженні контролерів, які використовують один із стандартних роз'ємів для відлагодження Pixhawk.
Це найлегший спосіб підключення:
- Контролери польоту, які використовують або Повний відлагоджувальний порт Pixhawk (10-контактний SH), або Міні відлагоджувальний порт Pixhawk (6-контактний SH).
- SWD відлагоджувальні зонди, які підтримують стандартний інтерфейс ARM з 10-контактною підтримкою, що використовується Segger JLink EDU mini або 20-контактний, сумісний з Segger JLink або STLink.
Адаптер відлагодження 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, постачається з адаптером.
Адаптери для відлагоджування
Деякі SWD програмні зонди поставляються з адаптерами / кабелями для підключення до загальних портів відладки Pixhawk портів відладки. Зонди, про які відомо, що поставляються з роз'ємами, перераховані нижче:
- Датчик DroneCode: поставляється з кабелем з'єднувача для підключення до Pixhawk Debug Mini
Адаптери, специфічні для плати
Деякі виробники надають кабелі для зручного підключення інтерфейсу SWD та Консолі системи.
- CUAV V5nano та CUAV V5+ включають у себе цей кабель для налагодження:
Користувацькі кабелі
Ви також можете створити власні кабелі для підключення до різних плат або зондів:
- Підключіть піни
SWDIO
,SWCLK
таGND
на зонді для налагодження до відповідних пінів на порту для налагодження. - Підключіть контакт VREF, якщо його підтримує засіб відлагодження.
- Підключіть залишкові контакти, якщо вони є.
Дивіться STLinkv3-MINIE для керівництва з тим, як припаяти власний кабель.
TIP
Де це можливо, ми настійно рекомендуємо створювати або отримувати адаптерну плату, аніж користуватися власноруч виготовленими кабелями для підключення до SWD/JTAG відлагоджувачів та комп'ютерів. Це зменшує ризик неправильного підключення проводів, що призводить до проблем з налагодженням, і має перевагу в тому, що адаптери зазвичай надають спільний інтерфейс для підключення до кількох популярних плат керування польотом.