OpenOCD - это инструмент с открытым исходным кодом , который обеспечивает поддержку многих недорогих отладчиков JTAG / SWD, которые не поставляются с собственным программным обеспечением. Инструмент OpenOCD очень гибкий и мощный, однако в большинстве случаев он требует некоторой начальной настройки. VisualGDB упрощает начальную настройку, предоставляя пользовательский интерфейс с ярлыками для наиболее часто используемых функций.
VisualGDB может автоматически устанавливать следующие форки OpenOCD в зависимости от отлаживаемого устройства:
Форк OpenOCD | Оригинальная вилка | Рекомендуемые устройства |
OpenOCD-ST | https://github.com/STMicroelectronics/OpenOCD | Многоядерные устройства STM32H7 |
OpenOCD-RP2040 | https://github.com/raspberrypi/openocd/ | Raspberry Pi Pico (RP2040) |
OpenOCD-STM32MP | https://github.com/STMicroelectronics/device-stm-openocd | STM32MP1 |
OpenOCD-Kendryte | https://github.com/kendryte/openocd-kendryte | Kendryte K210 |
OpenOCD-ESP8266 | https://github.com/projectgus/openocd | ESP8266 |
OpenOCD-ESP32 | https://github.com/espressif/openocd-esp32 | ESP32 |
OpenOCD-Mainline | git: //git.code.sf.net/p/openocd/code | Все остальные устройства (включая обычный STM32) |
VisualGDB предоставляет удобный графический интерфейс для настройки OpenOCD и управления драйверами отладчика JTAG. В большинстве случаев вы можете просто выбрать интерфейс отладки и целевое устройство, и VisualGDB настроит OpenOCD автоматически:вы всегда можете настроить параметры OpenOCD, развернув представление «Дополнительные настройки» и отредактировав командную строку OpenOCD или используемые команды GDB. , чтобы начать сеанс отладки.
Основная линия OpenOCD надежно поддерживает большинство обычных устройств на базе ARM (включая устройства STM32). Однако в нем отсутствует поддержка отладки многоядерных устройств STM32H7 с помощью ST-Link, и для некоторых низкоуровневых функций используются несколько иные реализации.
Мы рекомендуем использовать основной OpenOCD для большинства конфигураций отладки, если вам не нужно одновременно отлаживать оба ядра многоядерного устройства.
Если вы планируете отладку нескольких ядер или испытываете проблемы с обычной веткой OpenOCD, рассмотрите возможность использования ST-вилки. Он основан на той же кодовой базе, что и версия, поставляемая с STM32CubeIDE, и должна вести себя так же.