Skip to content

ESP32-S3-Zero (ESP32-S3FH4R2) flash/psram issue - board config unknown for platfromio.ini #1529

Description

@Queequack

I have three ESP32-S3-Zero (ESP32-S3FH4R2, should probably have Flash: 4MB QD and PSRAM: 2MB QD) from Aliexpress. Seems to be the same as mentioned in thread #1318. I have the same problem with all of them. I usually work with ESP32-S3 (ESP32 and others), I'm using PlatformIO and I run hundreds of applications with dozens of different boards.

First of all: The upload works as expected. After restarting the board, the serial monitor displays the following error message.
At the end of the error message: It seems that the PSRAM is not recognized. And if there is a partition problem like in thread #1318, I don't know how to solve it.

E (246) esp_core_dump_flash: Core dump flash config is corrupted! CRC=0x7bd5c66f instead of 0x0
Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x40377ac4
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x4bc
load:0x403c9700,len:0xbd8
load:0x403cc700,len:0x2a0c
entry 0x403c98d0
E (196) opi psram: PSRAM ID read error: 0x00000000, PSRAM chip not found or not supported, or wrong PSRAM line mode
E (197) spiram: SPI RAM enabled but initialization failed. Bailing out.
E (215) spi_flash: Detected size(4096k) smaller than the size in the binary image header(16384k). Probe failed.

assert failed: do_core_init startup.c:328 (flash_ret == ESP_OK)

I've also tried this setup from thread #1318, this setup and this file without success.
This is my current platformio.ini, which also leads to the error (from thread #1318).

; Flash: 4MB QD, PSRAM: 2MB QD
[env:ESP32-S3-ZERO-TEST]
platform = espressif32
framework = arduino
monitor_speed = 115200
board = esp32-s3-devkitc-1
board_build.extra_flags = 
  -DBOARD_HAS_PSRAM

board_build.arduino.memory_type = qio_qspi
board_build.flash_mode = qio
board_build.psram_type = qio
board_upload.flash_size = 4MB
board_upload.maximum_size = 4194304

The sketch doesn't really play a role. I just want a simple serial output for test purposes.

#include <Arduino.h>

void setup() 
{
  Serial.begin(115200);
  Serial.println("STARTED");
}

void loop() 
{
  Serial.println("TEST");   // not nice, only a test
}

Thank you and regards

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions