esp32编译通过后重启

mulinluo
Posts: 6
Joined: Thu May 23, 2019 1:42 am

esp32编译通过后重启

Postby mulinluo » Thu May 23, 2019 1:54 am

我的esp32编译通过出现如下重启信息,请问哪路大神知道是什么原因?
Rebooting...
ets Jun 8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x33 (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:2
load:0x3fff0018,len:4
load:0x3fff001c,len:752
ho 0 tail 12 room 4
load:0x40078000,len:8576
load:0x40080400,len:6252
entry 0x40080684
abort() was called at PC 0x40081379 on core 0
0x40081379: call_start_cpu0 at /home/lin/esp/esp-idf/components/esp32/cpu_start.c:173


ELF file SHA256: 5ab32458437209e0c7f275be9b2b54dc3328879a4362b279337ebf4cb6dd75f2

Backtrace: 0x40088e87:0x3ffe3c30 0x400891d9:0x3ffe3c50 0x40081379:0x3ffe3c70 0x40078c79:0x3ffe3c90 0x40078eab:0x3ffe3cc0 0x400806bd:0x3ffe3df0 0x40007c31:0x3ffe3eb0 0x4000073d:0x3ffe3f20
0x40088e87: invoke_abort at /home/lin/esp/esp-idf/components/esp32/panic.c:716

0x400891d9: abort at /home/lin/esp/esp-idf/components/esp32/panic.c:716

0x40081379: call_start_cpu0 at /home/lin/esp/esp-idf/components/esp32/cpu_start.c:173

ESP_Gargamel
Posts: 786
Joined: Wed Nov 14, 2018 8:45 am

Re: esp32编译通过后重启

Postby ESP_Gargamel » Thu May 23, 2019 3:00 am

使用的是哪个 commit 的 IDF?什么开发板?能否提供复现工程?sdkconfig?

从 log 上看是发生了 abort,你可以通过 backtrace 去追踪代码。
0x40081379: call_start_cpu0 at /home/lin/esp/esp-idf/components/esp32/cpu_start.c:173

你需要先看下是什么导致的这个 assert,然后再来解决这个问题。

mulinluo
Posts: 6
Joined: Thu May 23, 2019 1:42 am

Re: esp32编译通过后重启

Postby mulinluo » Mon Jun 03, 2019 1:56 am

您好,我现在使用的是esp-idf-release-v3.2,使用的开发板是ESP-WROOM-32,通过0x40081379: call_start_cpu0 at /home/lin/esp/esp-idf/components/esp32/cpu_start.c:173查看原始代码如下:
#if CONFIG_SPIRAM_BOOT_INIT
esp_spiram_init_cache();
if (esp_spiram_init() != ESP_OK) {
#if CONFIG_SPIRAM_ALLOW_BSS_SEG_EXTERNAL_MEMORY
ESP_EARLY_LOGE(TAG, "Failed to init external RAM, needed for external .bss segment");
abort();
#endif

#if CONFIG_SPIRAM_IGNORE_NOTFOUND
ESP_EARLY_LOGI(TAG, "Failed to init external RAM; continuing without it.");
s_spiram_okay = false;
#else
ESP_EARLY_LOGE(TAG, "Failed to init external RAM!");
abort(); //该行为173行
#endif
}
#endif
不知这段是否能看出是什么原因造成的问题?感谢!!

ESP_Gargamel
Posts: 786
Joined: Wed Nov 14, 2018 8:45 am

Re: esp32编译通过后重启

Postby ESP_Gargamel » Mon Jun 03, 2019 8:13 am

你使用的 WROOM-32,是没有 SPI RAM 的,需要在 menuconfig 中把 Component config -> ESP32-specific -> Support for external, SPI-connected RAM 关掉。
如果你想使用 SPI RAM,你需要使用 ESP32-WROVER 模组或相关开发板。

Who is online

Users browsing this forum: No registered users and 111 guests