For my 20230126 - Master Thesis TFM I would like to use ESP32, but also I would like to use it with a JTAG controller. It is a bit confusing so I will put here my discoveries:
- Introduction to ESP-Prog Board
- JTAG Debugging
- Datasheet of ESP32 chip
- Schematic of ESP32-s3-devkit
- Datasheet of ESP32-s3-wroom
There are some pins to control where do you want the debugger (USB or EXTERNAL) and the program option (via ESP-PROG or via USB).
In the ESP-S3_devKit there is a usb interface that implements the jtag and everything. But also it is possible to use a ESP-PROG (external programmer) and all these connections are not necessary. On the ESP32-S3-devkit there is a programmer and a debugger, so it is not necessary to use an external esp-prog.
My conclusion is that if you want a programmer and debugger vía usb just copy the design from esp-s3-devkit, but if you want to have a simpler design, just use the esp-prog
IMPORTANT It is possible to program the ESP32S3 without an external programmer!!!! It is not necessary. Just read 20231030 - ESP32S3 build in debug tool
Debugger
In order to use the built in debugger you need to connect a USB Cable to some points. It is true there is a internal jtag interface and it is not necessary an external debugger, buuuuut you need to solder a cable. It seems that is easier to use esp-prog.
Programming
The ESP32S3 can be programmed:
- Using the IO19 and IO20 though the USB cable. There is a internal USB interface. See the adafruit ESP32S3
- Or using the ESP programmer, in which you would connect to RXD0 and TXD0. See the dev board of ESP32S3