Порт відладки SWD
PX4 працює на мікроконтролерах ARM Cortex-M, які містять спеціалізований апаратний засіб для інтерактивного налагодження через інтерфейс Serial Wire Debug (SWD) та неінвазивного профілювання та трасування високої пропускної здатності через інтерфейси Serial Wire Ouput (SWO) та TRACE pins.
Інтерфейс відладки SWD дозволяє прямий, низькорівневий, апаратний доступ до процесора мікроконтролера та периферійних пристроїв, тому він не залежить від будь-якого програмного забезпечення на пристрої. Отже, його можна використовувати для налагодження завантажувальних програм та операційних систем, таких як NuttX.
Налагодження сигналів
Чотири сигнали необхідні для відлагодження (в жирному шрифті), а решту лише рекомендується.
Назва | Тип | Опис |
---|---|---|
GND | Живлення | Спільний потенціал, спільна основа. |
VREF | Живлення | Цільове довідкове напруга дозволяє засоби налагодження використовувати рівнеміри на сигнали. |
SWDIO | Вхід/вихід | Пін даних для послідовного знавантаження через мережу. |
SWCLK | Вхід | Пін годинника для послідовного знавантаження через мережу. |
nRST | Вхід | PIN скидання є необов’язковим (n = активним низьким). |
SWO | Вивід | Однопровідний шлейф асинхронних даних з можливістю виведення даних ITM та DWT. |
TRACECK | Вивід | Трасування годинника для паралельної шини. |
TRACED[0-3] | Вивід | Трасування синхронної шини даних з 1, 2 чи 4 бітами. |
Пін скидання апаратного забезпечення є необов'язковим, оскільки більшість пристроїв також можуть бути скинуті через лінії 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 | Паяльні майданчики |
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) (вертикальний монтаж), SM06B-GHS-TBT(LF)(SN)(N) (бічний монтаж) |
CUAV V5nano | 6-pin JST GH Digikey: BM06B-GHS-TBT(LF)(SN)(N) (вертикальний монтаж), SM06B-GHS-TBT(LF)(SN)(N) (бічний монтаж) |
3DR Pixhawk | Роз'єм JTAG ARM на 10 контактів (також використовується для плат FMUv2, включаючи: mRo Pixhawk, HobbyKing HKPilot32). |
Стандарт роз'ємів Pixhawk Debug Портів
Проект Pixhawk визначив стандартну схему виводів та тип роз'єму для різних випусків Pixhawk FMU:
TIP
Перевірте свою конкретну дошку, щоб підтвердити використаний порт.
Версія FMU | Версія Pixhawk | Відладочний порт |
---|---|---|
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 |
Визначення порту налагодження містить наступні припояні пластины (на платі поряд із роз'ємом):
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 відлагоджувачів та комп'ютерів. Це зменшує ризик неправильного підключення проводів, що призводить до проблем з налагодженням, і має перевагу в тому, що адаптери зазвичай надають спільний інтерфейс для підключення до кількох популярних плат керування польотом.