ESP32 - DEBUGGING your ESP-IDF code using JTAG [VS CODE]

  Переглядів 96,657

Yuri R

Yuri R

День тому

How to DEBUG your ESP32 IDF application inside Visual Studio Code using an external debugger tool. We'll be using the ESP-PROG, a JTAG hardware debugger from Espressif.
Debugging is an essential skill for any serious firmware developer. It allows us to find problems and have an insight of what's happening in our code.
▶ DEBUGGER LINKS (Affiliate):
✔ Amazon (Faster shipping)
ESP-PROG (Recommended): amzn.to/3ENsSDy
FT2232H Generic : amzn.to/3B1Bxjp
FT2232H Generic Dual Channel: amzn.to/3C0NG9G
✔ AliExpress (From China - Cheaper but slower shipping)
ESP-PROG (Recommended): s.click.aliexpress.com/e/_A9n4lJ
FT2232H Generic: s.click.aliexpress.com/e/_Ap4yQt
FT2232H Generic Dual Channel: s.click.aliexpress.com/e/_9ycDvF
▶ My previous video from the ESP32 Series:
• ESP32 - Getting Starte...
▶ Watch the Quick Fix for IDF Terminal from the previous video:
• QUICK FIX for IDF Term...
▶ ESPRESSIF ESP-PROG Documentation:
docs.espressif.com/projects/e...
▶ ESPRESSIF JTAG Documentation:
docs.espressif.com/projects/e...
- All emojis designed by OpenMoji - the open-source emoji and icon project.
License: CC BY-SA 4.0
00:00 Introduction
00:54 Serial Terminal
02:01 External Debugger
02:40 Cool things to do
03:28 Next steps
03:40 Which debugger to buy
04:29 ESP-PROG Intro
05:51 ESP-PROG Connection
06:38 Updating the JTAG Driver
07:43 OpenOCD Setup
09:10 GDB Setup
11:21 Quick Debugger test
12:07 Automating OpenOCD
12:54 Solving reliability issues (IMPORTANT)
14:13 Firmware loading through the Debugger
14:37 ESP32's Memory Structure
15:12 Configuring memory addresses on GDB
16:28 Using the debugger (Example)
18:24 Bug explanation
19:15 Conclusion

КОМЕНТАРІ: 236
@colanuss4985
@colanuss4985 2 роки тому
This is one of the best produced content that I have ever seen for embedded programming! Keep it up
@YuriR
@YuriR 2 роки тому
Thank you so much! I'm glad you enjoyed! New videos coming soon!
@micah2936
@micah2936 Рік тому
@@YuriR i agree with this comment. I’ll definitely subscribe for more like this
@r_be
@r_be Рік тому
@@YuriR but we want more 😉
@GeekyMino
@GeekyMino 2 роки тому
This is extremely well made! One of the best videos I've seen. Great production quality! Keep up the great work.
@YuriR
@YuriR 2 роки тому
Thank you so much! I really appreciate the comment! New videos coming soon :)
@chrissold5957
@chrissold5957 5 місяців тому
Can not thank you enough for this help - 20 min of pure & necessary info
@leonardoherran2523
@leonardoherran2523 2 роки тому
I can't believe when I saw the notification! Thank you very much!! I hope that you continue publishing!! High quality and very complete!
@YuriR
@YuriR 2 роки тому
Thank you so much! Will continue publishing for sure. Having more time now for the channel, new videos coming soon!
@czarekcz1097
@czarekcz1097 2 роки тому
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.
@YuriR
@YuriR 2 роки тому
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!
@james2396
@james2396 Рік тому
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!
@YuriR
@YuriR Рік тому
Great to hear! I hope you like it!
@ChrisCowherd
@ChrisCowherd Рік тому
Thanks! Your videos are incredible. I love the detail and I hope to see more soon. By far the best content I’ve seen.
@YuriR
@YuriR Рік тому
Thank you so much Chris for the donation and the kind words! I really appreciate it. More videos will be coming soon this year! :)
@gere364
@gere364 7 місяців тому
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.
@theplen80
@theplen80 Рік тому
Excellent work! Very informative, good pacing and excellent examples. I could not ask for a better explanation of JTAG debugging on ESP32!
@YuriR
@YuriR Рік тому
Glad it was helpful Joey! Thanks for watching! :)
@realohh
@realohh Рік тому
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.
@innomkr
@innomkr 2 роки тому
Good job! I would love to see more such videos from you in the future!
@YuriR
@YuriR 2 роки тому
Thank you! More videos will be coming soon :)
@sss22215
@sss22215 2 роки тому
came after a long time ,, nice to see you back on videos , thank you
@YuriR
@YuriR 2 роки тому
Welcome back! Thanks for the support! new videos soon :)
@harerudez4788
@harerudez4788 2 роки тому
Man, that is an amazing video! Thanks and keep it on! 🔥
@YuriR
@YuriR 2 роки тому
Glad you liked it!
@christian4052
@christian4052 2 роки тому
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 ;).
@YuriR
@YuriR 2 роки тому
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 :)
@franciszucco1993
@franciszucco1993 2 роки тому
Great and detailed video, waiting for your next video already
@YuriR
@YuriR 2 роки тому
Thank you! Already working on it :)
@patrickdemeyer2210
@patrickdemeyer2210 4 місяці тому
Very interesting , Thanks for sharing . The ESP forest is getting very large to find good info.
@Flockman3065
@Flockman3065 7 місяців тому
your video's have a very clear presentation style, i just wish you'd make more video's
@GaneshSonwane
@GaneshSonwane 2 роки тому
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.
@YuriR
@YuriR 2 роки тому
Thank you Ganesh! More videos are coming soon :)
@MatthijsHoekstra
@MatthijsHoekstra 2 місяці тому
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.
@danielelmuneco1994
@danielelmuneco1994 2 місяці тому
Amazing video, thanks! One nice topic would be to deep dive into OTA updates.
@pointer2null
@pointer2null 2 роки тому
Looking forward to more of these videos.
@YuriR
@YuriR 2 роки тому
Thank you! More videos coming soon :)
@bertieblob3387
@bertieblob3387 2 роки тому
Very useful and well presented. Would be interested in more around ESP32 development. Thank you.
@YuriR
@YuriR 2 роки тому
Thank you! More to come! :)
@watcherofvideoswasteroftim5788
@watcherofvideoswasteroftim5788 11 місяців тому
What an awesome video, super helpful, thanks a lot!
@jjlebrams4421
@jjlebrams4421 Рік тому
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!
@YuriR
@YuriR Рік тому
Nice! Glad it worked and that it was helpful! Thanks for watching :)
@kapdivyang
@kapdivyang 2 роки тому
Very nice explanation and illustrations. High-quality video. Thanks for your time, efforts, and for sharing your knowledge.
@YuriR
@YuriR 2 роки тому
Thank you for your kind words! I'm glad you liked it.
@tlangdon12
@tlangdon12 2 роки тому
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.
@valtermarcone9160
@valtermarcone9160 Рік тому
Sure this is the best video on esp32. Go on
@deepneon5414
@deepneon5414 Рік тому
Just a master piece.... Need more videos like this ...love from India
@YuriR
@YuriR Рік тому
Thank you so much Deep Neon! Working on the next one already :)
@thuyetmai9650
@thuyetmai9650 2 роки тому
Great video!!! Thanks a lot Yuri ^^. Hope you can have more time to make more video about esp32 ^^
@YuriR
@YuriR 2 роки тому
Thank you so much! Will be making more videos soon!
@MrDipankarpanda
@MrDipankarpanda Рік тому
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.
@YuriR
@YuriR Рік тому
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!
@fullpower8382
@fullpower8382 8 місяців тому
Nice Way to go! Thx
@thecoolaravind
@thecoolaravind Рік тому
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
@AlejandroHidalgoL
@AlejandroHidalgoL 2 роки тому
Amazing recommendations, you are a guru! Thanks!
@YuriR
@YuriR Рік тому
Hi Alejandro! Thank you! Glad it helped!
@danhpham829
@danhpham829 2 роки тому
Thank you very much, thanks to you, I finally got it to work after countless hours on the internet.
@YuriR
@YuriR 2 роки тому
I'm very happy to hear that it helped! Thanks for the comment! :)
@linocmr
@linocmr 2 роки тому
Top video ...thanks a lot... don't stop again.
@YuriR
@YuriR 2 роки тому
Thank you! Will be publishing more videos soon :)
@ogunniyiadebambo2822
@ogunniyiadebambo2822 9 місяців тому
Thank you very much sir..... I will need to learn more about esp32
@rahulr9301
@rahulr9301 2 роки тому
Wow....amazing video brother!!!
@YuriR
@YuriR Рік тому
Thank you so much! :)
@tm_digita
@tm_digita 2 роки тому
@Yuri Y Excellent easy to understand explanation as always 👍. Keep it up.
@YuriR
@YuriR 2 роки тому
Thank you so much!
@stryderx1
@stryderx1 2 роки тому
Very very good video keep it up. This is very important for beginners
@YuriR
@YuriR 2 роки тому
Thank you so much, I'm glad you liked!
@vigneshs6232
@vigneshs6232 2 роки тому
Really really good video with most useful content for Programmers.....Thankyou....Keep rocking....
@YuriR
@YuriR Рік тому
Really really thank you :) I'm glad that it's useful! More videos coming!
@CaliBeta
@CaliBeta 5 місяців тому
Excellent video 😍
@garywilliams4214
@garywilliams4214 Рік тому
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!
@scotts4406
@scotts4406 Рік тому
Hi Yuri, Thanks for the informative videos. I hope you will resume soon.
@YuriR
@YuriR Рік тому
Thank you! Will post new videos soon!
@s.maximus8884
@s.maximus8884 Рік тому
very good tutorial! Thank so much!
@lars-goranlindstrom7467
@lars-goranlindstrom7467 2 роки тому
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.
@YuriR
@YuriR 2 роки тому
Thank you! Good to know that it helped. Yes, I will make videos about RTOS for beginners soon :)
@lars-goranlindstrom7467
@lars-goranlindstrom7467 2 роки тому
@@YuriR looking forward to that
@hbend1li
@hbend1li Рік тому
Thank you yuri your tutorial are very useful and helpful 😃
@YuriR
@YuriR Рік тому
Hi Hamza! Thanks for the comment! Glad it helped! :)
@30abadid
@30abadid 2 роки тому
Maninhooooooo me chama pra ser tua marqueteira kkkk SUCESSO!
@arjayUU
@arjayUU 2 роки тому
keep up the good work!
@YuriR
@YuriR 2 роки тому
Thank you, will try! :)
@dhruvandangar8005
@dhruvandangar8005 2 роки тому
please keep this series on bro.
@YuriR
@YuriR Рік тому
Will do, thank you :)
@umutkanl714
@umutkanl714 2 роки тому
thank you so much. great work!
@YuriR
@YuriR 2 роки тому
Thank you Umut! Did you manage to solve your problem? I received your previous comment notification but for some reason UKposts is randomly removing comments and I can't reply to them. Yours had a legit question but it disappeared :(
@umutkanl714
@umutkanl714 2 роки тому
@@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 :)
@jacquesblom2312
@jacquesblom2312 Рік тому
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?
@nicoladellino8124
@nicoladellino8124 Рік тому
Very nice video, THX.
@rexbrown2752
@rexbrown2752 20 днів тому
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.
@prashantnaik2651
@prashantnaik2651 2 роки тому
Excellent, Very nice explanation. Please publish more videos like this. Maybe a video about SEGGAER Systemview and how to use it in a esp32 in VsCode.Thanks
@YuriR
@YuriR 2 роки тому
Thank you! Great suggestion! The Systemview is an amazing tool, I will definitely make a video about it in the future! Probably after I have a few FreeRTOS videos done, since it's a more advanced tool :)
@dirku63
@dirku63 2 роки тому
Nice video with some unique points too sad you did not carry on with that stuff.
@YuriR
@YuriR Рік тому
Thanks! Just made a new video, will be uploading more frequently this year :)
@philipchisholm
@philipchisholm Рік тому
Nice Job!!
@YuriR
@YuriR Рік тому
Thank you! Cheers!
@user-co9gg4re3f
@user-co9gg4re3f 9 місяців тому
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,
@eduardo9626
@eduardo9626 2 роки тому
assunto muito bom, o vscode em parceria com a espressif poderiam sempre tentar melhorar esse recurso
@Bianchi77
@Bianchi77 2 роки тому
Like it, thanks for sharing :)
@YuriR
@YuriR 2 роки тому
Thank you! :)
@PattysLab
@PattysLab Рік тому
Great video!!
@YuriR
@YuriR Рік тому
Thank you! I'm glad you enjoyed! :)
@ozkarah
@ozkarah 10 місяців тому
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?
@marklatham4204
@marklatham4204 2 роки тому
Excellent video Yuri, thank you! Have you tried VS Code program/debug of ESP32-C3 using just the USB (just two IO pins)?
@YuriR
@YuriR 2 роки тому
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!
@evrenkenanoglu
@evrenkenanoglu 2 роки тому
Thank you so much!
@evrenkenanoglu
@evrenkenanoglu 2 роки тому
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!
@YuriR
@YuriR Рік тому
Hi Evren, thank you for the comment!
@patis.IA-AI
@patis.IA-AI 5 місяців тому
Thanks very usefull
@SukhdeepSingh-wi9uv
@SukhdeepSingh-wi9uv Рік тому
Best Video, Could you Please upload video, To debug using ESP IDF IDE, using esp Prog
@fahrettinaslaan
@fahrettinaslaan 2 роки тому
Thanks Dude
@YuriR
@YuriR Рік тому
No problem mate! :)
@anthonywebber1155
@anthonywebber1155 Місяць тому
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?
@wolverene1234567890
@wolverene1234567890 7 місяців тому
@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?
@MrSnikul
@MrSnikul 8 місяців тому
Where to buy the nice IDC Ribbon Cable-to-breadboard adapter, 10-pin you use in your projects? Regards
@yenyuthnea631
@yenyuthnea631 Рік тому
great videos
@YuriR
@YuriR Рік тому
Glad you like them! :)
@HopWorksET
@HopWorksET Рік тому
Thanks!
@YuriR
@YuriR Рік тому
Wow! Thank you so much Gary! It means a lot to me! Will be making more videos soon!
@jonathanlevin7660
@jonathanlevin7660 2 роки тому
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 :)
@YuriR
@YuriR 2 роки тому
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!
@jonathanlevin7660
@jonathanlevin7660 2 роки тому
@@YuriR Great, subscribed and looking forward to it! Thanks
@paulcardno
@paulcardno Рік тому
Thanks for video. Im also interested in how to use arduino libraries in idf.
@SymphonyOnAsphalt
@SymphonyOnAsphalt 8 місяців тому
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
@markanderson8066
@markanderson8066 Рік тому
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!
@vincentyun
@vincentyun Рік тому
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]
@esp32
@esp32 Рік тому
Please use openocd -c 'set ESP_RTOS none' -f board/esp32-wrover-kit-3.3v.cfg . For more videos about ESP32 visit my channel
@nikoladj.314
@nikoladj.314 2 роки тому
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.
@YuriR
@YuriR 2 роки тому
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!
@caliper2pc
@caliper2pc 2 роки тому
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.
@YuriR
@YuriR 2 роки тому
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.
@YuriyKozin
@YuriyKozin Місяць тому
Отличное видео! спасибо, тёзка! п.с. лайк и подписка
@terlumunjoseph6779
@terlumunjoseph6779 2 роки тому
loved your video what software do you use to edit your videos
@YuriR
@YuriR 2 роки тому
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.
@avr_stm_pro2955
@avr_stm_pro2955 Рік тому
Super 👍
@YuriR
@YuriR Рік тому
Thank you! 👍
@ZiclopDevices
@ZiclopDevices 2 роки тому
Excellent tuto! Thanks for sharing. Can you put a link for the JTAG/breadboard adapter??
@YuriR
@YuriR 2 роки тому
Hi Ziclop, thank you! That JTAG Breaboard adapter PCB was made by myself. I could maybe put a link to the project online and you could try ordering it from JLCPCB or PCBWay if you would like.
@iduxnet
@iduxnet 2 роки тому
Excelent stuff Yuri, thanks a lot for these weel made videos. Could you give more info about debugging speed. I am testing a esp-prog board with a ESP32 DevkitV1 in Linux, and even with simple code, the execution under debugging is very slow. I keep variables dropdown close and try to trace only the variable I am interested in at that moment, but still execution is slow. Any suggestions?. Thanks again!.
@YuriR
@YuriR Рік тому
Hi Idux, thank you! Sorry for the delay. Check if your OpenOCD has the clock speed set at 20000 kHz, you can set the speed at the board config file (board/esp32-wrover-kit-3.3v.cfg). Also make sure you have maximum 2 breakpoints as well, and the -nofreertos tag like in the video. I hope that helps.
@user-hv5ol7re9i
@user-hv5ol7re9i 4 місяці тому
Thank you! But, do you know, how to watch peripheral registers of a ESP32
@nagarajankandasamy581
@nagarajankandasamy581 2 роки тому
Very detailed information from a Firmware Engineer's perspective. May I know the software used for the animations & editing?
@YuriR
@YuriR Рік тому
Hi Nagarajan, the animations are manually made in Adobe After Effects and the video is edited using DaVinci Resolve (free) :)
@Alex-rv8gw
@Alex-rv8gw 3 місяці тому
hi sir do you mind sharing your hardware schematics and coding for learning purposes?
@iot_enthusiast
@iot_enthusiast Рік тому
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 ?
@alexanderkichenko2277
@alexanderkichenko2277 Рік тому
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.
@yaswanthpeyyala5849
@yaswanthpeyyala5849 3 місяці тому
can you please do a video, to use gdbstub without jtag interface with vscode
@eduardo9626
@eduardo9626 10 місяців тому
Example of serial conection and configuration ?
@joecox9958
@joecox9958 2 роки тому
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!
@YuriR
@YuriR Рік тому
Hi Joe! Thank you! Yes I'm going to cover FreeRTOS in future videos! :)
@joaonewmaker1057
@joaonewmaker1057 2 роки тому
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!
@YuriR
@YuriR Рік тому
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.
@emddom
@emddom 4 місяці тому
Have you made a version of this video for Linux, as well?
@maximmaxim8347
@maximmaxim8347 4 місяці тому
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?
@tuanbaotieu4317
@tuanbaotieu4317 Рік тому
Nice!! How to do that with Jlink Edu?
@veeraloganathanvvs5495
@veeraloganathanvvs5495 Рік тому
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?
@YuriR
@YuriR Рік тому
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.
@michaelkremer3146
@michaelkremer3146 Рік тому
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.
@SecondaryAccount-or3pk
@SecondaryAccount-or3pk 5 місяців тому
can't we use serial interface for debugging purpose?
@mynameismole
@mynameismole 3 місяці тому
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.
@edfeten4724
@edfeten4724 2 роки тому
Hi Yuri, Is it necessary to connect 3.3V and GND between the debugger board and the eval board? Thanks
@YuriR
@YuriR 2 роки тому
Hi Ed. Always connected the GND to avoid any ground plane differences. 3V3 you only need to connect if you need to supply power to one of the boards. (Example: if you plug the USB port for both boards, you don't need the 3V3 connected between them)
@joecox9958
@joecox9958 2 роки тому
really nice thanks! can you put your list under each video as easy index?
@YuriR
@YuriR Рік тому
Hi Joe, thank you, do you mean add the other videos in the series in the description? If so, yes, I will do it, thanks for the suggestion.
@bennguyen1313
@bennguyen1313 Рік тому
It seems tools in this video also equally applicable to the ESP8266, and it's RISC-V successor (ESP32-C3H4 cfg)? So FTDI's 2232HL drivers (D2XX and VCP) support dual COM ports, but by installing Zadig / Winusb (Interface 0) then you get a COM port and a JTAG/OpenOCD? I like the tip of calling (prerun) tasks json from launch json in order to run OpenOCD! But does debugging actually flash the program.. or if you cycle power nothing in the flash changed? And just for safety, is it possible to ONLY program the application, and not the bootloader bin? Finally, not mentioned, but how DO you program via the bootloader? I understand it uses the serial interface, but after putting the board in bootloader mode, how does the application file get generated/uploaded?
@YuriR
@YuriR Рік тому
Hi Ben, sorry for the delay. You are right, the idea of this video is to show how everything works in the background and how you configure them. In order to change the microcontroller you just need to rewire the JTAG and configure your OpenOCD and the rest should be the same. Regarding the COM Port, that's correct, by default, windows configure the 2232HL chip as dual serial, but instead, we need one serial and one debug interface. That is why we use Zadig to change that. Regarding the Debugging flashing the program, if you just run the debugger, it won't load the firmware for you. That is why we created that prerun task. As the debugger can read and write the flash memory you can update just the application if you want. Alternatively, you can load just your application via serial using idf.py app-flash if you want. Regarding programming via the bootloader, I'm not sure exactly what you want to know, but my first IDF video on the channel shows how to do it. In this video here we are uploading straight through JTAG, writing in the memory directly. I hope that helps!
A very comprehensive ESP32 Debugging Guide.
12:21
J's e-shack
Переглядів 6 тис.
EEVblog #499 - What is JTAG and Boundary Scan?
28:59
EEVblog
Переглядів 456 тис.
Extracting and Modifying Firmware with JTAG
21:03
Matt Brown
Переглядів 28 тис.
Отладка ESP32 в PlatformIO
26:48
Alex Morozov
Переглядів 21 тис.
REAL Debugging Arduino + ESP32 | JTAG Programmer
9:05
Electronoobs
Переглядів 14 тис.
Getting Started with ESP32 - Step-By-Step Tutorial
19:50
Tomasz Tarnowski
Переглядів 294 тис.
Getting Started with the ESP32 Development Board  |  Programming an ESP32 in C/C++
15:23
Big Tech AI Is A Lie
16:56
Tina Huang
Переглядів 29 тис.
#261 ESP32 Line-by-line Debugging - works with many ESP32 modules
21:21
Ralph S Bacon
Переглядів 21 тис.
ESPHome Basic Setup For All ESP Devices
44:21
Home Automator
Переглядів 4,5 тис.
jTag debugging Introduction | Debugging Linux Kernel and Linux Device Driver | Youtube
1:52:32
I wish I knew this When Istarted Programming #school #software  #codingtips
0:34
Claude Ams - Programming Guru 💻
Переглядів 4,2 млн
How Neuralink Works 🧠
0:28
Zack D. Films
Переглядів 8 млн
СКОЛЬКО ЕЩЕ БУДЕТ АКТУАЛЕН IPHONE 13?
14:10
DimaViper Live
Переглядів 51 тис.
Phone charger explosion
0:43
_vector_
Переглядів 20 млн