My board is esp32-s3-n16r8. After configuring and burning according to the official JSON, the serial port information always crashes

The content of this serial monitor will still be like this even if you press the reset button.
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x4bc
load:0x403c9700,len:0xbd8
load:0x403cc700,len:0x2a0c
entry 0x403c98d0
ESP-ROM:esp32s3-20210327

This is the bootlog and will be always printed after reset / startup. This is fine and no errer.

Does this message repeat over and over again?

Yes, this is my main.cpp. It keeps restarting repeatedly and doesn’t execute the program. I’m a beginner and don’t understand much, but no matter what program I burn, it gets stuck in this repeated restart and there’s no follow-up.
#include <Arduino.h>

#define LED_PIN 48

void setup() {

Serial.begin(115200); // 确保与 platformio.ini 中的 monitor_speed 一致

delay(1000); 

Serial.println("ESP32-S3 Booted!");

Serial.printf("Total PSRAM: %u bytes\\n", ESP.getPsramSize());

Serial.printf("Free PSRAM: %u bytes\\n", ESP.getFreePsram());

pinMode(LED_PIN, OUTPUT);

digitalWrite(LED_PIN, LOW);

}

void loop() {

Serial.println("Hello from Loop!");

digitalWrite(LED_PIN, HIGH);

delay(500);

digitalWrite(LED_PIN, LOW);  

delay(500);

}

Please show the content of your platformio.ini!

I recommend switching your current GPIO pin to 13 or smth safe. GPIO48 is used internally for USB D- and toggling it disconnects USB

Good catch!

Silly I didn’t notice because it is outside of the code block.

[env:esp32-s3-devkitc-1]

platform = espressif32

board = esp32-s3-devkitc-1

framework = arduino

monitor_speed = 115200

upload_speed = 921600

board_upload.flash_size = 16MB

board_build.partitions = default_16MB.csv

board_build.arduino.memory_type = qio_opi

board_build.flash_mode = qio

board_build.psram_type = opi

board_build.f_flash = 80000000L

board_build.f_cpu = 240000000L

build_flags =

-DBOARD_HAS_PSRAM

-mfix-esp32-psram-cache-issue

-DCORE_DEBUG_LEVEL=3


I still have the same situation after switching to 13.

remove
board_build.f_flash
and
mfix-esp32-psram-cache-issue

Perform a full clean and retry


oh Thanks, it seems that PSRAM is enabled, but my main.cpp hasn’t changed, and it still doesn’t respond or crashes.

from where you have this ? and you log place as text no image plus load fw part too.
Try leave here only flash_mode

These settings are absolutely correct for an esp32-s3-n16r8. See GitHub - sivar2311/ESP32-PlatformIO-Flash-and-PSRAM-configurations: ESP32-S3 PlatformIO Flash and PSRAM configurations

Yes if i see here some word WROOM i agree, but here exist many variants… But primary seems on log is showed DIO , then …

Yes, that’s right. I’ve tried many settings, but it’s always DIO. I can’t adjust it to QIO. It’s an ESP32-S3 N16R8 board. Do you have a solution? I really need it.

I mean DIO is normal in ROM boot stage, most compatible load partitions info and bootloader.bin then switch to configured mode and load app and run. Seems some part of this dont work. Show schematics how you connect , GPIO used etc.

The following is what I used for testing, which only used one pin.
#include <Arduino.h>

#define LED_PIN 13

void setup() {

Serial.begin(115200); // 确保与 platformio.ini 中的 monitor_speed 一致

delay(1000); 

Serial.println("ESP32-S3 Booted!");

Serial.printf("Total PSRAM: %u bytes\\n", ESP.getPsramSize());

Serial.printf("Free PSRAM: %u bytes\\n", ESP.getFreePsram());

pinMode(LED_PIN, OUTPUT);

digitalWrite(LED_PIN, LOW);

}

void loop() {

Serial.println("Hello from Loop!");

digitalWrite(LED_PIN, HIGH);

delay(500);

digitalWrite(LED_PIN, LOW);  

delay(500);

}

Irelevant what you write to code, i ask what is connected to board? FYI for example S3 have two mode to load code and show logs. 1.UART 2.USB CDC etc.

1 Like