auf meinem Tisch habe ich ein ESP32-S3-ZERO Board. Die S3 Varianten hat
internen einen Debugger. Diesen möchte ich in VSCode mit PlatformIO
nutzen. Leider ist dies mir noch nicht gelungen, dass ich debuggen kann.
@kirnbichler, unter "intern" versteht Espressif, dass der ESP32-S3 im Gegensatz zum ESP32 auch über den internen USB Anschluß debugged werden kann. Beim ESP32 ging das nur über die JTAG Pins mit einem passenden Adapter.
Für den ESP32 mit FT232HL Adapter hab ich unter vscode+platformio den Debugger zum laufen bekommen.
Den Esp32-S3 hab vor längerer Zeit auch mal ausprobiert, aber der Debugger wollte sich nicht verbinden, dann hatte ich das Projekt erst mal beiseite gelegt. Wäre halt schick gewesen ein Devboard per USB-Kabel direkt zu debuggen.
Laut Recherche müsste der ESP32C3 auch einen integrierten JTAG Debugger besitzen. Áuch mit dem ESP32C3 hab ich den internen Debugger bisher nicht erfolgreich zum Laufen bekommen.
irgendwie will das nicht so mit dem debuggen. Ich habe einen esp32c3, da soll nur der debugger in vscode + platformio laufen. Das mit dem esp32s3 sollte ja eigentlich auch mit dem internen debugger funktionieren. Tut es aber nicht.
Error: libusb_open() failed with LIBUSB_ERROR_ACCESS
Error: esp_usb_jtag: could not find or open device!
da ist nichts zerchoßen. Die Fehlermeldung ist doch eindeutig, es wird libusb verwendet und damit wird ein device mit vid:pid gesucht. Und die wird nicht gefunden.
Das ist doch ein Berechtigungsproblem.
Dieselbe Fehlermeldung kommt unter Linux, wenn der Benutzer nicht die nötigen Rechte hat.
Unter Linux passt man dann die udev-Regeln an.
Wie es unter Windows geht, weiss ich leider nicht.
Wenn in dessen Devicedescriptor eine eindeutige Seriennummer steht, ist das nicht weiter verwunderlich. Windows unterscheidet USB-Geräte mit identischer VID/PID anhand der Seriennummer und/oder anhand der Adresse im USB-Gerätebaum (die sich ändert, wenn das Gerät in eine andere Buchse gesteckt wird).
FTDI kennt die Einstellungsmöglichkeit "ignoriere Seriennummer", so daß jeder FT232, der in die selbe USB-Buchse gesteckt wird, als das selbe Gerät erkannt wird, d.h. ohne weitere Treiberinstallation und ohne Durcheinander bei den virtuellen Schnittstellnnummern.
Ok und was bringt mir diese Erkenntnis. Bei mir ist es mittlerweile so, dass nun nichts mehr geht. Kein COM Port wurde mehr gefunden. Ich musste alle USB Komponenten im Gerätemanager deinstallieren.
Mit dem Tool zadiag.exe kann ich trotz Installation WinUSB keinen Eintrag im Gerätemanager finden mit "USB JTAG/Serial debug unit (Interface 0) (COMX)".
Ich verstehe das ganze nicht mehr.
An den ESP32C3 habe ich auch mal den Segger JLink Plus Debugger angeschlossen. Auch da funktioniert die JTAG Verbindung nicht.
Kann mir hierzu jemand helfen?
An den ESP32C3 habe ich auch mal den Segger JLink Plus Debugger
angeschlossen. Auch da funktioniert die JTAG Verbindung nicht.
Kann mir hierzu jemand helfen?
Bei dem C3 ist der Trick mit dem eingebauten Debugger, den GPIO8 pin (D8 beim XIAO) auf 3,3V zu legen. Dann braucht man keinen externen Debugger in PlatformIO.
Gruß Dieter
Hi Dieter, wo hast du diese Information her?
Ich muss D8 zusätzlich auf 3.3V legen, dann funktioniert auch der interne Debugger?
Da mit den Treibern für USB einige Änderungen durchgeführt wurden, sehe ich den COM im Gerätemanager als USB serial com. Ich bekomme es nicht mehr hin, dass der COM auf USB Jtag/Serial COM gestellt wird.
So ich habe nun zahlreiche Informationen im Netz gelesen.
Ich habe mit zadiag nun für das Interface 0 den WinUSB treiber installiert und für das Interface 1 den libusbK Treiber. Jetzt konnte ich mit dem internen Debugger zunächst mal eine Verbindung herstellen (ESP32S3-ZERO).
Jetzt wird in vscode in die Datei "panic:abort.dbgasm" gesprungen aber nicht in die main Datei, wo ich einen Breakpoint in setup gesetzt habe. Das wiederum versteh ich auch nicht ganz. Was kann ich verdammt tun damit dieser Mist erflogreich läuft.
Ich denke das ist nur die halbe Miete. Ich hab grad mal nachgeschaut wie ich das damals gemacht hab. Wichtig waren die "build parameter" von unten, d.h. die debug_build_flags.
Ich bin echt am verzweifeln. Das kann doch nicht sein. Ich habe auch die Befürchtung, dass wenn ich den esp-prog anschließe, das mit dem Debubgging auch nicht gescheit funktionieren wird. Das ist so ein Billigscheiss.
Man will eigentlich nur eine Anwendung entwickeln. Ich will nicht die ganze IDE Scheisse durchkauen und schaune wo und warum das nicht geht.