Debuggen mit dem ESP32-C3

Bevor mit dem Debuggen begonnen werden kann, muss das ESP-IDF installiert werden. Die Vorgehensweise ist detailliert auf der Espressif-Webseite beschrieben. Für die Beispiele des Buchs wurde die Version 4.4 verwendet. Auf der Webseite links oben kann die gewünschte Version eingestellt werden. Eine neuere Version sollte funktionieren, von einer älteren ist abzuraten.

Wie in Kapitel 2.2 beschrieben, besitzt das ESP32-C3-DevKitM-1 (beziehungsweise sogar der Mikrocontroller ESP32-C3) ein JTAG-Debuginterface über USB. Allerdings ist der USB-Anschluss, der sich auf dem Board befindet, nur für die serielle Datenübertragung geeignet. Es lässt sich über USB damit eine Applikation über den Bootloader in den Flash speichern und die printf()-Programmausgaben in ein Terminalfenster übertragen, aber nicht debuggen.

Um das Debuggen zu ermöglichen, muss ein zweites USB-Kabel angebracht werden. Ein solches Kabel erfordert etwas Lötarbeit. Organisieren Sie ein altes USB-Kabel, dessen Länge unwichtig ist. Schneiden Sie das Kabel ab und löten Sie Stifte an. Für unsere Zwecke genügt es, die grüne und die weiße Litze mit einem Stift auszustatten. Für Lötfaule gibt es auch die Möglichkeit, ein USB-Kabel mit Pfostenstecker oder Pfostenbuchse im Elektronikhandel zu kaufen. Die folgende Galerie zeigt die Herstellung eines JTAG-Kabels. Die rote (Versorgungsspannung) und die schwarze (Ground) Litze wurden isoliert und nicht verwendet.

Das Kabel muss nun an die Pins 18 (weiße Ader) und 19 (grüne Ader), auf denen such USB-JTAG befindet, angeschlossen werden. Es wird gleichzeitig das „normale“ USB-Kabel angesteckt Dies dient einerseits der seriellen Datenübertragung und andererseits der Stromversorgung.

Nachdem die Verkabelung angebracht ist kann mit dem Debuggen begonnen werden. Derzeit wird Eclipse für das Debugging besser unterstützt, weshalb diese Anleitung sich auch auf dieses IDE stützt. Legen sie ein Projekt an, wie in Ein erstes Projekt erstellen beschrieben. Hier wird das Demobeispiel „blink“ verwendet. Zum Test führen Sie einen Build durch und spielen Sie die Applikation auf. Die Applikation wird automatisch ausgeführt, und die LED blinkt nun im Sekundentakt.

Um den Debugger zu starten muss eine neue Konfiguration angelegt werden. Dazu wird die Konfigurationsliste in Eclipse aufgeklappt und „New Launch Configuration…“ ausgewählt:

Im anschließenden Dialog wird der „Launch Mode“ „Debug“ und der „Launch Configuration Type“ „ESP-IDF GDB OpenOCD Debugging“ ausgewählt:

Nach dem Drücken des „Next“-Buttons wird ein vorausgefüllter Dialog angezeigt. Wesentlich ist hier die korrekte Konfiguration des „Debugger“-Tabs. Der Name der Konfiguration wurde in dem folgenden Screenshot auf „blink Debug Configuration“ geändert:

Wichtig ist, die Auswahl des Board ESP32-C3 chip (via builtin USB-JTAG), da das interne JTAG-Interface des ESP32-C3 verwendet wird.

Nach Abschluss des Erstellens der Konfiguration kann diese ausgewählt und das Debugging gestartet werden:

Drücken auf den „Wanzen“-Button (zweiter Button von links) startet den Debugger und hält in der ersten Zeile in main() an. Nun kann die Applikation wie üblich auf dem Zielsystem debugged werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.