Skip to content

Налагодження з GDB

Налагоджувач GNU (GDB) інстальовано разом з інструментарієм компілятора у вигляді бінарного файлу arm-none-eabi-gdb. Налагоджувач читає символи відладки у файлі формату виконання ELF щоб зрозуміти статичну та динамічну структуру пам'яті прошивки PX4. Для доступу до мікроконтролера автопілота PX4, йому потрібно з'єднатися з віддаленою ціллю, яка надається зондом налагодження за протоколом SWD.

Плин інформації виглядає таким чином:

sh
Розробник <=> GDB <=> сервер GDB <=> зонд налагодження <=> SWD <=> автопілот PX4.

Швидкий старт

Для початку сеансу налагодження вам зазвичай потрібно:

  1. Спеціалізований зонд налагодження за протоколом SWD.
  2. Знайти та під'єднатися до порту налагодження SWD. Можливо знадобиться адаптер налагодження.
  3. Налаштувати та запустити зонд налагодження для створення сервера GDB.
  4. Запустити GDB та під'єднатись до сервера GDB як віддаленої цілі.
  5. Налагоджувати прошивку інтерактивно.

Дивіться документацію зонда налагодження для додаткової інформації як налаштувати з'єднання для налагодження:

  • 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 в реальному часі.