boot: chip crash in cpu_start.c

prismatics
Posts: 7
Joined: Sat Nov 28, 2015 10:54 pm

boot: chip crash in cpu_start.c

Postby prismatics » Thu Apr 26, 2018 10:07 am

Hello, dear ESP32 community.

I have an issue that only occurs for a very specific project configuration, but which I believe should not be related to the project itself... Unfortunately I am not able to provide more detailed code since I cannot fence out the issue specifically enough...

I am aware that PC 0xffffffff, last stack element 0x7fffffff and InstrFetchProhibited means I am trying to execute junk, but there is no means for me to explain it :oops:

I am wondering about if it may be related to something like ISR, but the only code related to this is:

Code: Select all

void esp_gpio_irq(void *args){
	xQueueSendFromISR(irq_listener_queue, &args, NULL);
	portYIELD_FROM_ISR();
}

void irq_listener(void *args){
	while(1){
		void *argument;
		xQueueReceive(irq_listener_queue, &argument, portMAX_DELAY);
		if(GpioIrq[*(uint32_t *)argument] != NULL) {
			GpioIrq[*(uint32_t *)argument]();
		}
	}
}
Note that I memset the GpioIrq struct before calling

Code: Select all

gpio_install_isr_service(0)
.

Thank you in advance for investigating the problem with me. If more information is needed I can provide it on request (:
Here is all further information I can get:

Dump is as follows:

Code: Select all

ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (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:956
load:0x40078000,len:0
load:0x40078000,len:13088
entry 0x40078a5c
Guru Meditation Error: Core  0 panic'ed (InstrFetchProhibited)
. Exception was unhandled.
Register dump:
PC      : 0xffffffff  PS      : 0x00060130  A0      : 0x800831fb  A1      : 0x3ffe3be0  
A2      : 0x3f410008  A3      : 0x0311d9eb  A4      : 0x3ff000cc  A5      : 0x3ff00020  
A6      : 0xffffffff  A7      : 0x00000002  A8      : 0x800dbaf2  A9      : 0x3ffe3bc0  
A10     : 0x3f40ece8  A11     : 0x3ffc2ee0  A12     : 0x00001200  A13     : 0x00000000  
A14     : 0x00000016  A15     : 0x00000000  SAR     : 0x0000001d  EXCCAUSE: 0x00000014  
EXCVADDR: 0xfffffffc  LBEG    : 0x4000c46c  LEND    : 0x4000c477  LCOUNT  : 0x00000000  

Backtrace: 0x7fffffff:0x3ffe3be0 0x400831f8:0x3ffe3c00 0x400833e4:0x3ffe3c30 0x400788aa:0x3ffe3c50 0x40078911:0x3ffe3c80 0x40078a56:0x3ffe3cb0 0x40078b7e:0x3ffe3e70 0x40007c31:0x3ffe3eb0 0x4000073d:0x3ffe3f20

Rebooting...
addr2line output is

Code: Select all

??:0
/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/esp32/./cpu_start.c:328
/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/esp32/./cpu_start.c:203
??:0
??:0
??:0
??:0
??:0
??:0
Compilation output is:

Code: Select all

11:54:42 **** Build of configuration Default for project wifi-fsk-gateway ****
platformio -f -c eclipse run 
[Thu Apr 26 11:54:43 2018] Processing heltec_wifi_lora_32 (framework: arduino; platform: espressif32; board: widora-air)
--------------------------------------------------------------------------------
Verbose mode can be enabled via `-v, --verbose` option
PLATFORM: Espressif 32 > Widora AIR
SYSTEM: ESP32 240MHz 288KB RAM (1.25MB Flash)
Library Dependency Finder -> http://bit.ly/configure-pio-ldf
LDF MODES: FINDER(chain) COMPATIBILITY(light)
Collected 18 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <U8g2> v2.22.15
|   |-- <Wire> v1.0
|   |-- <SPI> v1.0
|-- <SPI> v1.0
|-- <Wire> v1.0
|-- <WiFi> v1.0
Compiling .pioenvs/heltec_wifi_lora_32/src/debug.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_host/endpoint_host.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_host/endpoint_host_message_wrapper.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_host/hal/hal_endpoint_host_heartbeat_impl.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_host/hal/hal_endpoint_host_wifi_arduino.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_host/hdlc_transceiver/hdlc_transceiver_main.cpp.o
In file included from src/endpoint_host/hal/hal_endpoint_host.h:9:0,
from src/endpoint_host/endpoint_host_message_wrapper.cpp:10:
src/endpoint_host/endpoint_host_message_wrapper.cpp: In function 'void endpoint_host_message_wrapper_io_handler(void*, size_t)':
src/endpoint_host/hal/../endpoint_host_message_wrapper.h:19:45: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
#define EP_H_MSGWRAPPER_FIELD_OFFSET_LENGTH 1
^
src/endpoint_host/endpoint_host_message_wrapper.cpp:60:24: note: in expansion of macro 'EP_H_MSGWRAPPER_FIELD_OFFSET_LENGTH'
memcpy(&pl_len, buf + EP_H_MSGWRAPPER_FIELD_OFFSET_LENGTH,sizeof(pl_len));
^
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_host/hdlc_transceiver/ringbuffer.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/endpoint_node.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/endpoint_node_message_wrapper.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/boards/ESP32/assert.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/boards/ESP32/board.cpp.o
In file included from src/endpoint_node/endpoint_node_message_wrapper.cpp:12:0:
src/endpoint_node/endpoint_node_message_wrapper.cpp: In function 'void endpoint_node_message_wrapper_io_handler(void*, size_t)':
src/endpoint_node/endpoint_node_message_wrapper.h:19:45: warning: pointer of type 'void *' used in arithmetic [-Wpointer-arith]
#define EP_N_MSGWRAPPER_FIELD_OFFSET_LENGTH 1
^
src/endpoint_node/endpoint_node_message_wrapper.cpp:60:24: note: in expansion of macro 'EP_N_MSGWRAPPER_FIELD_OFFSET_LENGTH'
memcpy(&pl_len, buf + EP_N_MSGWRAPPER_FIELD_OFFSET_LENGTH,sizeof(pl_len));
^
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/boards/ESP32/delay.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/boards/ESP32/gpio-board.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/boards/ESP32/rtc-board.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/boards/ESP32/spi-board.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/boards/ESP32/sx1276-board.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/mac/LoRaMac-api-v3.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/mac/LoRaMac.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/mac/LoRaMacCrypto.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/radio/sx1276/sx1276.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/system/crypto/aes.c.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/system/crypto/cmac.c.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/system/gpio.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/system/timer.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/test/main.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/fsk_mac_semtech/src/utilities/utilities.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/hal/hal_endpoint_node_heartbeat_impl.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/hal/hal_endpoint_node_semtechfsk.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/endpoint_node/hdlc_transceiver/hdlc_transceiver_main_b.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/ksuite/hal/kwrapper_interface_impl.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/ksuite/system/ksdse.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/ksuite/system/ktea.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/ksuite/system/ktea_hacks.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/ksuite/system/kwrapper.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/main.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/main_task/main_queue.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/oled_disp/oled_disp.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/test_app/test_app.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/src/yahdlc/C/fcs16.c.o
Compiling .pioenvs/heltec_wifi_lora_32/src/yahdlc/C/yahdlc.c.o
Generating partitions .pioenvs/heltec_wifi_lora_32/partitions.bin
src/test_app/test_app.cpp: In function 'void user_example_task(void*)':
src/test_app/test_app.cpp:38:51: warning: narrowing conversion of 'previous_number' from 'int32_t {aka int}' to 'uint32_t {aka unsigned int}' inside { } [-Wnarrowing]
uint32_t first_message [2] = { previous_number, 8};
^
Compiling .pioenvs/heltec_wifi_lora_32/lib492/Wire/Wire.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/liba3f/SPI/SPI.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/U8x8lib.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_bitmap.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_box.c.o
Archiving .pioenvs/heltec_wifi_lora_32/liba3f/libSPI.a
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_buffer.c.o
Indexing .pioenvs/heltec_wifi_lora_32/liba3f/libSPI.a
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_circle.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_cleardisplay.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_d_memory.c.o
Archiving .pioenvs/heltec_wifi_lora_32/lib492/libWire.a
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_d_setup.c.o
Indexing .pioenvs/heltec_wifi_lora_32/lib492/libWire.a
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_font.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_fonts.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_hvline.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_input_value.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_intersection.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_kerning.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_line.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_ll_hvline.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_message.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_polygon.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_selection_list.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8g2_setup.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8log.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_8x8.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_byte.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_cad.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_a2printer.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_il3820_296x128.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ist3020.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ks0108.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_lc7981.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ld7032_60x32.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ls013b7dh03.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_max7219.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_pcd8544_84x48.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_pcf8812.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_pcf8814_hx1230.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_sbn1661.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_sed1330.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_sh1106_64x32.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_sh1106_72x40.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_sh1107.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_sh1122.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1305.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1306_128x32.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1306_128x64_noname.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1306_48x64.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1306_64x32.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1306_64x48.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1306_96x16.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1309.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1322.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1325.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1326.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1327.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1329.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1606_172x72.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_ssd1607_200x200.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_st75256.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_st7565.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_st7567.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_st7588.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_st7920.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_t6963.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_uc1601.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_uc1604.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_uc1608.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_uc1610.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_uc1611.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_uc1617.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_uc1638.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_uc1701_dogs102.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_d_uc1701_mini12864.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_debounce.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_display.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_fonts.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_gpio.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_input_value.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_message.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_selection_list.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_setup.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_string.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_u16toa.c.o
Compiling .pioenvs/heltec_wifi_lora_32/libb04/U8g2_ID942/clib/u8x8_u8toa.c.o
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/ETH.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/WiFi.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/WiFiAP.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/WiFiClient.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/WiFiGeneric.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/WiFiMulti.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/WiFiSTA.cpp.o
Archiving .pioenvs/heltec_wifi_lora_32/libb04/libU8g2_ID942.a
Indexing .pioenvs/heltec_wifi_lora_32/libb04/libU8g2_ID942.a
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/WiFiScan.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/WiFiServer.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/lib388/WiFi/WiFiUdp.cpp.o
Archiving .pioenvs/heltec_wifi_lora_32/libFrameworkArduinoVariant.a
Indexing .pioenvs/heltec_wifi_lora_32/libFrameworkArduinoVariant.a
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/Esp.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/HardwareSerial.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/IPAddress.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/IPv6Address.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/MD5Builder.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/Print.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/Stream.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/StreamString.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/WMath.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/WString.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/base64.cpp.o
Archiving .pioenvs/heltec_wifi_lora_32/lib388/libWiFi.a
Indexing .pioenvs/heltec_wifi_lora_32/lib388/libWiFi.a
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/cbuf.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-adc.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-bt.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-dac.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-gpio.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-i2c.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-ledc.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-matrix.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-misc.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-sigmadelta.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-spi.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-time.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-timer.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-touch.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/esp32-hal-uart.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/libb64/cdecode.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/libb64/cencode.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/main.cpp.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/stdlib_noniso.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/wiring_pulse.c.o
Compiling .pioenvs/heltec_wifi_lora_32/FrameworkArduino/wiring_shift.c.o
Archiving .pioenvs/heltec_wifi_lora_32/libFrameworkArduino.a
Indexing .pioenvs/heltec_wifi_lora_32/libFrameworkArduino.a
Linking .pioenvs/heltec_wifi_lora_32/firmware.elf
Building .pioenvs/heltec_wifi_lora_32/firmware.bin
Calculating size .pioenvs/heltec_wifi_lora_32/firmware.elf
text	   data	    bss	    dec	    hex	filename
229267	  74344	   8096	 311707	  4c19b	.pioenvs/heltec_wifi_lora_32/firmware.elf
esptool.py v2.1
========================= [SUCCESS] Took 4.01 seconds =========================

11:54:47 Build Finished (took 4s.366ms)

ESP_Angus
Posts: 2344
Joined: Sun May 08, 2016 4:11 am

Re: boot: chip crash in cpu_start.c

Postby ESP_Angus » Fri Apr 27, 2018 12:48 am

Hi,

It looks like your code is crashing before anything is set up, or any GPIO service is enabled.

The only likely user code that could corrupt memory here is static (global) C++ constructors, or any C functions marked with __attribute__((constructor)). If you're calling any GPIO driver functions from a static constructor, this may explain the problem.

Can you please try decoding with "addr2line -pfia -e ELF"? This will give some more context in the decoded lines (you can also use idf_monitor ie "make monitor", this will do the same decoding automatically).

chegewara
Posts: 2378
Joined: Wed Jun 14, 2017 9:00 pm

Re: boot: chip crash in cpu_start.c

Postby chegewara » Fri Apr 27, 2018 12:58 am

Code: Select all

void esp_gpio_irq(void *args){
   xQueueSendFromISR(irq_listener_queue, &args, NULL);   // <--- is not that args is already pointer? no need to pass it as reference?
   portYIELD_FROM_ISR();
}

prismatics
Posts: 7
Joined: Sat Nov 28, 2015 10:54 pm

Re: boot: chip crash in cpu_start.c

Postby prismatics » Mon Apr 30, 2018 11:57 am

Hello Angus,

I have resolved the issue by accident (the build system (not related to espressif) did not 'make clean' correctly), so it's not present for me any longer.
Still thank you very much for your propositions ^.^

Have a nice day

prismatics
Posts: 7
Joined: Sat Nov 28, 2015 10:54 pm

Re: boot: chip crash in cpu_start.c

Postby prismatics » Mon Apr 30, 2018 1:44 pm

chegewara wrote:

Code: Select all

void esp_gpio_irq(void *args){
   xQueueSendFromISR(irq_listener_queue, &args, NULL);   // <--- is not that args is already pointer? no need to pass it as reference?
   portYIELD_FROM_ISR();
}
Hello chegewara,

we want pointer to pointer type here, so it's correct. :)

Have a nice day o/

Who is online

Users browsing this forum: Bing [Bot] and 69 guests