Excellent, right to the point explanation. I immediately ordered JTAG tool. I worked with ESP32 almost 3 years ago. Tools were way more primitive then now. Man, please keep going with follow up. Your videos are very high quality and are full of useful contents. Thank you.
Thank you so much for your kind words. I'm really glad you liked them! I hope you enjoy the JTAG tool, it's really useful for serious embedded development. I will definitely create more videos soon!
Thank you! I am now able to debug my ESP-32 dev board using VS Code and the ESP-Prog board! One note is that the dev board serial output (mostly ESP_LOG messages) wasn't being displayed while in debug, but I added the MS extension Serial Monitor and the output is coming through great now! Much appreciated!
Note : For wire connections , if you are using seperate USB to power the ESP board do not connect the 3.3V from ESP to ESP prog . Check the connections at 6:16
I've played around with the ESP32 quite a bit but I've never really looked at getting a debugger, but after watching this video, I'm 100% sure I will! Thanks for making the tutorial!
This is perfect video! Usually embedded devs look like a hobo, printing everything altogether and don't caring about setting up their environment, with bunch of trash in code. I suppose after videos like this we could get closer to a high level creatures called common developers. Thank you very much.
Excellent video, Yuri! Very clear presentation and fantastic production values. I especially appreciate the examples of what error messages we might see when things go wrong. I've been an embedded systems developer for many years, and recently started working with the ESP32. This is the best technical video I've ever watched. Well done sir, and thank you for sharing your knowledge with us.
These is awesome details about using the esp32 with debugging tool. Realy love content and how practically we can use the different tools for an easy development process from you. I am interested in developing software for IoT projects so home I will get more details from you in the future.
Really a great video. I remember, around in 2017-18 I was working on a project where ESP32 was used. But it was very difficult for debugging at that time becasue of unavailabilty of proper documentation & debuggers. Moreover ESP32 was not very stable at that time. But looking at this video, looks like ESP32 can also be used in industries for different applications now a days. Thanks for such an informative video.
Hi Dipankar Panda, thank you! Indeed years ago it was difficult to find documentation and information about debugging, and it still kinda is! Trying my best to bring some information and clarity to the community :) The ESP32 is very powerful and can and has being used for a lot of professional applications these days like you said! Thanks for the comment and watching!
Great work. just graduated learning alot from you. I have always used arduino ide to code esp but idf is a very professional tool and you are teaching it like a pro.
Thanks, this video finally helped me get ESP32 debugging to work. I use platformIO and VSCode which covers the uploading etc. But the easy diagram how to connect the esp-prog and my esp32 Wroom-32 was the main thing I was looking for.
Thank you, great explanation, would have needed it much earlier but better late than never. I'm looking forward to the next video, hopefully in less than a year ;).
This is the best ESP32 content in the internet by far. Extremely well produced and very good explanations. Keet it up guay! Congratulations and thanks a lot for your videos I totally appreciate it.
Yes, thanks very much Yrui. Most of us are aware of how time-consuming it is to make accurate technical videos, so thank you for your time and effort. Well done.
This is was I needed. Very informative and it helped me a lot. Please publish more videos like this. Maybe a video about RTOS and how to use it in a esp32 environment on a beginner level. It's there and why not use it in a proper way.
Thank you AGAIN! My next step in setting up my ESP32 system is going to be figuring out how to use JTAG-looks like that’s going to be much easier now! I know it’s not a big enough subject to deserve its own video, but would you consider inserting info on using JTAG via the on-board JTAG interface in the 2-channel USB connector built into current dev boards in a future video? I think I can probably figure it out, but I’ve seen so much in your other videos that I KNOW I wouldn’t have figured out on my own, that I think it would be worthwhile! Again, thank you for your videos-they are so helpful!
Thanks for your video, but the command "-c \"set ESP_RTOS none\" in tasks.json is not work for me. I need to try several time to get one time works, otherwise will get the error message ERROR: Unable to start debugging. Failed to find thread 3 for break event The program 'C:\Espressif\frameworks\esp-idf-v4.3.3\examples\get-started\blink\build\blink.elf' has exited with code 42 (0x0000002a). [Inferior 1 (Remote target) detached]
@YuriR So I followed your first video how to set up the environment and everything else, with some changes , because instead installing ESP_IDF I used the Plugin in VSCode, I made everything to work. Now when it comes to debugging "openocd -f board/esp32-wrover-kit-3.3v.cfg" is not working because I use a Wroom-32D Module. When I try to rum esp-wroom-32.cfg it gives me the message that "board/esp-wroom-32.cfg is deprecated" . what changes I have to make to be able to use the WROOM32 module?
Yuri R, It shows that you have put a lot of work in to making these videos and they are very helpful. I have followed along while trying to adapt your instructions to the esp32c6. Unfortunately I have had to leave out some of the neat changes you discussed because they do not seem to work for me. For instance when I used the preRun task the gdb was not able to connect to the openocd. When I tried it by using an outside command shell to start up the openocd I was able to get the debugger to run OK, except I had to remove the commands to flash the device. The command to set the address of the boot loader was 0x0000 for the esp32c6 but for some reason it just would not accept that. If you have suggestions how I might add those back in it would be helpful. However, all in all you did a marvelous job of pointing out all the things necessary to get the debugger going with visual studio code and I really appreciate the time and work you put it.
Thank you! I haven't tried the ESP32 C3 yet, but it should be very similar. The only changes would be the driver interface (which you can follow this instructions docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/jtag-debugging/configure-builtin-jtag.html) and the script to initialize OpenOCD (openocd -f board/esp32c3-builtin.cfg). For more informations you can check docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/jtag-debugging/index.html Cheers!
Hi Terlumun, thank you! A f riend of mine helps me with the editing. Adobe Illustrator to create graphics, Adobe After Effects for the animations and DaVinci Resolve for the video.
Anyone knows if debbuging in VS Code using ESP-IDF is available for Wemos ESP32-C3 mini ? I've been searching for some info but could not find a definite answear.
Great content, thanks for making this! I usually use the Arduino framework with PlatformIO, and was wondering - how much (generally) of Esp-IDF content is relevant to Arduino as well? If you could make a video detailing the similarities and differences in architecture/functions/etc that could be very helpful :)
Hi Jonathan, thanks for the comment and great video suggestion. Everything that you learn about IDF can be relevant when using Arduino/PlaformIO framework, since Arduino (for ESP) uses IDF behind the scenes :). Some libraries for Arduino may generate some low level conflicts sometimes, that only by knowing how IDF works you can fix it. I will definitely make a video like you suggested!
Thank you for a very informative video. One question that immediately came to mind when I saw the pin connections between the debugger and the ESP is this: What do you do if your project already makes use of some or all of those pins?
Since JTAG is a well established standard, why wouldn't any 3.3V compatible JTAG board work? What makes any of them "better" than the others? I might have some kicking around that support 3.3V and may give one a try. BTW - having used this kind of debugging on various microprocessors, and for non-embedded programming, it's definitely the way to go!! Great video!
Good God. What the hell is this?! I remember the time (10+ years ago) when one could just plug in an Atmel ICE-Debugger into USB, start the free (!) IDE and just press the 'Upload/Debug'-Buttons. So what happened? Your content is excellent, though. Thank you for uploading.
Hi Yuri. This video is extremely helpful. Could you please advise about the final step, where one completely removes the USB connection to the ESP32 and powers it from the ESP-PROG? Does one have to use the PROG interface on the ESP-PROG or only the JTAG interface?
Thank you Umut! Did you manage to solve your problem? I received your previous comment notification but for some reason TH-cam is randomly removing comments and I can't reply to them. Yours had a legit question but it disappeared :(
11:15 With the "monitor reset halt" command included, I am unable to get a debug session going and the gdb connection gets dropped. After removing that setup command, I was able to get the debug session going. ESP-Prog + ESP32-cam
Thanks for the great work Yuri. There is great amount of effort I can imagine. I have an ESP32 project with Arduino Framework on Visual Studio Code + Platform IO. Is it possible to folllow the same steps?
Yuri, thanks a lot for this excellent video. Just one question - I'm using a custom WROVER based board with no USB connector on it. However it does have a serial and a JTAG headers, so I'm using ESP-PROG board with a flat ribbon cable that comes with it to flash the code and to get serial (printf) output to the Visual Code monitor. The board installs as two separate serial ports with sequential numbers, both controlled by the same FTDI driver. The question is - is it OK to use ESP-PROG USB to PC connection for both serial and jtag simultaneously and should I change one of the drivers using Zadig the way you explained? The debugging doesn't require Expressif Visual Code extensions, is that right? Once again, thank you very much for the great video.
Hi Nikola Dj. Thank you for the comment and for detailing your question! Yes, you can use both serial and JTAG at the same time, and you need to change the driver using Zadig only for the interface 0, as shown in the video (you can see that one serial port remains with the normal driver (interface 1), and the other one with the updated JTAG driver (interface 0)). And yes, debugging doesn't require the Espressif VS Code extension :). So your board should work correctly. Thanks again for watching and for the comment!
Thank you for your video. I have a little problem. "Unable to start debagging. Unable to establish a connection to GBD. Debug output may contain more information." I cheked launch.json it's all correct.
Nice Video. But one open point here as in all debug videos regarding ESP and VSC, what about the peripheral register view? For me this is essential. More than one week I try to get in run. With no success…
I don't know how many times I've tried to comment but it kinda looks like it doesn't allow me to share github link here. Taking you and another website I've managed to debug in over J-Link with Openocd. Who wants to check the details contact me, please. It will be so useful to check my github account. Thank you so much!
That's such a nice guide, thank you so much! Unfortunately starting the debugger fails for me with "openocd: unrecognized option `--interpreter=mi'", any idea how I could fix this?
I have a generic board (top left) like the one you showed at 6:24. Zadig on my windows 10 laptop is seeing it as a single RS232-HS and not a dual one. I re-installed the FTDI driver but that did not help. What am I missing ?
Hi Wn Brook, for the Segger J-LINK is a bit more complicated as it requires a few more configuration steps to get it working with OpenOCD. You can follow the tutorial below to get it working with OpenOCD, and the VS Code part should be the same as my video here :) dzone.com/articles/eclipse-jtag-debugging-the-esp32-with-a-segger-j-l I hope it helps!
Yuri, thank you very much your videos are very useful. I managed to setup all steps described and can debug my code. I wonder if it would be possible to add an additional preRun task (or any other solution), so that the code will be saved and built automatically, each time the debugger is launched. Thank you again for your great videos and looking forward to your next videos.
Thank you! I'm glad it's useful. For the preRun task, I honestly never tried, as I just do "ctrl+s" before start debugging. But it would be nice indeed! Visual Studio (not VS Code) does that when you start a debugging session, so it would be nice to have on VS Code as well.
I have some question if I have some circuit based on esp-wrover-e board where esp32 with 2M flash was replaced to to esp32 with 16M flash, I tried to run hello_world from examples on esp-idf 5.1.2, I changed in menu config and it works for rs232, but unfortunately when I'm working with JTAG( I burn the executable also via JTAG) my debugger doesn't see the new flash size, my question is how I can configure it for debugger?
Hello Yuri, my problem is, if I copy the blink program and save it outside of examples->get-started, debugging doesn't work anymore. Do I have to repeat all the steps in the new program? It does not work when i create a new ESP-IDF project like in your third video.
Hi @Yuri R, thank you for this support, i have a doubt about uploading. My board is tiny and i have a little space in order to keep the serial programmer and JTAG pins. Is it possible to upload the software through the JTAG not using the serial programmer interface ? There's some problem on uploading throught the JTAG ? Thank you!
Hi Joao, thank you! Sorry for the delayed response. You probably already made the board, but yes you can upload everything through JTAG with no problems.
Hi, very goo staff!! I have a question...openocd command does not work on my esp-idf environment. it should be installed in tools path, right? I can find "bin" folder and "share" folder but cmd can launch it. Thank for supporting
You can use those pins normally, but it could mess with your JTAG. So, my suggestion is to use some #ifdef to protect those pins while you're JTAG debugging. Otherwise, you can just use the IDF terminal for debugging, and it should be all good.
This is one of the best produced content that I have ever seen for embedded programming! Keep it up
Thank you so much! I'm glad you enjoyed! New videos coming soon!
@@YuriR i agree with this comment. I’ll definitely subscribe for more like this
@@YuriR but we want more 😉
Excellent, right to the point explanation. I immediately ordered JTAG tool. I worked with ESP32 almost 3 years ago. Tools were way more primitive then now. Man, please keep going with follow up. Your videos are very high quality and are full of useful contents. Thank you.
Thank you so much for your kind words. I'm really glad you liked them! I hope you enjoy the JTAG tool, it's really useful for serious embedded development. I will definitely create more videos soon!
Thank you! I am now able to debug my ESP-32 dev board using VS Code and the ESP-Prog board! One note is that the dev board serial output (mostly ESP_LOG messages) wasn't being displayed while in debug, but I added the MS extension Serial Monitor and the output is coming through great now! Much appreciated!
Nice! Glad it worked and that it was helpful! Thanks for watching :)
Note : For wire connections , if you are using seperate USB to power the ESP board do not connect the 3.3V from ESP to ESP prog . Check the connections at 6:16
This is extremely well made! One of the best videos I've seen. Great production quality! Keep up the great work.
Thank you so much! I really appreciate the comment! New videos coming soon :)
I've played around with the ESP32 quite a bit but I've never really looked at getting a debugger, but after watching this video, I'm 100% sure I will! Thanks for making the tutorial!
Great to hear! I hope you like it!
This is perfect video!
Usually embedded devs look like a hobo, printing everything altogether and don't caring about setting up their environment, with bunch of trash in code. I suppose after videos like this we could get closer to a high level creatures called common developers.
Thank you very much.
Excellent video, Yuri! Very clear presentation and fantastic production values. I especially appreciate the examples of what error messages we might see when things go wrong.
I've been an embedded systems developer for many years, and recently started working with the ESP32. This is the best technical video I've ever watched.
Well done sir, and thank you for sharing your knowledge with us.
These is awesome details about using the esp32 with debugging tool. Realy love content and how practically we can use the different tools for an easy development process from you. I am interested in developing software for IoT projects so home I will get more details from you in the future.
Thank you Ganesh! More videos are coming soon :)
I can't believe when I saw the notification! Thank you very much!! I hope that you continue publishing!! High quality and very complete!
Thank you so much! Will continue publishing for sure. Having more time now for the channel, new videos coming soon!
Really a great video. I remember, around in 2017-18 I was working on a project where ESP32 was used. But it was very difficult for debugging at that time becasue of unavailabilty of proper documentation & debuggers. Moreover ESP32 was not very stable at that time. But looking at this video, looks like ESP32 can also be used in industries for different applications now a days. Thanks for such an informative video.
Hi Dipankar Panda, thank you! Indeed years ago it was difficult to find documentation and information about debugging, and it still kinda is! Trying my best to bring some information and clarity to the community :) The ESP32 is very powerful and can and has being used for a lot of professional applications these days like you said!
Thanks for the comment and watching!
Thanks! Your videos are incredible. I love the detail and I hope to see more soon. By far the best content I’ve seen.
Thank you so much Chris for the donation and the kind words! I really appreciate it. More videos will be coming soon this year! :)
Great work. just graduated learning alot from you. I have always used arduino ide to code esp but idf is a very professional tool and you are teaching it like a pro.
Can not thank you enough for this help - 20 min of pure & necessary info
came after a long time ,, nice to see you back on videos , thank you
Welcome back! Thanks for the support! new videos soon :)
Thanks, this video finally helped me get ESP32 debugging to work. I use platformIO and VSCode which covers the uploading etc. But the easy diagram how to connect the esp-prog and my esp32 Wroom-32 was the main thing I was looking for.
Thank you, great explanation, would have needed it much earlier but better late than never. I'm looking forward to the next video, hopefully in less than a year ;).
Thank you! Sorry about that, I wasn't able to dedicate time to the channel before, next one will come out in less than a year for sure :)
Excellent work! Very informative, good pacing and excellent examples. I could not ask for a better explanation of JTAG debugging on ESP32!
Glad it was helpful Joey! Thanks for watching! :)
These videos are seriously unparalleled.
This is the best ESP32 content in the internet by far. Extremely well produced and very good explanations. Keet it up guay! Congratulations and thanks a lot for your videos I totally appreciate it.
Very nice explanation and illustrations. High-quality video. Thanks for your time, efforts, and for sharing your knowledge.
Thank you for your kind words! I'm glad you liked it.
Yes, thanks very much Yrui. Most of us are aware of how time-consuming it is to make accurate technical videos, so thank you for your time and effort. Well done.
This is was I needed. Very informative and it helped me a lot. Please publish more videos like this. Maybe a video about RTOS and how to use it in a esp32 environment on a beginner level. It's there and why not use it in a proper way.
Thank you! Good to know that it helped. Yes, I will make videos about RTOS for beginners soon :)
@@YuriR looking forward to that
Thank you very much, thanks to you, I finally got it to work after countless hours on the internet.
I'm very happy to hear that it helped! Thanks for the comment! :)
Really really good video with most useful content for Programmers.....Thankyou....Keep rocking....
Really really thank you :) I'm glad that it's useful! More videos coming!
Just a master piece.... Need more videos like this ...love from India
Thank you so much Deep Neon! Working on the next one already :)
Hi Yuri, Thanks for the informative videos. I hope you will resume soon.
Thank you! Will post new videos soon!
Good job! I would love to see more such videos from you in the future!
Thank you! More videos will be coming soon :)
Great and detailed video, waiting for your next video already
Thank you! Already working on it :)
Very useful and well presented. Would be interested in more around ESP32 development. Thank you.
Thank you! More to come! :)
Great video!!! Thanks a lot Yuri ^^. Hope you can have more time to make more video about esp32 ^^
Thank you so much! Will be making more videos soon!
Very interesting , Thanks for sharing . The ESP forest is getting very large to find good info.
Very useful video to understand how debug is done on chip boards. Thanks
Amazing video, thanks!
One nice topic would be to deep dive into OTA updates.
Thank you AGAIN! My next step in setting up my ESP32 system is going to be figuring out how to use JTAG-looks like that’s going to be much easier now! I know it’s not a big enough subject to deserve its own video, but would you consider inserting info on using JTAG via the on-board JTAG interface in the 2-channel USB connector built into current dev boards in a future video? I think I can probably figure it out, but I’ve seen so much in your other videos that I KNOW I wouldn’t have figured out on my own, that I think it would be worthwhile! Again, thank you for your videos-they are so helpful!
Man, that is an amazing video! Thanks and keep it on! 🔥
Glad you liked it!
your video's have a very clear presentation style, i just wish you'd make more video's
Great video, you could mention the platformio plugin that makes the process of configuring a bit simpler.
Top video ...thanks a lot... don't stop again.
Thank you! Will be publishing more videos soon :)
Looking forward to more of these videos.
Thank you! More videos coming soon :)
Thanks for your video, but the command "-c \"set ESP_RTOS none\" in tasks.json is not work for me.
I need to try several time to get one time works, otherwise will get the error message
ERROR: Unable to start debugging. Failed to find thread 3 for break event
The program 'C:\Espressif\frameworks\esp-idf-v4.3.3\examples\get-started\blink\build\blink.elf' has exited with code 42 (0x0000002a).
[Inferior 1 (Remote target) detached]
Please use openocd -c 'set ESP_RTOS none' -f board/esp32-wrover-kit-3.3v.cfg . For more videos about ESP32 visit my channel
@Yuri Y
Excellent easy to understand explanation as always 👍.
Keep it up.
Thank you so much!
@YuriR So I followed your first video how to set up the environment and everything else, with some changes , because instead installing ESP_IDF I used the Plugin in VSCode, I made everything to work. Now when it comes to debugging "openocd -f board/esp32-wrover-kit-3.3v.cfg" is not working because I use a Wroom-32D Module. When I try to rum esp-wroom-32.cfg it gives me the message that "board/esp-wroom-32.cfg is deprecated" . what changes I have to make to be able to use the WROOM32 module?
please keep this series on bro.
Will do, thank you :)
Maninhooooooo me chama pra ser tua marqueteira kkkk SUCESSO!
Wow....amazing video brother!!!
Thank you so much! :)
Very very good video keep it up.
This is very important for beginners
Thank you so much, I'm glad you liked!
Amazing recommendations, you are a guru! Thanks!
Hi Alejandro! Thank you! Glad it helped!
Sure this is the best video on esp32. Go on
You man are a treasure!! thank you and keep it up!!!!!
What an awesome video, super helpful, thanks a lot!
Yuri R, It shows that you have put a lot of work in to making these videos and they are very helpful. I have followed along while trying to adapt your instructions to the esp32c6. Unfortunately I have had to leave out some of the neat changes you discussed because they do not seem to work for me. For instance when I used the preRun task the gdb was not able to connect to the openocd. When I tried it by using an outside command shell to start up the openocd I was able to get the debugger to run OK, except I had to remove the commands to flash the device. The command to set the address of the boot loader was 0x0000 for the esp32c6 but for some reason it just would not accept that. If you have suggestions how I might add those back in it would be helpful. However, all in all you did a marvelous job of pointing out all the things necessary to get the debugger going with visual studio code and I really appreciate the time and work you put it.
Excellent video Yuri, thank you! Have you tried VS Code program/debug of ESP32-C3 using just the USB (just two IO pins)?
Thank you! I haven't tried the ESP32 C3 yet, but it should be very similar. The only changes would be the driver interface (which you can follow this instructions docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/jtag-debugging/configure-builtin-jtag.html) and the script to initialize OpenOCD (openocd -f board/esp32c3-builtin.cfg).
For more informations you can check docs.espressif.com/projects/esp-idf/en/latest/esp32c3/api-guides/jtag-debugging/index.html
Cheers!
loved your video what software do you use to edit your videos
Hi Terlumun, thank you! A f riend of mine helps me with the editing. Adobe Illustrator to create graphics, Adobe After Effects for the animations and DaVinci Resolve for the video.
Anyone knows if debbuging in VS Code using ESP-IDF is available for Wemos ESP32-C3 mini ? I've been searching for some info but could not find a definite answear.
Same !!
did you find the solution ?
Thank you very much sir..... I will need to learn more about esp32
Thanks for your time sharing this excellent information.
Nice video with some unique points too sad you did not carry on with that stuff.
Thanks! Just made a new video, will be uploading more frequently this year :)
Thank you yuri your tutorial are very useful and helpful 😃
Hi Hamza! Thanks for the comment! Glad it helped! :)
Great content, thanks for making this!
I usually use the Arduino framework with PlatformIO, and was wondering - how much (generally) of Esp-IDF content is relevant to Arduino as well?
If you could make a video detailing the similarities and differences in architecture/functions/etc that could be very helpful :)
Hi Jonathan, thanks for the comment and great video suggestion.
Everything that you learn about IDF can be relevant when using Arduino/PlaformIO framework, since Arduino (for ESP) uses IDF behind the scenes :).
Some libraries for Arduino may generate some low level conflicts sometimes, that only by knowing how IDF works you can fix it.
I will definitely make a video like you suggested!
@@YuriR Great, subscribed and looking forward to it!
Thanks
Thanks for video. Im also interested in how to use arduino libraries in idf.
Thank you for a very informative video. One question that immediately came to mind when I saw the pin connections between the debugger and the ESP is this: What do you do if your project already makes use of some or all of those pins?
Since JTAG is a well established standard, why wouldn't any 3.3V compatible JTAG board work? What makes any of them "better" than the others? I might have some kicking around that support 3.3V and may give one a try.
BTW - having used this kind of debugging on various microprocessors, and for non-embedded programming, it's definitely the way to go!! Great video!
Just GREAT!
Thank you! I'm glad you liked!
Good God. What the hell is this?! I remember the time (10+ years ago) when one could just plug in an Atmel ICE-Debugger into USB, start the free (!) IDE and just press the 'Upload/Debug'-Buttons. So what happened?
Your content is excellent, though. Thank you for uploading.
keep up the good work!
Thank you, will try! :)
Hi Yuri. This video is extremely helpful. Could you please advise about the final step, where one completely removes the USB connection to the ESP32 and powers it from the ESP-PROG? Does one have to use the PROG interface on the ESP-PROG or only the JTAG interface?
Excellent video 😍
thank you so much. great work!
Thank you Umut! Did you manage to solve your problem? I received your previous comment notification but for some reason TH-cam is randomly removing comments and I can't reply to them. Yours had a legit question but it disappeared :(
@@YuriR Yes, I solved it Yuri. I probably did a mistake one step. I follow your steps again and now it's working thanks to you :)
Excellent video.
Great video!!
Thank you! I'm glad you enjoyed! :)
Looks like you were trying Rust language programming on esp32. Can you make vlog about this subject?
Hi Czarek Cz, I'm not sure where you got the Rust reference? haha I haven't tried it yet, but I will take a look, maybe in the future :)
11:15 With the "monitor reset halt" command included, I am unable to get a debug session going and the gdb connection gets dropped. After removing that setup command, I was able to get the debug session going.
ESP-Prog + ESP32-cam
Great to hear it worked!
Thanks for the great work Yuri. There is great amount of effort I can imagine. I have an ESP32 project with Arduino Framework on Visual Studio Code + Platform IO. Is it possible to folllow the same steps?
Nice Way to go! Thx
Yuri, thanks a lot for this excellent video.
Just one question - I'm using a custom WROVER based board with no USB connector on it. However it does have a serial and a JTAG headers, so I'm using ESP-PROG board with a flat ribbon cable that comes with it to flash the code and to get serial (printf) output to the Visual Code monitor. The board installs as two separate serial ports with sequential numbers, both controlled by the same FTDI driver. The question is - is it OK to use ESP-PROG USB to PC connection for both serial and jtag simultaneously and should I change one of the drivers using Zadig the way you explained? The debugging doesn't require Expressif Visual Code extensions, is that right?
Once again, thank you very much for the great video.
Hi Nikola Dj. Thank you for the comment and for detailing your question!
Yes, you can use both serial and JTAG at the same time, and you need to change the driver using Zadig only for the interface 0, as shown in the video (you can see that one serial port remains with the normal driver (interface 1), and the other one with the updated JTAG driver (interface 0)). And yes, debugging doesn't require the Espressif VS Code extension :). So your board should work correctly.
Thanks again for watching and for the comment!
Very nice video, THX.
Nice Job!!
Thank you! Cheers!
Thank you for your video. I have a little problem. "Unable to start debagging. Unable to establish a connection to GBD. Debug output may contain more information." I cheked launch.json it's all correct.
Nice Video. But one open point here as in all debug videos regarding ESP and VSC, what about the peripheral register view? For me this is essential. More than one week I try to get in run. With no success…
Thank you so much!
I don't know how many times I've tried to comment but it kinda looks like it doesn't allow me to share github link here. Taking you and another website I've managed to debug in over J-Link with Openocd. Who wants to check the details contact me, please. It will be so useful to check my github account. Thank you so much!
Hi Evren, thank you for the comment!
Thank you! But, do you know, how to watch peripheral registers of a ESP32
That's such a nice guide, thank you so much! Unfortunately starting the debugger fails for me with "openocd: unrecognized option `--interpreter=mi'", any idea how I could fix this?
Like it, thanks for sharing :)
Thank you! :)
Where to buy the nice IDC Ribbon Cable-to-breadboard adapter, 10-pin you use in your projects? Regards
I have a generic board (top left) like the one you showed at 6:24. Zadig on my windows 10 laptop is seeing it as a single RS232-HS and not a dual one. I re-installed the FTDI driver but that did not help. What am I missing ?
Best Video, Could you Please upload video, To debug using ESP IDF IDE, using esp Prog
Thanks!
Wow! Thank you so much Gary! It means a lot to me! Will be making more videos soon!
Hello Yuri, How can I use j-link Segger probe in vs code? thanks in advance.
Hi Wn Brook, for the Segger J-LINK is a bit more complicated as it requires a few more configuration steps to get it working with OpenOCD.
You can follow the tutorial below to get it working with OpenOCD, and the VS Code part should be the same as my video here :)
dzone.com/articles/eclipse-jtag-debugging-the-esp32-with-a-segger-j-l
I hope it helps!
Super again! Would you mind to consider run FreeRTOS/Zephyr in your video? and add all your video in any of your video link? thanks!
Hi Joe! Thank you! Yes I'm going to cover FreeRTOS in future videos! :)
Awesome ❤
Yuri, thank you very much your videos are very useful. I managed to setup all steps described and can debug my code. I wonder if it would be possible to add an additional preRun task (or any other solution), so that the code will be saved and built automatically, each time the debugger is launched. Thank you again for your great videos and looking forward to your next videos.
Thank you! I'm glad it's useful. For the preRun task, I honestly never tried, as I just do "ctrl+s" before start debugging. But it would be nice indeed! Visual Studio (not VS Code) does that when you start a debugging session, so it would be nice to have on VS Code as well.
Thank you for your video, it really helped me !
I saw that you use a HAL for ESP32 in C++. Could you please share ?
Best regards,
I have some question if I have some circuit based on esp-wrover-e board where esp32 with 2M flash was replaced to to esp32 with 16M flash, I tried to run hello_world from examples on esp-idf 5.1.2, I changed in menu config and it works for rs232, but unfortunately when I'm working with JTAG( I burn the executable also via JTAG) my debugger doesn't see the new flash size, my question is how I can configure it for debugger?
Hello Yuri, my problem is, if I copy the blink program and save it outside of examples->get-started, debugging doesn't work anymore. Do I have to repeat all the steps in the new program? It does not work when i create a new ESP-IDF project like in your third video.
Thanks very usefull
Hi @Yuri R, thank you for this support, i have a doubt about uploading. My board is tiny and i have a little space in order to keep the serial programmer and JTAG pins. Is it possible to upload the software through the JTAG not using the serial programmer interface ? There's some problem on uploading throught the JTAG ? Thank you!
Hi Joao, thank you! Sorry for the delayed response. You probably already made the board, but yes you can upload everything through JTAG with no problems.
Hi, very goo staff!!
I have a question...openocd command does not work on my esp-idf environment. it should be installed in tools path, right? I can find "bin" folder and "share" folder but cmd can launch it. Thank for supporting
Example of serial conection and configuration ?
can you please do a video, to use gdbstub without jtag interface with vscode
Very detailed information from a Firmware Engineer's perspective. May I know the software used for the animations & editing?
Hi Nagarajan, the animations are manually made in Adobe After Effects and the video is edited using DaVinci Resolve (free) :)
very clear explanation thanks a lot yuri.... my doubt is if i want to use 13,14,15,12 pins as gpio means it will work or not?
You can use those pins normally, but it could mess with your JTAG. So, my suggestion is to use some #ifdef to protect those pins while you're JTAG debugging. Otherwise, you can just use the IDF terminal for debugging, and it should be all good.