Page 1 of 1

ESP32S3 + 1Gib [128MB] Flash - partial success

Posted: Tue Jun 07, 2022 9:27 am
by thyclouds
Hi!

We have been following great work done by @rudi ;-) as described here: https://www.esp32.com/viewtopic.php?t=19900&start=60
Rudi has soldered on a WINBOND W25Q01JVZEIQ to ESP32-S3 Wroom and was able to get it to the state where it is initialized as he described here https://github.com/espressif/esp-idf/pull/7688/files and in the set of Twitter posts. We have replicated his work and were able to get thus far:
Picture1.png
Picture1.png (57.82 KiB) Viewed 1546 times
We then tried to flash above 16MBs but weren’t successful, once esptool gets to the 16MBs it errors out. The idea is that you would need to switch from 24 bit address space to 32 bit address space via SPI command. This is how Rudi did it, but we weren’t able to find the code he used for it and weren’t able to replicate it.
Picture2.png
Picture2.png (83.03 KiB) Viewed 1546 times
We were able to flash starting from another address offset thus going above 16MB, but ESP won’t boot and errors out. We then decided to break it to multiple partitions above 0x1000000 (see spiffs partition)
Picture4.png
Picture4.png (43.3 KiB) Viewed 1546 times

This is the error it bails out with:
Picture4.png
Picture4.png (43.3 KiB) Viewed 1546 times
The same code with the partition storage, which is below 0x1000000:
Picture4.png
Picture4.png (43.3 KiB) Viewed 1546 times
To flash we use–no-stub :

Code: Select all

python. esptool.py --no-stub -p COM13 -b 921600 --before default_reset --after hard_reset --chip esp32s3 write_flash --flash_mode keep --flash_freq 40m --flash_size detect 0x10000 blink.bin 0x0 bootloader/bootloader.bin 0x1000000 storage.bin 0x8000 partition_table/partition-table.bin
Here @igrr says that usage of 32MB+ flash is now possible
https://github.com/espressif/esp-idf/issues/8365
https://github.com/espressif/esp-idf/issues/7670
However he says "there are still some things which aren't supported, like placing the app itself outside of the lower 16MB area".

Has anyone been able to get it to work? Or use other partitions on the chip to store application data and access it?

Any help and comments would be greatly appreciated!