Files
PX4-Autopilot/docs/uk/debug/eclipse_jlink.md
PX4 Build Bot 30b6938f5e New Crowdin translations - uk (#26552)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-03-05 14:01:38 +11:00

8.1 KiB
Raw Blame History

Налагодження з Eclipse та J-Link

This topic explains how to setup and use MCU Eclipse with a Segger Jlink adapter to debug PX4 running on NuttX (e.g. Pixhawk series boards).

Необхідне обладнання

Встановлення

PX4

Налаштуйте PX4, дотримуючись звичайних вказівок:

Eclipse

To install Eclipse:

  1. Download Eclipse CDT for C/C++ Developers (MCU GitHub).
  2. Розпакуйте папку Eclipse та скопіюйте її куди завгодно (немає потреби запускати будь-які сценарії установки).
  3. Run Eclipse and choose a location for your initial workbench.

To install the Segger Jlink tools:

  1. Download and run the J-Link Software and Documentation Pack for your OS (Windows and Linux packages available).
    • On Linux the tools are installed in /usr/bin.

For more information, see: https://gnu-mcu-eclipse.github.io/debug/jlink/install/.

Перше використання

  1. Connect the Segger JLink to the host computer and the flight controller debug port (via an adapter).

  2. Увімкніть модульний політний контролер.

  3. Run Eclipse.

  4. Add a source by choosing File > Import > C/C++ > Existing Code as Makefile Project and click Next.

  5. Point it to the PX4-Autopilot folder and give it a name, then select ARM Cross GCC in the Toolchain for Indexer Settings and click Finish. Імпорт триває деякий час. Дочекайтеся його завершення.

  6. Set the MCU settings: right-click on the top-level project in the Project Explorer, select Properties then under MCU choose SEGGER J-Link Path. Встановіть його, як показано на знімку екрану нижче. Eclipse: Segger J-Link Path

  7. Пакети з оновленнями:

    • Click the small icon on the top right called Open Perspective and open the Packs perspective. Eclipse: Workspace

    • Click the update all button.

      :::tip This takes a VERY LONG TIME (10 minutes). Ігноруйте всі помилки про відсутні пакети.

:::

 ![Eclipse: Workspace Packs Perspective](../../assets/debug/eclipse_packs_perspective.jpg)
  • The STM32Fxx devices are found in the Keil folder, install by right-clicking and then selecting install on the according device for F4 and F7.
  1. Налаштування конфігурації налагодження для цілі:

    • Right click project and open the Settings (menu: C/C++ Build > Settings)
    • Choose the Devices Tab, Devices section (Not Boards).
    • Знайдіть FMU чіп, який ви хочете налагодити.

    Eclipse: Select FMU in settings

  2. Select debug configurations with the small drop-down next to the bug symbol: Eclipse: Debug config

  3. Then select GDB SEGGER J-Link Debugging and then the New config button on the top left. Eclipse: GDB Segger Debug config

  4. Налаштування конфігурації збірки:

    • Give it a name and set the C/C++ Application to the corresponding .elf file.

    • Choose Disable Auto build

      ::: info Remember that you must build the target from the command line before starting a debug session.

:::

![Eclipse: GDB Segger Debug config](../../assets/debug/eclipse_settings_debug_config_gdb_segger_build_config.png)
  1. The Debugger and Startup tabs shouldnt need any modifications (just verify your settings with the screenshots below)

    Eclipse: GDB Segger Debug config: debugger tab Eclipse: GDB Segger Debug config: startup tab

Відлагодження з урахуванням завдань SEGGER

Task-aware debugging (also known as thread-aware debugging) allows you to show the context of all running threads/tasks instead of just the stack current task. Це досить корисно, оскільки PX4 має тенденцію запускати виконання багато різних завдань.

Для активації цієї функції в Eclipse:

  1. You first need to enable CONFIG_DEBUG_TCBINFO in the NuttX configuration for your build (to expose the TCB offsets).

    • Відкрийте термінал у кореневій теці вихідного коду PX4-Autopilot

    • In the terminal, open menuconfig using the appropriate make target for the build. Це виглядатиме приблизно так:

      make px4_fmu-v5_default boardguiconfig
      

      (See PX4 Menuconfig Setup for more information) on using the config tools).

    • Ensure that the Enable TCBinfo struct for debug is selected as shown: NuttX: Menuconfig: CONFIG_DEBUG_TCBINFO

  2. Compile the jlink-nuttx.so library in the terminal by running the following command in the terminal: make jlink-nuttx

  3. Modify Eclipse to use this library. In the J-Link GDB Server Setup configuration, update Other options to include -rtos /home/<PX4 path>/Tools/jlink-nuttx.so, as shown in the image below.

    Eclipse: GDB Segger Debug config RTOS aware: debugger tab

  4. Під час запуску налагоджувача ви повинні побачити зараз декілька потоків замість одного:

    Eclipse: GDB Segger Debug config RTOS aware: debug session

Усунення проблем

Цільовий процесор відсутній в Package Manager

Якщо цільовий ЦП не відображається в package manager, вам може знадобитися ці крок для запуску відображення реєстру.

:::tip This should not generally happen (but anecdotally has been reported when connecting to an STM F7 controller). :::

Adding missing SVD files for the Peripheral View:

  1. Find out where MCU Eclipse stores its packages (Preferences > C/C++ > MCU Packages):

    Eclipse: MCU Packages

  2. Download missing packages from: https://www.keil.arm.com/devices/

  3. Open downloaded pack with a decompression tool, and extract the .SVD files from: /CMSIS/SVD.

  4. Select desired .SVD file in: Debug Options > GDB SEGGER JLink Debugging > SVD Path

    Eclipse: SVD File path