Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
ESP32-C3 JTAG Debug
Rating: 4.0 out of 5(13 ratings)
128 students

ESP32-C3 JTAG Debug

Learning JTAG Debug Skill by using OpenOCD
Created byHUI HU
Last updated 12/2022
English

What you'll learn

  • GDB, JTAG, OpenOCD basic knowledge
  • Setup GDB JTAG Debug for ESP32
  • Use GDB to debug ESP32-C3 software
  • JTAG GDB debug skills

Course content

2 sections15 lectures3h 22m total length
  • JTAG Interface Review7:33
  • OpenOCD Review15:46
  • GDB Review8:10
  • Prepare Hardware and Software17:01

    About the hardware, the esp32 company "espressif" it has one board named ESP32-C3-DevKit-RUST-1, it is an open source hardware project. You can get the schematics, gerber files and kicad files from this linker in the external resources. The board has one jtag and flash usb interface.  You can DIY one board or directly buy one from that linker.


    About the software, all the course examples have been tested on idf sdk ver4.4.1 software. You also can download the esp-idf-tools-setup-offline-4.4.1 software from this google drive linker in the external resources.

Requirements

  • one ESP32-C3 board with USB Jtag interface, such as "ESP32-C3-DevKit-RUST-1".

Description

This course focus on how to use GDB to implement the JTAG debug for ESP32-C3 firmware software through OpenOCD.

We will learn the JTAG debug skill for the following GDB commands:


(1) Break command: learn how to add break point at different positions of the code, how to check the break point information,  delete break point and set the temporary break point;

(2) Watch command: learn how to watch the value for different types of variables, such as, integer, pointer and expression;

(3) Next, Step, Until command: Learn how to debug the code step by step;

(4) Print command: learn how to print out data value for the integer, array, string, struct and variables in different functions and files, also included how to set data with different values by print command;

(5) Display command: learn how the display command automatically show the variables' value;

(6) Examine command: learn how to show variables' value according the memory address;

(7) Ptype, whatis command: learn how to show the type of the variables;

(8) Backtrace, where, frame command: learn how to trace the code by the stack information;

(9) Jump command: learn how to ignore code, repeat code and run branch code by the jump comand;

(10) Set command: learn how to set "code" variable value and how to set "environment" variable value;

(11) Define command: learn how to create a new "command" by using define command;


NOTES:

The course is based on one ESP32-C3 USB JTAG board, NOT one normal ESP32 board. You can get more information from lecture 4.

Who this course is for:

  • People who is interested in using GDB JTAG debug for ESP32-C3