espressif / arduino-esp32

Arduino core for the ESP32
GNU Lesser General Public License v2.1
13.44k stars 7.38k forks source link

ESP32 S3 Always restart at startup #7802

Closed DreamPWJ closed 1 year ago

DreamPWJ commented 1 year ago

Board

v:esp32-s3-devkitc-1

Device Description

ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x3 (RTC_SW_SYS_RST),boot:0xa (SPI_FAST_FLASH_BOOT) Saved PC:0x403cd97a SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x44c load:0x403c9700,len:0xbec load:0x403cc700,len:0x2920 entry 0x403c98d8 ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x3 (RTC_SW_SYS_RST),boot:0xa (SPI_FAST_FLASH_BOOT) Saved PC:0x403cd97a

Hardware Configuration

no

Version

v2.0.6

IDE Name

PlatformIO 、 Clion

Operating System

Windows11

Flash frequency

40

PSRAM enabled

no

Upload speed

921600

Description

image

Sketch

#include <Arduino.h>

void setup() {
// write your initialization code here
    // 设置UART串口波特率
    Serial.begin(115200);
    Serial.println("你好, ESP32 S3单片机");
}

void loop() {
// write your code here
    Serial.println("测试新主控芯片");
}

Debug Message

SP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0xa (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbec
load:0x403cc700,len:0x2920
entry 0x403c98d8
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x3 (RTC_SW_SYS_RST),boot:0xa (SPI_FAST_FLASH_BOOT)
Saved PC:0x403cd97a
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbec
load:0x403cc700,len:0x2920
entry 0x403c98d8

Other Steps to Reproduce

No response

I have checked existing issues, online documentation and the Troubleshooting Guide

DreamPWJ commented 1 year ago

platform = espressif32@4.4.0 work

DreamPWJ commented 1 year ago

esp32 s3 nvs not work

SuGlider commented 1 year ago

I tested it with the Arduino IDE 1.8.18 and Arduino Core 2.0.6. Using the same ESP32-S3 - Working Fine.

Maybe something wrong with PIO configuration and tools? @Jason2866 - Can you help, please?

ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3808,len:0x44c
load:0x403c9700,len:0xbec
load:0x403cc700,len:0x2920
entry 0x403c98d8
SuGlider commented 1 year ago
rst:0x3 (RTC_SW_SYS_RST),boot:0xa (SPI_FAST_FLASH_BOOT)
Saved PC:0x403cd97a

It seems like a problem with the boot loader. Maybe you can try the Arduino IDE with different options Flash/PSRAM OPI, QIO, DIO, etc.

Jason2866 commented 1 year ago

What flash size and type (same for PSRAM) does the board have? Guessing here ends in bootloops. After setting correctly it will probably work. We can help in Platformio Setup, if you answer the question about flash.

DreamPWJ commented 1 year ago

use ESP32-S3-WROOM-1-N4, flash 4M, dio mode, no psram ,ota and nvs not work @Jason2866

Jason2866 commented 1 year ago

@DreamPWJ Put this settings in your [env]

platform = espressif32 @ 5.3.0
board_build.flash_mode  = qio
board_upload.flash_size  = 4MB
board_upload.maximum_size = 4194304

Board is capable to run in mode QIO no need to reduce slower flash mode DIO

If this is not working please use Platformio with VSC. Clion is NOT fully supported from Platformio!

DreamPWJ commented 1 year ago

nvs, data, nvs, , 20k otadata,data, ota, , 8k app0, app, ota_0, , 1700k app1, app, ota_1, , 1700k spiffs, data, spiffs, , 500k I use the flash partition function, is it affected? I am not familiar with vs code @Jason2866

DreamPWJ commented 1 year ago

vscode not work and

 platform = espressif32 @ 5.3.0
board_build.flash_mode  = qio
board_upload.flash_size  = 4MB
board_upload.maximum_size = 4194304

not work start OK but ota and nvs not work E (231) esp_core_dump_flash: No core dump partition found!

DreamPWJ commented 1 year ago

use espressif32@5.3.0 Serial1.read() not work, data is incorrect while (Serial1.available()) { char c = Serial1.read(); response += c; } , but espressif32@5.0.0 work

DreamPWJ commented 1 year ago

board_build.flash_mode = qio It doesn't work either, it's still dio ESP-ROM:esp32s3-20210327 Build:Mar 27 2021 rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT) SPIWP:0xee mode:DIO, clock div:1 load:0x3fce3808,len:0x44c load:0x403c9700,len:0xbec load:0x403cc700,len:0x2920 entry 0x403c98d8 E (231) esp_core_dump_flash: No core dump partition found!

Jason2866 commented 1 year ago

@DreamPWJ I believe your code is not compatible to the actual version. Have you tried a simple "Hello World"? If this does work the setup is correct. For general help for coding problems github issues is not the right place.

DreamPWJ commented 1 year ago

but espressif32@5.0.0 all work @Jason2866

DreamPWJ commented 1 year ago

esp_core_dump_flash: No core dump partition found! This error message should not be a code problem at the beginning of the startup

DreamPWJ commented 1 year ago

I tested a my hello world, 5.3.0 doesn't work, 5.0.0 can

Jason2866 commented 1 year ago

Can you upload the complete failing Hello World example setup to github? Maybe we can reproduce the issue by this.

DreamPWJ commented 1 year ago

https://github.com/DreamPWJ/embedded-monorepo/tree/master/projects-demo/esp32-s3-demo , set espressif32@5.3.0 , 4.3.0 work @Jason2866

Jason2866 commented 1 year ago

Tested your example with 4.3.0 and 5.3.0. Both work. The Output of the 5.3.0 build

.Äx¯.¯xÄxįx¯.x.Äx.xÄx.x¯ÄÄÄÄÄ.į‰Ω†Â•Ω, ESP32 S3ÂçïÁâáÊú∫
测试新主控芯片循环执行
测试新主控芯片循环执行
测试新主控芯片循环执行
测试新主控芯片循环执行
测试新主控芯片循环执行
测试新主控芯片循环执行
测试新主控芯片循环执行
测试新主控芯片循环执行
测试新主控芯片循环执行
测试新主控芯片循环执行
*  Task wird ausgeführt: platformio run 

Processing esp32-s3-devkitc-1 (platform: espressif32@5.3.0; board: esp32-s3-devkitc-1; framework: arduino)
----------------------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
CONFIGURATION: https://docs.platformio.org/page/boards/espressif32/esp32-s3-devkitc-1.html
PLATFORM: Espressif 32 (5.3.0) > Espressif ESP32-S3-DevKitC-1-N8 (8 MB QD, No PSRAM)
HARDWARE: ESP32S3 240MHz, 320KB RAM, 8MB Flash
DEBUG: Current (esp-builtin) On-board (esp-builtin) External (cmsis-dap, esp-bridge, esp-prog, iot-bus-jtag, jlink, minimodule, olimex-arm-usb-ocd, olimex-arm-usb-ocd-h, olimex-arm-usb-tiny-h, olimex-jtag-tiny, tumpa)
PACKAGES: 
 - framework-arduinoespressif32 @ 3.20006.221224 (2.0.6) 
 - tool-esptoolpy @ 1.40400.0 (4.4.0) 
 - toolchain-riscv32-esp @ 8.4.0+2021r2-patch5 
 - toolchain-xtensa-esp32s3 @ 8.4.0+2021r2-patch5
LDF: Library Dependency Finder -> https://bit.ly/configure-pio-ldf
LDF Modes: Finder ~ chain, Compatibility ~ soft
Found 33 compatible libraries
Scanning dependencies...
No dependencies
Building in release mode
Compiling .pio/build/esp32-s3-devkitc-1/src/main.cpp.o
Building .pio/build/esp32-s3-devkitc-1/bootloader.bin
Generating partitions .pio/build/esp32-s3-devkitc-1/partitions.bin
esptool.py v4.4
Creating esp32s3 image...
Merged 1 ELF section
Successfully created esp32s3 image.
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/Esp.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/FirmwareMSC.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/FunctionalInterrupt.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/HWCDC.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/IPAddress.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/IPv6Address.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/MD5Builder.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/Print.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/Stream.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/StreamString.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/Tone.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/USB.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/USBCDC.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/USBMSC.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/WMath.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/WString.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/base64.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/cbuf.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-adc.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-cpu.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-dac.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-i2c-slave.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-i2c.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-psram.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-rgb-led.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-rmt.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-time.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-tinyusb.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/firmware_msc_fat.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/libb64/cdecode.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/libb64/cencode.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/main.cpp.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/stdlib_noniso.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/wiring_pulse.c.o
Compiling .pio/build/esp32-s3-devkitc-1/FrameworkArduino/wiring_shift.c.o
Archiving .pio/build/esp32-s3-devkitc-1/libFrameworkArduino.a
Indexing .pio/build/esp32-s3-devkitc-1/libFrameworkArduino.a
Linking .pio/build/esp32-s3-devkitc-1/firmware.elf
Retrieving maximum program size .pio/build/esp32-s3-devkitc-1/firmware.elf
Checking size .pio/build/esp32-s3-devkitc-1/firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=         ]   5.8% (used 18992 bytes from 327680 bytes)
Flash: [=         ]   7.6% (used 253921 bytes from 3342336 bytes)
Building .pio/build/esp32-s3-devkitc-1/firmware.bin
esptool.py v4.4
Creating esp32s3 image...
Merged 2 ELF sections
Successfully created esp32s3 image.
================================ [SUCCESS] Took 3.94 seconds ================================

Just changed to 8MB, since i have no 4MB board.

[env:esp32-s3-devkitc-1]
platform = espressif32@5.3.0
board = esp32-s3-devkitc-1
framework = arduino

monitor_speed = 115200
board_upload.flash_size = 8MB
board_upload.maximum_size = 8388608
DreamPWJ commented 1 year ago

platformio has Espressif ESP32-S3-DevKitC-1-N8, no Espressif ESP32-S3-DevKitC-1-N4? I'm sure it's a difference caused by the size of the flash,Or is it the item cache? @Jason2866

Jason2866 commented 1 year ago

@DreamPWJ The settings are flash size. You can check the real flash size of your device via esptool.py flash_id See for more infos

DreamPWJ commented 1 year ago

image

mrengineer7777 commented 1 year ago

Stale