Page 1 of 1

ESP32 built in USB-to-JTAG debugger - SOLVED

Posted: Tue Mar 11, 2025 6:38 am
by klaatu2
Trying to get the builtin USB-to-JTAG debugger running using ESP-IDE in VSC and running OpenOCD.

The USB driver appears to be running:
DeviceManager ESP32 USB-to-JTAG.png
DeviceManager ESP32 USB-to-JTAG.png (26.64 KiB) Viewed 934 times
When attempting to start the OpenOCD Server:
OpenOCD fail.jpg
OpenOCD fail.jpg (47.52 KiB) Viewed 934 times
I have searched and searched an can't find a solution.
I see nothing from Espressif that helps.
Various AI discuss creating a launch.json file. No real mention from Espressif
Shouldn't the OpenOCD server be pre-configured by ESP-IDE without a launch file??

I tried this launch.json file, but it still fails: Not sure it needs this file.

Re: ESP32 built in USB-to-JTAG debugger - HELP

Posted: Tue Mar 11, 2025 6:50 am
by klaatu2
This is the menuconfig JTAG settings
menuconfig_jtag.jpg
menuconfig_jtag.jpg (46.2 KiB) Viewed 928 times

Re: ESP32 built in USB-to-JTAG debugger - HELP

Posted: Tue Mar 11, 2025 6:40 pm
by klaatu2
There are two ESP32 efuses which can disable the USB/JTAG interface, both are set to not disable the function:
usb_jtag_efuses.jpg
usb_jtag_efuses.jpg (48.83 KiB) Viewed 826 times

Is this a driver issue? Notice the age of this driver, 19 years old....can this be the right driver?
JTAG driver.jpg
JTAG driver.jpg (111.34 KiB) Viewed 820 times

Re: ESP32 built in USB-to-JTAG debugger - HELP

Posted: Tue Mar 11, 2025 7:36 pm
by klaatu2
It was the driver.
The 2021 driver can be found here
https://dl.espressif.com/dl/idf-driver/ ... -07-15.zip


While the OpenOCD Server is now running, it is reporting errors. More debug required

Re: ESP32 built in USB-to-JTAG debugger - HELP

Posted: Tue Mar 11, 2025 7:52 pm
by klaatu2
That launch.json file also was not correct
Instead, I deleted it. then hit CTRL SHIFT P, and entered "ESP-IDF: Add vscode Configuration Folder"
That created a new launch.json file
And now the debugger seems to be running

Now to figure out how to use it