In JTAG Debugging the ESP32 with FT2232 and OpenOCD, I used an FTDI FT2232 breakout board to JTAG debug with OpenOCD. With an adapter board on top of the TDI FT2232, the wiring is much easier and simpler to use:
Programming the ESP32 With an ARM Cortex-M USB CDC Gateway
The Espressif ESP32 devices are everywhere: They are inexpensive, readily available, and the Espressif IDF environment and build system actually is pretty good, working well for me, including Eclipse (see “Building and Flashing ESP32 Applications with Eclipse“). The default way to program an ESP32 is to a) enter UART bootloader by pressing some pushbuttons, and b) flash the application with ESP-IDF using a USB cable.
You may also like: The Ultimate IoT Hardware Comparison Guide
That works fine if the ESP32 is directly connected to the host PC. But in my case, it is behind an NXP Kinetis K22FX512 ARM Cortex-M4F microcontroller and not directly accessible by the host PC. So, I had to find a way how to allow boot loading the ESP32 through the ARM Cortex-M which is the topic of this article.