Page 1 of 1

Programming via ESP-PROG Tool

Posted: Thu Aug 17, 2023 7:18 pm
by jimolson
My thanks for an extremely helpful users forum, and the completeness of Espressif's fine application tutorials.

However, the tutorial for the ESP-PROG programming/debug tool is ambiguous about one thing: if my target design monopolizes the ESP32's TXD0 and RXD0 pins, can I program the device using the processor's JTAG pins?

In other words, can I use the MTDI, MTDO, MTMS, and MTCLK pins to squirt code into an ESP32 processor? Or are these pins reserved for just debug tasks?

Thanks from Indianapolis US.

Jim Olson

Re: Programming via ESP-PROG Tool

Posted: Fri Aug 18, 2023 4:06 am
by ESP_Sprite
Yes, you can. Note that if you're using any of the newer ESP32 chips (C3, C6, S3) you can also use the USB-serial-JTAG peripheral to do all that.

Re: Programming via ESP-PROG Tool

Posted: Fri Aug 18, 2023 10:51 am
by jimolson
So if downloading of firmware to an ESP32 can be accomplished through the JTAG pins, why does the ESP-PROG programmer/debugger have a standalone programming umbilical cord devoted to programming through the TxD0 and RxD0 pins?

Are you saying that another, non-ESP-PROG, non-Espressif tool plus driver program can use the JTAG pins for programming?

Maybe programming through the TxD0 and RxD0 pins is intended for legacy ESP32 family members?

Re: Programming via ESP-PROG Tool

Posted: Sat Aug 19, 2023 12:28 pm
by ESP_Sprite
jimolson wrote:
Fri Aug 18, 2023 10:51 am
So if downloading of firmware to an ESP32 can be accomplished through the JTAG pins, why does the ESP-PROG programmer/debugger have a standalone programming umbilical cord devoted to programming through the TxD0 and RxD0 pins?
Because some people (most people?) prefer simple logging to help them in their programming rather than the full setup of a JTAG debugger. You only need the serial pins for that.
Are you saying that another, non-ESP-PROG, non-Espressif tool plus driver program can use the JTAG pins for programming?
More-or-less any JTAG adapter supported by OpenOCD can be used to debug/flash the ESP32.