Is it possible something might have been shorting one of the SPI pins on the ESP32 at the time it was not responding to commands (ie flash model 0xffff, etc)? This is the most common cause of this problem that I see (the chip appears to disappear entirely if it isn't getting a complete set of SPI signals).
The SPI signals are quite high speed, so if it's a dev board that exposes the SPI pins even having them touch something slightly conductive (or capacitive) can be enough to spoil communications.
The other possible cause is the MTDI pin (GPIO12) being pulled high on reset which puts the flash chip into 1.8V mode, if that particular flash chip doesn't support 1.8V operation then it browns out and will appear to do nothing.
How many times can you flash?
Re: How many times can you flash?
I tried to verify this after searching the net. Also tried to press the module to see if that impacted things. So I discarded this, but it's always a possibility.ESP_Angus wrote:Is it possible something might have been shorting one of the SPI pins on the ESP32 at the time it was not responding to commands (ie flash model 0xffff, etc)? This is the most common cause of this problem that I see (the chip appears to disappear entirely if it isn't getting a complete set of SPI signals).
We did plan an external flash, until discovering that it would not be memory mapped. So we have almost the shortest possible tracks to the pads, nothing soldered.The SPI signals are quite high speed, so if it's a dev board that exposes the SPI pins even having them touch something slightly conductive (or capacitive) can be enough to spoil communications.
That's interesting, as I started using that pin for bit-banging a HT1381 RTC. As it's the data line, that involves switching from an output to an input and back. But before that it already was in use for SPI. The difference is the RTC chip, which wasn't present before.The other possible cause is the MTDI pin (GPIO12) being pulled high on reset which puts the flash chip into 1.8V mode, if that particular flash chip doesn't support 1.8V operation then it browns out and will appear to do nothing.
Also, I remember having to do a:
Before I could use the pin 15, but that is pin MTDO, not MTDI.
// by default consumed by JTAG, so restore
PIN_FUNC_SELECT(GPIO_PIN_MUX_REG[15], PIN_FUNC_GPIO);
Who is online
Users browsing this forum: Google [Bot] and 170 guests