I find that I keep bricking the devices with no good reason for it (I was only creating an app that transmitted data on the UART). Basically, after the application has been uploaded, it's impossible to ever flash the device again.
If I put a serial sniffer on the device to look at the debug output during boot:
When it is allowed to boot normally, I see
Code: Select all
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0xd (SPI_FAST_FLASH_BOOT)
Saved PC:0x4004c0dc
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff
invalid header: 0xffffffff (repeats indefinitely and reboots)
Code: Select all
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x1 (POWERON),boot:0x1 (SPI_DOWNLOAD_BOOT)
wait spi download
Code: Select all
ESP-ROM:esp32c3-api1-20210207
Build:Feb 7 2021
rst:0x15 (USB_UART_CHIP_RESET),boot:0x1 (SPI_DOWNLOAD_BOOT)
Saved PC:0x40052148
wait spi download
Code: Select all
esptool.py v4.8.1
Serial port COM10
Connecting....
A serial exception error occurred: Write timeout
Note: This error originates from pySerial. It is likely not a problem with esptool, but with the hardware connection or drivers.
For troubleshooting steps visit: https://docs.espressif.com/projects/esptool/en/latest/troubleshooting.html
I have exactly the same issue with four of these boards. They just refuse to flash any more.
Is there any way to reset them using a jtag or some hard reset mechanism?
Thanks