I forgot to mention that VSCodium requires a few extra steps to get PlatformIO to run. This is a one-time setup: 1. Download the C/C++ extension from the Microsoft VSCode store as .vsix file 2. In VSCodium, head to the extensions tab and click the little breadcrumbs menu at the top right of the extensions tab 3. Click "install from VSIX..." and navigate to the file you just downloaded 4. Do the same process for the PlarformIO extension Why? The C/C++ extension belongs to Microsoft and they prevent any unlicensed software from accessing its extensions via the online store. However, you can still install them manually as described above. As PlatformIO relies on this extension, you will get an error or not even find it in the native extensions tab. Be careful that you first install the C/C++ extension and THEN PlatformIO. Happy debugging!
That's very helpful, thank you. Presumably if you have a devkit like ESP32-C3 Super Mini that already wires the usb pins through to the socket then no hardware hacking at all is needed.
Very cool.. never heard of VSCodium nor WROOM! I'm interested in using the ESP-PROG to debug via JTAG, but having issues with configuring OpenOCD / VS-Code / Platform-IO . BTW, when single-stepping via JTAG, is it running from the chip's RAM or is it from FLASH.. or does it depend on the linker script? (I'm wondering in case you cycle power, does the ESP32 have the last program debugged?)
So if I understand correctly one can use a commercial software-only solution (Visual Studio + Visual Micro Arduino Extension) for stepping thru code, but that has many limitations... OR.. you can use a JTAG Adapter (esp-prog) and open-source software (VS Code + PlatformIO), and that offers the best debugging experience? However, is there any chance one might accidentally overwrite the built-in bootloader using jtag? I'd like to avoid the Arduino IDE flow ( setup() , loop() , etc) and instead use an RTOS like FreeRTOS or Zephyr! BTW, I understand the ESP32 comes in either a dual core option (Tensilicia Xtensa LX6 microprocessor) or single core (Risc-V) option.. does debugging with an esp-prog support both lx6 cores... as well as debugging ESP-C3's risc-v? I recall seeing an older IDF 4.3 video (YuriR?) that describes setting up json files (prerun, launch, tasks) that makes it so that OpenOCD/GDB starts automatically , resets the target, loads a particular binary onto a particular memory address, etc. Are things more integrated these days (with v5.2.3) such that these configuration files are no longer needed?
Hi, great tutorial! Since several days I try to get working the esp-prog/esp32 wroom debug platform on a windows11 workstation. Mostly I got the error window from VScode: "Failed to lauch DGB: .pioinit 12: Error in sourced command file: Protocol error with T´Rcmd (from interpreter-exec console "source .pioinit"). May one hoiur ago I could start the first two debugging sessions. But afterwards every try to start a debug session failed again. Has someone an idea what is going wrong. Eventually the is some hardware issue but currently I only have this hardware and cannot try another.
Bro pls help me out with the ESP32C3 Lyra V2, im Lost!!! this one has the esp32c3wroom2 but GPIO 18 and 19 (D+ and D-) has no Jumper pins to connect them to the USB. There is a USB to AURT Port I have tried to make It work as USB to JTAG but its not working either🥹.
Interesting. I thought platformio was not supported in vscodium 🤔 I'll have to try again as I have it working fine in vscode but would prefer to use vscodium.
I love your project very much, I am a university student in China, I would like to ask you about the ESP32 development board, I wonder if you are available?!!
I forgot to mention that VSCodium requires a few extra steps to get PlatformIO to run. This is a one-time setup:
1. Download the C/C++ extension from the Microsoft VSCode store as .vsix file
2. In VSCodium, head to the extensions tab and click the little breadcrumbs menu at the top right of the extensions tab
3. Click "install from VSIX..." and navigate to the file you just downloaded
4. Do the same process for the PlarformIO extension
Why?
The C/C++ extension belongs to Microsoft and they prevent any unlicensed software from accessing its extensions via the online store. However, you can still install them manually as described above. As PlatformIO relies on this extension, you will get an error or not even find it in the native extensions tab. Be careful that you first install the C/C++ extension and THEN PlatformIO. Happy debugging!
Excellent, thanks for those pointers, worked like a charm. 👏
That's very helpful, thank you. Presumably if you have a devkit like ESP32-C3 Super Mini that already wires the usb pins through to the socket then no hardware hacking at all is needed.
Yes, and the ESP32-S3 has the same features on its second USB-C port labled USB-OTG. Very nice and simple.
You should make more videos, they are great. I love the way you present them.
THX for this very nice and clear step by step explanation! Perhaps now I can finally get the debugger to work.
Please cover the topic of writing tests with VSCode + PlatformIO. Thank you for your previous videos :)
Unit testing would be interesting!
Love the short and detailed video.
Very cool.. never heard of VSCodium nor WROOM!
I'm interested in using the ESP-PROG to debug via JTAG, but having issues with configuring OpenOCD / VS-Code / Platform-IO .
BTW, when single-stepping via JTAG, is it running from the chip's RAM or is it from FLASH.. or does it depend on the linker script?
(I'm wondering in case you cycle power, does the ESP32 have the last program debugged?)
This is some good shit! Don't stop making videos. I'm looking forward to more of your FreeRTos Videos.!
Thank you for making this
So if I understand correctly one can use a commercial software-only solution (Visual Studio + Visual Micro Arduino Extension) for stepping thru code, but that has many limitations...
OR..
you can use a JTAG Adapter (esp-prog) and open-source software (VS Code + PlatformIO), and that offers the best debugging experience? However, is there any chance one might accidentally overwrite the built-in bootloader using jtag?
I'd like to avoid the Arduino IDE flow ( setup() , loop() , etc) and instead use an RTOS like FreeRTOS or Zephyr!
BTW, I understand the ESP32 comes in either a dual core option (Tensilicia Xtensa LX6 microprocessor) or single core (Risc-V) option.. does debugging with an esp-prog support both lx6 cores... as well as debugging ESP-C3's risc-v?
I recall seeing an older IDF 4.3 video (YuriR?) that describes setting up json files (prerun, launch, tasks) that makes it so that OpenOCD/GDB starts automatically , resets the target, loads a particular binary onto a particular memory address, etc. Are things more integrated these days (with v5.2.3) such that these configuration files are no longer needed?
Terrific video, thank you! Wondering where you got that wide breadboard? Standard breadboard does not fit ESP32 well! Thanks.
I used 2 of them together… in my breadboards powelines + - was removables too
Hi, great tutorial! Since several days I try to get working the esp-prog/esp32 wroom debug platform on a windows11 workstation. Mostly I got the error window from VScode: "Failed to lauch DGB: .pioinit 12: Error in sourced command file: Protocol error with T´Rcmd (from interpreter-exec console "source .pioinit"). May one hoiur ago I could start the first two debugging sessions. But afterwards every try to start a debug session failed again. Has someone an idea what is going wrong. Eventually the is some hardware issue but currently I only have this hardware and cannot try another.
Cooles video mach weiter so. (Ich riche das du deutsch sprichst)
Afaik ist er Niederländer
Dann war ich nahe dran wenigstens @@MrPeercraft
Bro pls help me out with the ESP32C3 Lyra V2, im Lost!!! this one has the esp32c3wroom2 but GPIO 18 and 19 (D+ and D-) has no Jumper pins to connect them to the USB. There is a USB to AURT Port I have tried to make It work as USB to JTAG but its not working either🥹.
Interesting. I thought platformio was not supported in vscodium 🤔 I'll have to try again as I have it working fine in vscode but would prefer to use vscodium.
You are absolutely right, see my pinned comment for a fix!
I love your project very much, I am a university student in China, I would like to ask you about the ESP32 development board, I wonder if you are available?!!
Awesome
don't buy. avoid it, can't upload any sketches without unless you are pressing the reset button