ESP32-S3-WROOM-2 based board - unable to setup with tinyuf2

ishahak
Posts: 4
Joined: Sun Dec 25, 2022 1:09 pm

ESP32-S3-WROOM-2 based board - unable to setup with tinyuf2

Postby ishahak » Tue Apr 18, 2023 7:07 pm

I have a simple custom board very similar to devkitc, based on ESP32-S3-WROOM-2-N32R8V | Flash: 32 MB (Octal SPI) | PSRAM: 8 MB (Octal SPI)
not identical because I have only one USB connected to the UART, instead of two in the devkitc, and no neopixel hardware.

I tried for two days to build an tinyuf2 to it, without success. it is crashing with assert.

this is the log:
Rebooting...
ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0xc (RTC_SW_CPU_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
Saved PC:0x403753a8
SPIWP:0xee
Octal Flash Mode Enabled
For OPI Flash, Use Default Flash Boot Mode
mode:SLOW_RD, clock div:1
load:0x3fcd0108,len:0x15ec
load:0x403b6000,len:0xc48
load:0x403ba000,len:0x3244
SHA-256 comparison failed:
Calculated: d9b51fd9774c47ce9deb184e95b86417aa2bd61ad693b02a9e53854d388f4c1b
Expected: bbb7dbff32e79bb491fc993b8427e02e877829abcc22c949942747303065b840
Attempting to boot anyway...
entry 0x403b6224
I (55) boot: ESP-IDF v4.4.3-359-g630c2724fc-dirty 2nd stage bootloader
I (56) boot: compile time 21:44:59
I (56) boot: chip revision: 0
I (59) qio_mode: Enabling default flash chip QIO
E (64) qio_mode: Failed to set QIE bit, not enabling QIO mode
I (71) boot.esp32s3: Boot SPI Speed : 80MHz
I (76) boot.esp32s3: SPI Mode : SLOW READ
I (81) boot.esp32s3: SPI Flash Size : 32MB
I (86) boot: Enabling RNG early entropy source...
I (91) boot: Partition Table:
I (95) boot: ## Label Usage Type ST Offset Length
I (102) boot: 0 nvs WiFi data 01 02 00009000 00005000
I (109) boot: 1 otadata OTA data 01 00 0000e000 00002000
I (117) boot: 2 ota_0 OTA app 00 10 00010000 00160000
I (125) boot: 3 ota_1 OTA app 00 11 00170000 00160000
I (132) boot: 4 uf2 factory app 00 00 002d0000 00040000
I (140) boot: 5 ffat Unknown data 01 81 00310000 000f0000
I (147) boot: End of partition table
I (152) boot: Defaulting to factory image
I (156) esp_image: segment 0: paddr=002d0020 vaddr=3c020020 size=0589ch ( 22684) map
I (170) esp_image: segment 1: paddr=002d58c4 vaddr=3fc8fc70 size=01dfch ( 7676) load
I (175) esp_image: segment 2: paddr=002d76c8 vaddr=40374000 size=08950h ( 35152) load
I (191) esp_image: segment 3: paddr=002e0020 vaddr=42000020 size=151a0h ( 86432) map
I (212) esp_image: segment 4: paddr=002f51c8 vaddr=4037c950 size=03320h ( 13088) load
I (220) boot: Loaded app from partition at offset 0x2d0000
I (221) boot: Disabling RNG early entropy source...
I (232) cpu_start: Pro cpu up.
I (233) cpu_start: Starting app cpu, entry point is 0x40374d48
I (191) cpu_start: App cpu up.
I (247) cpu_start: Pro cpu start user code
I (247) cpu_start: cpu freq: 160000000
I (247) cpu_start: Application information:
I (250) cpu_start: Project name: tinyuf2
I (255) cpu_start: App version: 0.12.3-31-gb14baf0-dirty
I (261) cpu_start: Compile time: Apr 18 2023 21:44:40
I (267) cpu_start: ELF file SHA256: dbfcf30e3828f77d...
I (273) cpu_start: ESP-IDF: v4.4.3-359-g630c2724fc
I (279) heap_init: Initializing. RAM available for dynamic allocation:
I (287) heap_init: At 3FCA5140 len 000445D0 (273 KiB): D/IRAM
I (293) heap_init: At 3FCE9710 len 00005724 (21 KiB): STACK/DRAM
I (300) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (306) heap_init: At 600FE000 len 00002000 (8 KiB): RTCRAM
I (313) spi_flash: detected chip: mxic
W (316) spi_flash: Detected flash size > 16 MB, but access beyond 16 MB is not supported for this flash model yet.
I (327) spi_flash: flash io: qio

assert failed: 0x42009019

Backtrace: 0x4037567a:0x3fceb250 0x40378d75:0x3fceb270 0x4037e136:0x3fceb290 0x42009019:0x3fceb2d0 0x40375025:0x3fceb310 0x403bb48c:0x3fceb340 0x403bb8f5:0x3fceb380 0x403b62ce:0x3fceb4b0 0x40045c01:0x3fceb570 |<-CORRUPTED
I went to debugging the C code and found out that the failure is in lib/esp-idf/components/esp_system/startup.c

Code: Select all

	do_core_init() within start_cpu0_default()
		fails on assert because of bad return code from esp_flash_init_default_chip()
my sdkconfig is copied from here:
https://github.com/adafruit/circuitpyth ... /sdkconfig

because it is the same chip.

I was trying so many options without any success.
I would appreciate your help so much!!

thanks!
-Itay

ishahak
Posts: 4
Joined: Sun Dec 25, 2022 1:09 pm

Re: ESP32-S3-WROOM-2 based board - unable to setup with tinyuf2

Postby ishahak » Wed Apr 19, 2023 11:40 am

Actually, loading the official pre-built tinyuf2 of esp32s3-devkitc-n32r8 from https://circuitpython.org/board/espress ... tc_1_n32r8 on a real devkitc board brings the very same result:
(same as above, copying the last lines only:)
I (300) spi_flash: detected chip: mxic
W (304) spi_flash: Detected flash size > 16 MB, but access beyond 16 MB is not supported for this flash model yet.
I (315) spi_flash: flash io: qio

assert failed: 0x4200908d

Backtrace: 0x4037564a:0x3fceb250 0x40379991:0x3fceb270 0x4037e926:0x3fceb290 0x4200908d:0x3fceb2d0 0x40374ff5:0x3fceb310 0x403bb410:0x3fceb340 0x403bb879:0x3fceb380 0x403b63c2:0x3fceb4b0 0x40045c01:0x3fceb570 |<-CORRUPTED
This is really weird because in the past I could successfully install tinyuf2 on the devkitc board (I still have one working!)
Any idea please???

ishahak
Posts: 4
Joined: Sun Dec 25, 2022 1:09 pm

Re: ESP32-S3-WROOM-2 based board - unable to setup with tinyuf2

Postby ishahak » Sun Apr 23, 2023 11:58 am

I believe the crashes were due to a missing config:
CONFIG_ESPTOOLPY_OCT_FLASH=y

You can find more useful info here: https://forums.adafruit.com/viewtopic.p ... 68#p969668

Who is online

Users browsing this forum: No registered users and 74 guests