Налагодження з 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 в реальному часі.