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

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 มิ.ย. 2024
  • 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
  • วิทยาศาสตร์และเทคโนโลยี

ความคิดเห็น • 238

  • @colanuss4985
    @colanuss4985 2 ปีที่แล้ว +82

    This is one of the best produced content that I have ever seen for embedded programming! Keep it up

    • @YuriR
      @YuriR  2 ปีที่แล้ว +1

      Thank you so much! I'm glad you enjoyed! New videos coming soon!

    • @micah2936
      @micah2936 ปีที่แล้ว +1

      @@YuriR i agree with this comment. I’ll definitely subscribe for more like this

    • @r_be
      @r_be ปีที่แล้ว

      @@YuriR but we want more 😉

  • @chrissold5957
    @chrissold5957 6 หลายเดือนก่อน

    Can not thank you enough for this help - 20 min of pure & necessary info

  • @gere364
    @gere364 8 หลายเดือนก่อน

    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.

  • @leonardoherran2523
    @leonardoherran2523 2 ปีที่แล้ว +1

    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 ปีที่แล้ว +1

      Thank you so much! Will continue publishing for sure. Having more time now for the channel, new videos coming soon!

  • @GeekyMino
    @GeekyMino 2 ปีที่แล้ว +12

    This is extremely well made! One of the best videos I've seen. Great production quality! Keep up the great work.

    • @YuriR
      @YuriR  2 ปีที่แล้ว +1

      Thank you so much! I really appreciate the comment! New videos coming soon :)

  • @ChrisCowherd
    @ChrisCowherd ปีที่แล้ว +4

    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  ปีที่แล้ว +1

      Thank you so much Chris for the donation and the kind words! I really appreciate it. More videos will be coming soon this year! :)

  • @realohh
    @realohh ปีที่แล้ว +1

    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.

  • @theplen80
    @theplen80 ปีที่แล้ว +1

    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! :)

  • @sss22215
    @sss22215 2 ปีที่แล้ว +1

    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 :)

  • @james2396
    @james2396 ปีที่แล้ว +1

    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  ปีที่แล้ว +1

      Great to hear! I hope you like it!

  • @czarekcz1097
    @czarekcz1097 2 ปีที่แล้ว +11

    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 ปีที่แล้ว +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!

  • @innomkr
    @innomkr 2 ปีที่แล้ว +1

    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 :)

  • @christian4052
    @christian4052 2 ปีที่แล้ว +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 ปีที่แล้ว +1

      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 :)

  • @GaneshSonwane
    @GaneshSonwane 2 ปีที่แล้ว +4

    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 :)

  • @harerudez4788
    @harerudez4788 2 ปีที่แล้ว +1

    Man, that is an amazing video! Thanks and keep it on! 🔥

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Glad you liked it!

  • @kapdivyang
    @kapdivyang 2 ปีที่แล้ว +3

    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.

  • @bertieblob3387
    @bertieblob3387 2 ปีที่แล้ว +1

    Very useful and well presented. Would be interested in more around ESP32 development. Thank you.

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Thank you! More to come! :)

  • @franciszucco1993
    @franciszucco1993 2 ปีที่แล้ว +2

    Great and detailed video, waiting for your next video already

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Thank you! Already working on it :)

  • @jjlebrams4421
    @jjlebrams4421 ปีที่แล้ว +2

    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 :)

  • @MatthijsHoekstra
    @MatthijsHoekstra 3 หลายเดือนก่อน

    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.

  • @patrickdemeyer2210
    @patrickdemeyer2210 5 หลายเดือนก่อน

    Very interesting , Thanks for sharing . The ESP forest is getting very large to find good info.

  • @deepneon5414
    @deepneon5414 ปีที่แล้ว +1

    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 :)

  • @watcherofvideoswasteroftim5788
    @watcherofvideoswasteroftim5788 ปีที่แล้ว

    What an awesome video, super helpful, thanks a lot!

  • @vigneshs6232
    @vigneshs6232 2 ปีที่แล้ว +2

    Really really good video with most useful content for Programmers.....Thankyou....Keep rocking....

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Really really thank you :) I'm glad that it's useful! More videos coming!

  • @thecoolaravind
    @thecoolaravind ปีที่แล้ว +7

    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

  • @rahulr9301
    @rahulr9301 2 ปีที่แล้ว +1

    Wow....amazing video brother!!!

    • @YuriR
      @YuriR  2 ปีที่แล้ว +1

      Thank you so much! :)

  • @MrDipankarpanda
    @MrDipankarpanda ปีที่แล้ว +1

    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  ปีที่แล้ว +1

      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!

  • @danielelmuneco1994
    @danielelmuneco1994 3 หลายเดือนก่อน

    Amazing video, thanks!
    One nice topic would be to deep dive into OTA updates.

  • @thuyetmai9650
    @thuyetmai9650 2 ปีที่แล้ว +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!

  • @tm_digita
    @tm_digita 2 ปีที่แล้ว +1

    @Yuri Y
    Excellent easy to understand explanation as always 👍.
    Keep it up.

    • @YuriR
      @YuriR  2 ปีที่แล้ว +1

      Thank you so much!

  • @AlejandroHidalgoL
    @AlejandroHidalgoL 2 ปีที่แล้ว +1

    Amazing recommendations, you are a guru! Thanks!

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Hi Alejandro! Thank you! Glad it helped!

  • @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!

  • @pointer2null
    @pointer2null 2 ปีที่แล้ว +1

    Looking forward to more of these videos.

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Thank you! More videos coming soon :)

  • @lars-goranlindstrom7467
    @lars-goranlindstrom7467 2 ปีที่แล้ว +1

    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

  • @stryderx1
    @stryderx1 2 ปีที่แล้ว +1

    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!

  • @Flockman3065
    @Flockman3065 8 หลายเดือนก่อน

    your video's have a very clear presentation style, i just wish you'd make more video's

  • @CaliBeta
    @CaliBeta 6 หลายเดือนก่อน

    Excellent video 😍

  • @valtermarcone9160
    @valtermarcone9160 ปีที่แล้ว

    Sure this is the best video on esp32. Go on

  • @linocmr
    @linocmr 2 ปีที่แล้ว +4

    Top video ...thanks a lot... don't stop again.

    • @YuriR
      @YuriR  2 ปีที่แล้ว +1

      Thank you! Will be publishing more videos soon :)

  • @ogunniyiadebambo2822
    @ogunniyiadebambo2822 10 หลายเดือนก่อน

    Thank you very much sir..... I will need to learn more about esp32

  • @s.maximus8884
    @s.maximus8884 ปีที่แล้ว

    very good tutorial! Thank so much!

  • @danhpham829
    @danhpham829 2 ปีที่แล้ว +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! :)

  • @30abadid
    @30abadid 2 ปีที่แล้ว +1

    Maninhooooooo me chama pra ser tua marqueteira kkkk SUCESSO!

  • @hbend1li
    @hbend1li ปีที่แล้ว +1

    Thank you yuri your tutorial are very useful and helpful 😃

    • @YuriR
      @YuriR  ปีที่แล้ว

      Hi Hamza! Thanks for the comment! Glad it helped! :)

  • @edilmedeiros
    @edilmedeiros 16 ชั่วโมงที่ผ่านมา

    Excellent video.

  • @arjayUU
    @arjayUU 2 ปีที่แล้ว +1

    keep up the good work!

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Thank you, will try! :)

  • @fullpower8382
    @fullpower8382 9 หลายเดือนก่อน

    Nice Way to go! Thx

  • @nicoladellino8124
    @nicoladellino8124 ปีที่แล้ว

    Very nice video, THX.

  • @scotts4406
    @scotts4406 ปีที่แล้ว +1

    Hi Yuri, Thanks for the informative videos. I hope you will resume soon.

    • @YuriR
      @YuriR  ปีที่แล้ว

      Thank you! Will post new videos soon!

  • @PattysLab
    @PattysLab ปีที่แล้ว +1

    Great video!!

    • @YuriR
      @YuriR  ปีที่แล้ว

      Thank you! I'm glad you enjoyed! :)

  • @umutkanl714
    @umutkanl714 2 ปีที่แล้ว +1

    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 TH-cam is randomly removing comments and I can't reply to them. Yours had a legit question but it disappeared :(

    • @umutkanl714
      @umutkanl714 2 ปีที่แล้ว +1

      @@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 :)

  • @dhruvandangar8005
    @dhruvandangar8005 2 ปีที่แล้ว +1

    please keep this series on bro.

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Will do, thank you :)

  • @jacquesblom2312
    @jacquesblom2312 ปีที่แล้ว +1

    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?

  • @vincentyun
    @vincentyun ปีที่แล้ว +3

    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

  • @prashantnaik2651
    @prashantnaik2651 2 ปีที่แล้ว +1

    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 :)

  • @philipchisholm
    @philipchisholm ปีที่แล้ว +1

    Nice Job!!

    • @YuriR
      @YuriR  ปีที่แล้ว

      Thank you! Cheers!

  • @Bianchi77
    @Bianchi77 2 ปีที่แล้ว +1

    Like it, thanks for sharing :)

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Thank you! :)

  • @wolverene1234567890
    @wolverene1234567890 8 หลายเดือนก่อน +1

    @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?

  • @marklatham4204
    @marklatham4204 2 ปีที่แล้ว +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 ปีที่แล้ว +1

      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!

  • @rexbrown2752
    @rexbrown2752 หลายเดือนก่อน

    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.

  • @anthonywebber1155
    @anthonywebber1155 2 หลายเดือนก่อน

    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?

  • @nikoladj.314
    @nikoladj.314 2 ปีที่แล้ว +1

    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 ปีที่แล้ว +3

      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!

  • @dirku63
    @dirku63 2 ปีที่แล้ว

    Nice video with some unique points too sad you did not carry on with that stuff.

    • @YuriR
      @YuriR  2 ปีที่แล้ว +1

      Thanks! Just made a new video, will be uploading more frequently this year :)

  • @patis.IA-AI
    @patis.IA-AI 6 หลายเดือนก่อน

    Thanks very usefull

  • @terlumunjoseph6779
    @terlumunjoseph6779 2 ปีที่แล้ว +1

    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.

  • @ozkarah
    @ozkarah 11 หลายเดือนก่อน

    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?

  • @YuriyKozin
    @YuriyKozin 2 หลายเดือนก่อน

    Отличное видео! спасибо, тёзка! п.с. лайк и подписка

  • @jonathanlevin7660
    @jonathanlevin7660 2 ปีที่แล้ว +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 ปีที่แล้ว +5

      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 ปีที่แล้ว +1

      @@YuriR Great, subscribed and looking forward to it!
      Thanks

    • @paulcardno
      @paulcardno 2 ปีที่แล้ว

      Thanks for video. Im also interested in how to use arduino libraries in idf.

  • @evrenkenanoglu
    @evrenkenanoglu 2 ปีที่แล้ว +1

    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  2 ปีที่แล้ว +1

      Hi Evren, thank you for the comment!

  • @yenyuthnea631
    @yenyuthnea631 ปีที่แล้ว +1

    great videos

    • @YuriR
      @YuriR  ปีที่แล้ว

      Glad you like them! :)

  • @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!

  • @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 ?

  • @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.

  • @HopWorksET
    @HopWorksET ปีที่แล้ว +1

    Thanks!

    • @YuriR
      @YuriR  ปีที่แล้ว

      Wow! Thank you so much Gary! It means a lot to me! Will be making more videos soon!

  • @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  2 ปีที่แล้ว +1

      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.

  • @caliper2pc
    @caliper2pc 2 ปีที่แล้ว +1

    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 ปีที่แล้ว +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.

  • @fahrettinaslaan
    @fahrettinaslaan 2 ปีที่แล้ว

    Thanks Dude

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      No problem mate! :)

  • @nagarajankandasamy581
    @nagarajankandasamy581 2 ปีที่แล้ว +1

    Very detailed information from a Firmware Engineer's perspective. May I know the software used for the animations & editing?

    • @YuriR
      @YuriR  2 ปีที่แล้ว +2

      Hi Nagarajan, the animations are manually made in Adobe After Effects and the video is edited using DaVinci Resolve (free) :)

  • @eduardo9626
    @eduardo9626 2 ปีที่แล้ว

    assunto muito bom, o vscode em parceria com a espressif poderiam sempre tentar melhorar esse recurso

  • @SymphonyOnAsphalt
    @SymphonyOnAsphalt 9 หลายเดือนก่อน

    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

  • @user-hv5ol7re9i
    @user-hv5ol7re9i 5 หลายเดือนก่อน

    Thank you! But, do you know, how to watch peripheral registers of a ESP32

  • @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  ปีที่แล้ว +1

      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.

  • @bennguyen1313
    @bennguyen1313 2 ปีที่แล้ว

    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!

  • @MrSnikul
    @MrSnikul 9 หลายเดือนก่อน

    Where to buy the nice IDC Ribbon Cable-to-breadboard adapter, 10-pin you use in your projects? Regards

  • @maximmaxim8347
    @maximmaxim8347 5 หลายเดือนก่อน

    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?

  • @joeylegaspi3515
    @joeylegaspi3515 ปีที่แล้ว +1

    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

    • @YuriR
      @YuriR  ปีที่แล้ว

      Great to hear it worked!

  • @ZiclopDevices
    @ZiclopDevices 2 ปีที่แล้ว

    Excellent tuto!
    Thanks for sharing.
    Can you put a link for the JTAG/breadboard adapter??

    • @YuriR
      @YuriR  2 ปีที่แล้ว +3

      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.

  • @Alex-rv8gw
    @Alex-rv8gw 4 หลายเดือนก่อน

    hi sir do you mind sharing your hardware schematics and coding for learning purposes?

  • @user-co9gg4re3f
    @user-co9gg4re3f 10 หลายเดือนก่อน

    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,

  • @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  2 ปีที่แล้ว

      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.

  • @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)

  • @markbratcher9095
    @markbratcher9095 2 ปีที่แล้ว

    When my app has an exception I just get a raw binary call stack on the serial terminal. I can run an external tool on the hex values and my bin file to get the function line numbers, but how do you get the terminal to show them.?

    • @YuriR
      @YuriR  2 ปีที่แล้ว +1

      Hi Mark! Sorry for the delay. Yes, when you get exceptions while debugging, the output is raw and you need to use an external tool. I recommend turning off the debugger to check the exception messages right on the terminal. It's a bit annoying.

  • @mynameismole
    @mynameismole 4 หลายเดือนก่อน +1

    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.

  • @joecox9958
    @joecox9958 2 ปีที่แล้ว +1

    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  2 ปีที่แล้ว

      Hi Joe! Thank you! Yes I'm going to cover FreeRTOS in future videos! :)

  • @avr_stm_pro2955
    @avr_stm_pro2955 2 ปีที่แล้ว

    Super 👍

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      Thank you! 👍

  • @SecondaryAccount-or3pk
    @SecondaryAccount-or3pk 6 หลายเดือนก่อน

    can't we use serial interface for debugging purpose?

  • @SukhdeepSingh-wi9uv
    @SukhdeepSingh-wi9uv ปีที่แล้ว

    Best Video, Could you Please upload video, To debug using ESP IDF IDE, using esp Prog

  • @wnbrook4220
    @wnbrook4220 2 ปีที่แล้ว +1

    Hello Yuri, How can I use j-link Segger probe in vs code? thanks in advance.

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      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!

  • @emddom
    @emddom 5 หลายเดือนก่อน

    Have you made a version of this video for Linux, as well?

  • @czarekcz1097
    @czarekcz1097 2 ปีที่แล้ว +1

    Looks like you were trying Rust language programming on esp32. Can you make vlog about this subject?

    • @YuriR
      @YuriR  2 ปีที่แล้ว

      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 :)