esp32 Debugging mit OpenOCD und GDB

esp32-debugging-mit-openocd-und-gdb https://www.youtube.com/watch?v=a4xSwu3OQ8w

ESP32(S3) Debuggen Link to heading

Linux Workaround PlatformIO und Debuggen: Link to heading

Bei diversen Linux Distributionen kann es vorkommen, dass beim Debuggen Dialog ein Fehler kommt, dass eine Python2 Bibliothek nicht gefunden wird. Dafür gibt es einen Workaround

mkdir ~/esp
cd ~/esp
git clone -b v5.2.2 --recursive https://github.com/espressif/esp-idf.git
cd ~/esp/esp-idf
./install.sh esp32s3
 ~/.platformio/packages/toolchain-xtensa-esp32s3/bin
mv xtensa-esp32s3-elf-gdb xtensa-esp32s3-elf-gdb.orig
cp ~/.espressif/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/bin/xtensa-esp32s3-elf-gdb xtensa-esp32s3-elf-gdb
cp ~/.espressif/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/bin/xtensa-esp-elf-gdb-no-python .
cp ~/.espressif/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/lib/xtensa_esp32s3.so ../lib

Für ESP32 ist es ähnlich, ansatt esp32s3 ladet man sich die esp32 toolchain und verschiebt dementsprechend auch die esp32 anstatt esp32s3 xtensa files.

Quelle: THX arduhe https://community.platformio.org/t/debug-aborts-with-python-error/41139/3

ESP32 mit ESP-Prog Link to heading

Windows Nutzer benötigen Zadiq damit ESP-Prog richtig erkannt wird

SeeedStudio ESP32S3 Link to heading

Das Debuggen funktioniert direkt via USB-C. Einstellungen wie beim Beispiel oben.


OpenOCD und GDB Link to heading

OpenOCD: Es stellt die Verbindung zwischen deinem Computer und dem ESP32 her. OpenOCD kommuniziert über den JTAG-Debug-Port des ESP32 und ermöglicht so das Steuern und Überwachen des Programmlaufs auf dem Mikrocontroller.

GDB: Der GNU Debugger (GDB) wird verwendet, um den Code auf dem ESP32 tatsächlich zu debuggen. Über GDB kannst du Breakpoints setzen, den Code schrittweise ausführen und Variableninhalte prüfen.

Allgemeine Infos Link to heading

Meine Commands vom Video

  • OpenOCD via Paketmanager installieren.
  • openocd -f /home/pixeledi/.espressif/tools/openocd-esp32/v0.12.0-esp32-20240821/openocd-esp32/share/openocd/scripts/board/esp32-wrover-kit-3.3v.cfg

In einem zweiten Terminal

  • GDB im Espressif Ordner: /home/pixeledi/.espressif/tools/xtensa-esp-elf-gdb/14.2_20240403/xtensa-esp-elf-gdb/bin
  • ./xtensa-esp32-elf-gdb
  • target extended-remote localhost:3333
  • file /home/pixeledi/Downloads/esp32_debugging/.pio/build/esp32dev/firmware.elf

GDB Commands

  • watch cnt
  • watchpoints
  • delete
  • print cnt
  • display cnt
  • info watchpoints
  • Alle Links mit “*” sind Amazon/Aliexpress Affiliate Links. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen.

Tip
Entdecke spannende Online-Kurse zu ESP32, IoT und Linux auf meiner Lernplattform: https://pixeledi.teachable.com.