Closed Testi89 closed 6 years ago
Unfortunately, the datasheet for the SST26VF032 suggests it's probably not compatible with all of the SPI flash command set used by ESP8266.
The only solution may be to find a different chip that supports more of the common SPI flash commands.
Is there any documentation out there in the community with "known good" (and known bad) specific Flash silicon tested with the ESP8266 (and ESP32)? There do seem to be a couple of quirky ones out there.
Surprisingly I ran into the same problem as Testi89 at about the same time, as I was unable to obtain the W25Q32 from my suppliers. I'm now testing an ISSI IS25WP032 as replacement for the in the Espressif reference schematics. This chip is also mentioned here https://esp32.com/viewtopic.php?f=2&t=826 as having been spotted on an ESP32 module. Another option seems to be the GigaDevice GD25Q32, as mentioned here http://www.lucadentella.it/en/2016/12/22/esp32-4-flash-bootloader-e-freertos/
I' not sure which flash_chips.h Testi89 is referring to, the only one I can find is from coreboot. https://code.coreboot.org/p/flashrom/source/tree/HEAD/tags/0.9.8/flashchips.h If it is the right one, that might be a source for more compatible types.
I recently got a batch of Winbond 25Q32FVSIG and they don't work. (On ESP8266 not the '32.) Maybe I just got a bad batch of silicon. (They are cheap AliExpress ones.)
I didn't have any other chips in stock, so I popped the can off an ESP12 and removed the BergMicro 25Q32ASSIG and swapped it onto one of my boards - and this works fine. But without a datasheet for the latter it's hard to say if there are differences.
When I try to flash a SST26VF032 from microchip/SST, esptool gets a timeout when trying to connect and flashing is not possible (A fatal error occurred: Failed to connect to ESP8266). I use a SST26VF032 as a substitute for a 4Mb chip on an older ESP12 module.
Reading the chipID from ESP8266 is working, so my setup seems to be correct:
I can find the SST26VF032 in the flash table (flash_chips.h), so I am wondering why is it not possible to flash this chip (#define SST_SST26VF032 0x2602).
tested with 1.3-dev