Настройка удаленной отладки GDB-server.

Материал из UniPort Wiki
Перейти к навигации Перейти к поиску

На примере OrangePi Lite, все необходимое в папке: \\ds\Common\Distrib\GDB

  1. Готовим загрузочную microSD (минимум 4Gb):
    1. Форматируем в FAT32 утилитой HPUSBFW.
    2. С помощью USBImager записываем на нее файл Armbian_community_24.8.0-trunk.6_Orangepilite_jammy_current_6.6.31_xfce_desktop.img.xz (утилита сам умеет на лету распаковывать архив).
    3. Грузимся в Linux, настраиваем пароли, WiF, прочее.
    4. Ставим пакет JLink_Linux_V796i_arm.deb
  2. Прошивка из ST-Link в JLink:
    1. В Windows утилитой STLinkReflash можно перепрошить st-link в jlink, у меня сработала версия 161007 именно STLinkReflash.exe (хотя пишут что нужна STLinkReflashFixed.exe, тоже есть в архиве).
    2. Проверяем в диспетчере устройств, что программатор определяется как jlink
    3. Теперь его можно втыкать в OrangePi.
  3. Запуск GDB сервера на OrangePi:
    1. Переходим в папку /opt/SEGGER/JLink_V796i
    2. Запускаем ./JLinkGDBServer -select usb=773154043 -if SWD -device stm32f446vc
      1. Где -select usb=<серийник jlink> - необязательно указывать (если только их несколько)
      2. -if SWD - интерфейс подключения Jlink к отлаживаемой плате
      3. -device stm32f446vc - микроконтроллер на отлаживаемой плате
  4. Отладка из CubeIDE:
    1. В Debug Configuration -> Debugger выбираем "SEGGER J-LINK", GDB Connection Settings -> Connect to remote GDB server, Host name or IP address: <IP адрес OrangePI>, Port number: 2331 (по умолчанию).
    2. Можно нажать кнопку Show Command Line Options