We're noticing an instability when these sdkconfig parameters are set:
Code: Select all
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
CONFIG_SPIRAM_SPEED_120M=y
CONFIG_ESPTOOLPY_FLASHFREQ_120M=y
CONFIG_ESPTOOLPY_FLASHFREQ="120m"
The instability happens at system boot, before a single line of our own code starts. It will crash with various and seemingly random errors, some examples (each line is a different crash)
Code: Select all
0x42004180: s_prepare_reserved_regions at /Users/bwhitman/esp/esp-idf-v5.2/components/heap/port/memory_layout_utils.c:93 (discriminator 1)
Guru Meditation Error: Core 0 panic'ed (IllegalInstruction). Exception was unhandled.
Memory dump at 0x40001c38: a0ffff91 0000000 fd
0x40001c38: __call__xtos_set_intlevel in ROM
0x4004794e: wdt_hal_write_protect_disable in ROM
0x42004468: get_desc_for_int at /Users/bwhitman/esp/esp-idf-v5.2/components/esp_hw_support/intr_alloc.c:158
0x42005b1d: usb_serial_jtag_write at /Users/bwhitman/esp/esp-idf-v5.2/components/vfs/vfs_usb_serial_jtag.c:149
A2 : 0x00000019 A3 : 0x3fc9d230 A4 : 0x40000000 A5 : 0x60038000
0x40000000: _WindowOverflow4 in ROM
0x403743c0: _DoubleExceptionVector at /Users/bwhitman/esp/esp-idf-v5.2/components/xtensa/xtensa_vectors.S:564
None of these errors ever appear while running at 80M and none of them seem to have anything to do with our code. The temperature in the room is stable.
We've experienced this running just the simple hello_world example as well as our own code, as long as 120M SPIRAM/Flash is set up.
My gut feeling is maybe this is a brownout type failure on boot, where 120M is pulling more current in the bootloader? We're powering this with a 5V USB 2A wall wart, through a ME6217 regulator to 3.3v, with two 10uF caps from 3V3 to GND. I have a window now to make some changes to the board if there's a fix we can do to support the power.
Or could this be something else, and how can i help diagnose further?