ESP32_Lyrat 运行http_play_and_save_to_file失败解决-记录贴
编译例程 esp-adf\examples\advanced_examples\http_play_and_save_to_file 中依照readme的介绍修改了下载口和wifi账号及密码,随后编译下载,但程序一直处于失败重启,日志如下:
ets Jun 8 2016 00:22:57
rst:0x1 (POWERON_RESET),boot:0x1f (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:1
load:0x3fff0018,len:4
load:0x3fff001c,len:5880
load:0x40078000,len:8812
load:0x40080400,len:6440
entry 0x40080730
[0;32mI (29) boot: ESP-IDF v3.2-103-g4aa1058e8 2nd stage bootloader[0m
[0;32mI (29) boot: compile time 15:09:30[0m
[0;32mI (29) boot: Enabling RNG early entropy source...[0m
[0;32mI (35) boot: SPI Speed : 80MHz[0m
[0;32mI (39) boot: SPI Mode : DIO[0m
[0;32mI (43) boot: SPI Flash Size : 4MB[0m
[0;32mI (47) boot: Partition Table:[0m
[0;32mI (51) boot: ## Label Usage Type ST Offset Length[0m
[0;32mI (58) boot: 0 nvs WiFi data 01 02 00009000 00006000[0m
[0;32mI (65) boot: 1 phy_init RF data 01 01 0000f000 00001000[0m
[0;32mI (73) boot: 2 factory factory app 00 00 00010000 00300000[0m
[0;32mI (80) boot: End of partition table[0m
[0;32mI (84) esp_image: segment 0: paddr=0x00010020 vaddr=0x3f400020 size=0x4fb30 (326448) map[0m
[0;32mI (187) esp_image: segment 1: paddr=0x0005fb58 vaddr=0x3ffb0000 size=0x004b8 ( 1208) load[0m
[0;32mI (188) esp_image: segment 2: paddr=0x00060018 vaddr=0x400d0018 size=0x9d8e4 (645348) map[0m
[0;32mI (379) esp_image: segment 3: paddr=0x000fd904 vaddr=0x3ffb04b8 size=0x02cb8 ( 11448) load[0m
[0;32mI (383) esp_image: segment 4: paddr=0x001005c4 vaddr=0x40080000 size=0x00400 ( 1024) load[0m
[0;32mI (386) esp_image: segment 5: paddr=0x001009cc vaddr=0x40080400 size=0x16328 ( 90920) load[0m
[0;32mI (438) boot: Loaded app from partition at offset 0x10000[0m
[0;32mI (438) boot: Disabling RNG early entropy source...[0m
[0;31mE (439) spiram: Expected 4096KiB chip but found 8192KiB chip. Bailing out..[0m
[0;32mI (446) cpu_start: Failed to init external RAM; continuing without it.[0m
[0;32mI (453) cpu_start: Pro cpu up.[0m
[0;32mI (457) cpu_start: Starting app cpu, entry point is 0x4008145c[0m
[0;32mI (0) cpu_start: App cpu up.[0m
[0;32mI (467) heap_init: Initializing. RAM available for dynamic allocation:[0m
[0;32mI (474) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM[0m
[0;32mI (480) heap_init: At 3FFB8BD8 len 00027428 (157 KiB): DRAM[0m
[0;32mI (486) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM[0m
[0;32mI (493) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM[0m
[0;32mI (499) heap_init: At 40096728 len 000098D8 (38 KiB): IRAM[0m
[0;32mI (505) cpu_start: Pro cpu start user code[0m
[0;32mI (187) cpu_start: Starting scheduler on PRO CPU.[0m
[0;32mI (0) cpu_start: Starting scheduler on APP CPU.[0m
[0;32mI (188) spiram: Reserving pool of 32K of internal memory for DMA/internal allocations[0m
[0;32mI (284) PLAY_AND_SAVE_FILE: [ 1 ] Start audio codec chip[0m
[0;31mE (285) AUDIO_BOARD: E:/ESP/esp-adf/components/audio_board/lyrat_v4_3/board.c:45 (audio_board_init): Memory exhausted[0m
Guru Meditation Error: Core 0 panic'ed (LoadProhibited). Exception was unhandled.
Core 0 register dump:
PC : 0x400d3f44 PS : 0x00060e30 A0 : 0x800d1b0e A1 : 0x3ffba7b0
A2 : 0x3ffba7c0 A3 : 0x00000000 A4 : 0x00000000 A5 : 0x3ffb31a4
A6 : 0x00000001 A7 : 0x3f405a32 A8 : 0x800d3f44 A9 : 0x3ffba780
A10 : 0x00000000 A11 : 0x0000002d A12 : 0x00000000 A13 : 0x3ffb36b4
A14 : 0x00000001 A15 : 0x3ffb36a8 SAR : 0x00000004 EXCCAUSE: 0x0000001c
EXCVADDR: 0x00000000 LBEG : 0x40095f19 LEND : 0x40095f29 LCOUNT : 0xfffffffb
Backtrace: 0x400d3f44:0x3ffba7b0 0x400d1b0b:0x3ffba940
Rebooting...
在检查日志时发现有一句话很关键:spiram: Expected 4096KiB chip but found 8192KiB chip. Bailing out..,于是再去config里去修改spiram有关参数:将SPI RAM config 由 ESP-PSRAM32 or IS25WP032 更改为 Auto-detect 随后保存再编译,程序完美运行。