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:
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.
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)
This is the error it bails out with:
The same code with the partition storage, which is below 0x1000000:
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
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!