Configure Other JTAG Interface
For guidance about which JTAG interface to select to enable operation with OpenOCD and ESP32-C3, refer to section Selecting JTAG Adapter. Then follow the three configuration steps below to get it working.
By default, ESP32-C3 JTAG interface is connected to the built-in USB_SERIAL_JTAG peripheral. To use an external JTAG adapter instead, you need to switch the JTAG interface to the GPIO pins. This can be done by burning eFuses using
Burning eFuses is an irreversible operation, so consider both options below before starting the process.
DIS_USB_JTAGeFuse will permanently disable the connection between USB_SERIAL_JTAG and the JTAG port of the CPU. JTAG interface can then be connected to GPIO4-GPIO7. Note that USB CDC functionality of USB_SERIAL_JTAG will still be usable, i.e. flashing and monitoring over USB CDC will still work.
JTAG_SEL_ENABLEeFuse will enable selection of JTAG interface by a strapping pin, GPIO10. If the strapping pin is low when ESP32-C3 is reset, JTAG interface will use GPIO4-GPIO7. If the strapping pin is high, USB_SERIAL_JTAG will be used as the JTAG interface.
Identify all pins/signals on JTAG interface and ESP32-C3 board that should be connected to establish communication.
MTDO / GPIO7
MTDI / GPIO5
MTCK / GPIO6
MTMS / GPIO4
Verify if ESP32-C3 pins used for JTAG communication are not connected to some other hardware that may disturb JTAG operation.
Connect identified pin/signals of ESP32-C3 and JTAG interface.
You may need to install driver software to make JTAG work with computer. Refer to documentation of your JTAG adapter for related details.