Page 1 of 1

ESP32-S3R8 with S25FL064L SPI Flash not working

Posted: Mon Feb 26, 2024 9:19 pm
by MasterOfReality
I have design based around ESP32-S3R8, which uses S25FL064L SPI Flash (datasheet: https://www.infineon.com/dgdl/Infineon- ... e2d2846996) as the main flash.

After I program the MCU with any sample code, I always receive logs as this and they are repeating:

Code: Select all

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x7 (TG0WDT_SYS_RST),boot:0x08 (SPI_FAST_FLASH_BOOT)
Saved PC:0x400454d5
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
ets_loader.c 78
I've tried flashing with both USB-JTAG and USB-UART adapter, leading to same results.

I've tried swapping the Flash IC with another one, extracted from devkit board, and everything was working fine.

I've did more investigation and I've tried reading the flash back (using `esptool`) and compare it with blinky sample bin files, and everything was matching, so the program seems to be written as it should on the flash. However, it looks like it can't be executed.

I've found post on platform.io blog post, https://community.platformio.org/t/my-c ... ings/35736, mentioning same problem, using the same Flash IC.

So the problem is probably some incompatibility between the S25FL064L flash IC and ESP-IDF. Can you maybe provide me some guidelines what can be different for this flash IC, compared to the generic SPI Flash driver?

Thank you in advance.

Re: ESP32-S3R8 with S25FL064L SPI Flash not working

Posted: Tue Feb 27, 2024 2:13 am
by ESP_Sprite
One thing you can try is to change the flash SPI mode (menuconfig -> serial flasher config -> flash SPI mode) to DOUT, see if that makes a difference.

Re: ESP32-S3R8 with S25FL064L SPI Flash not working

Posted: Thu Feb 29, 2024 3:10 pm
by MasterOfReality
Thank you very much for the suggestion, it worked!

It is a bit weird why the DIO is not working with this Flash IC.
Do you have any idea or suggestion why it was not working?

Re: ESP32-S3R8 with S25FL064L SPI Flash not working

Posted: Fri Mar 01, 2024 6:49 am
by ESP_Sprite
Possibly an incompatibility between the chips we expect and the chip you use: the way to get into DIO etc modes is not standardized so it differs a bit between manufacturers, and it can be that the way Infineon uses is unsupported by our ROM.