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.