Products > Embedded Computing

Programming an ESP32 from Raspberry Pi

(1/2) > >>

HwAoRrDk:
Does anyone know if it's possible to program an ESP32 using a Raspberry Pi's UART, including using the auto-reset circuitry (from DTR/RTS)?

Now, I know that the Raspberry Pi UARTs don't have (or don't expose on the GPIO header) the DTR signal - only CTS & RTS - but I was wondering if there is any way to convince esptool to use CTS instead of DTR.

I perused the esptool documentation but couldn't see any options related to UART alternative signals.

langwadt:
CTS is an input ....

HwAoRrDk:
It is? Well, never mind then...  :palm:

I can never remember which direction all the serial control signals are. :)

djacobow:
If the serial pins on the RPi GPIO header are not sufficient (I believe the main 40pin header only has tx and rx), you can always plug in an FTDI or other serial adapter cable into the RPi's USB port, and you'll get a complete serial port with all the extra signals. That will almost certainly work fine.

An alternative that you might investigate is JTAG programming. There is a branch of OpenOCD that works with ESP32, so you should be able to use it to JTAG program (and debug!). If you build it on the Raspberry Pi and use "LinuxGPIO" adapter, you can choose whichever GPIO pins are convenient for you and I bet it will work. I do exactly this for Cypress PSoC and it works surprisingly well.

langwadt:

--- Quote from: djacobow on July 24, 2022, 03:06:48 am ---If the serial pins on the RPi GPIO header are not sufficient (I believe the main 40pin header only has tx and rx), you can always plug in an FTDI or other serial adapter cable into the RPi's USB port, and you'll get a complete serial port with all the extra signals. That will almost certainly work fine.

An alternative that you might investigate is JTAG programming. There is a branch of OpenOCD that works with ESP32, so you should be able to use it to JTAG program (and debug!). If you build it on the Raspberry Pi and use "LinuxGPIO" adapter, you can choose whichever GPIO pins are convenient for you and I bet it will work. I do exactly this for Cypress PSoC and it works surprisingly well.

--- End quote ---

with a gpio available it should be possible to make a minor change to: https://github.com/espressif/esptool/blob/master/esptool/loader.py


Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version