Налагодження з GDB
Налагоджувач GNU (GDB) інстальовано разом з інструментарієм компілятора у вигляді бінарного файлу arm-none-eabi-gdb
. Налагоджувач читає символи відладки у файлі формату виконання ELF щоб зрозуміти статичну та динамічну структуру пам'яті прошивки PX4. Для доступу до мікроконтролера автопілота PX4, йому потрібно з'єднатися з віддаленою ціллю, яка надається зондом налагодження за протоколом SWD.
Плин інформації виглядає таким чином:
sh
Розробник <=> GDB <=> сервер GDB <=> зонд налагодження <=> SWD <=> автопілот PX4.
Швидкий старт
Для початку сеансу налагодження вам зазвичай потрібно:
- Спеціалізований зонд налагодження за протоколом SWD.
- Знайти та під'єднатися до порту налагодження SWD. Можливо знадобиться адаптер налагодження.
- Налаштувати та запустити зонд налагодження для створення сервера GDB.
- Запустити GDB та під'єднатись до сервера GDB як віддаленої цілі.
- Налагоджувати прошивку інтерактивно.
Дивіться документацію зонда налагодження для додаткової інформації як налаштувати з'єднання для налагодження:
- SEGGER J-Link: комерційний зонд, без вбудованої послідовної консолі, потребує адаптер.
- Зонд Black Magic: інтегрований сервер GDB та послідовна консоль, потребує адаптер.
- STLink: найкраще співвідношення ціни та якості, вбудована послідовна консоль, адаптер потрібно паяти.
Рекомендуємо використовувати J-Link з адаптером налагодження Pixhawk або STLinkv3-MINIE зі спеціально спаяним кабелем.
Після підключення ви можете використовувати звичайні команди GDB, такі як:
continue
для продовження виконання програмиrun
для того, щоб почати спочаткуbacktrace
для перегляду траси стекуbreak somewhere.cpp:123
для встановлення точки зупинуdelete somewhere.cpp:123
для видалення точки зупинуinfo locals
для отримання локальних зміннихinfo registers
для отримання регістрів
Зверніться до документації GDB для отримання додаткових відомостей.
TIP
Щоб уникнути необхідності вводити всі команди для підключення в GDB кожен раз, ви можете записати їх у файл ~/.gdbinit
.
Наступні кроки
Ви під'єднали контролер польоту до налагоджувального зонда SWD!
Наступні розділи пояснюють, як розпочати налагодження на цільовій платформі:
Вбудовані інструменти налагодження
Вбудовані інструменти налагодження поєднують декілька програмних та апаратних інструментів налагодження разом у зручному пакеті Python щоб полегшити складні випадки налагодження для мікроконтролерів ARM Cortex-M та пов'язаних пристроїв.
Ця бібліотека організовує запуск та налаштування апаратних зондів налагодження та зондів трасування, налагоджувачів, логічних аналізаторів, генераторів сигналу та надає інструменти аналізу, перетворювачі та плагіни для отримання суттєвого розуміння стану програмного та апаратного забезпечення під час або після виконання.
Бібліотека emdbg
містить багато корисних плагінів GDB що спрощують налагодження PX4. Вона також надає інструменти для профілювання PX4 в реальному часі.