Skip to content

Відлагодження з GDB

The GNU DeBugger (GDB) comes installed with the compiler toolchain in the form of the arm-none-eabi-gdb binary. Налагоджувач читає символи відладки у файлі формату виконання ELF щоб зрозуміти статичну та динамічну структуру пам'яті прошивки PX4. To access the PX4 autopilot microcontroller, it needs to connect to a Remote Target, which is provided by a SWD debug probe.

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

sh
Developer <=> GDB <=> GDB Server <=> Debug Probe <=> SWD <=> PX4 Autopilot.

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

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

  1. Need a specialized SWD debug probe.
  2. Find and connect to the SWD debug port. You may need a debug adapter.
  3. Налаштувати та запустити зонд налагодження для створення сервера GDB.
  4. Запустити GDB та під'єднатись до сервера GDB як віддаленої цілі.
  5. Налагоджувати прошивку інтерактивно.

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

  • SEGGER J-Link: commercial probe, no built-in serial console, requires adapter.
  • Black Magic Probe: integrated GDB server and serial console, requires adapter.
  • STLink: best value, integrated serial console, adapter must be soldered.

Рекомендуємо використовувати J-Link з адаптером налагодження Pixhawk або STLinkv3-MINIE зі спеціально спаяним кабелем.

Після підключення ви можете використовувати звичайні команди GDB, такі як:

  • continue to continue program execution
  • run to start from the beginning
  • backtrace to see the backtrace
  • break somewhere.cpp:123 to set a breakpoint
  • delete somewhere.cpp:123 to remove it again
  • info locals to print local variables
  • info registers to print the registers

Consult the GDB documentation for more details.

TIP

To avoid having to type all commands to connect in GDB each time, you can write them into ~/.gdbinit.

Наступні кроки

Ви під'єднали контролер польоту до налагоджувального зонда SWD!

Наступні розділи пояснюють, як розпочати налагодження на цільовій платформі:

Вбудовані інструменти налагодження

The Embedded Debug Tools connect several software and hardware debugging tools together in a user friendly Python package to more easily enable advanced use cases for ARM Cortex-M microcontrollers and related devices.

Ця бібліотека організовує запуск та налаштування апаратних зондів налагодження та зондів трасування, налагоджувачів, логічних аналізаторів, генераторів сигналу та надає інструменти аналізу, перетворювачі та плагіни для отримання суттєвого розуміння стану програмного та апаратного забезпечення під час або після виконання.

The emdbg library contains many useful GDB plugins that make debugging PX4 easier. It also provides tools for profiling PX4 in real-time.