diff --git a/.gitlab/ci/host-test.yml b/.gitlab/ci/host-test.yml index 3fe0d3dd84..a3092ee2a4 100644 --- a/.gitlab/ci/host-test.yml +++ b/.gitlab/ci/host-test.yml @@ -275,7 +275,7 @@ test_espcoredump: expire_in: 1 week variables: IDF_COREDUMP_ELF_REPO: "https://gitlab-ci-token:${BOT_TOKEN}@${CI_SERVER_HOST}:${CI_SERVER_PORT}/idf/idf-coredump-elf.git" - IDF_COREDUMP_ELF_TAG: idf-20210915 + IDF_COREDUMP_ELF_TAG: idf-20220928 # install CMake version specified in tools.json SETUP_TOOLS_LIST: "all" script: diff --git a/components/espcoredump/.build-test-rules.yml b/components/espcoredump/.build-test-rules.yml deleted file mode 100644 index 8f546a13dc..0000000000 --- a/components/espcoredump/.build-test-rules.yml +++ /dev/null @@ -1,7 +0,0 @@ -# Documentation: .gitlab/ci/README.md#manifest-file-to-control-the-buildtest-apps - -components/espcoredump/test_apps: - disable: - - if: IDF_TARGET == "esp32c2" - temporary: true - reason: target esp32c2 is not supported yet diff --git a/components/espcoredump/include_core_dump/esp_core_dump_common.h b/components/espcoredump/include_core_dump/esp_core_dump_common.h index 8915db228e..61772eb9d8 100644 --- a/components/espcoredump/include_core_dump/esp_core_dump_common.h +++ b/components/espcoredump/include_core_dump/esp_core_dump_common.h @@ -22,8 +22,10 @@ extern "C" { typedef enum { COREDUMP_MEMORY_DRAM, COREDUMP_MEMORY_IRAM, +#if SOC_RTC_MEM_SUPPORTED COREDUMP_MEMORY_RTC, COREDUMP_MEMORY_RTC_FAST, +#endif COREDUMP_MEMORY_MAX, COREDUMP_MEMORY_START = COREDUMP_MEMORY_DRAM } coredump_region_t; diff --git a/components/espcoredump/src/core_dump_common.c b/components/espcoredump/src/core_dump_common.c index 2ea3502701..6e0a5dcfa0 100644 --- a/components/espcoredump/src/core_dump_common.c +++ b/components/espcoredump/src/core_dump_common.c @@ -28,10 +28,12 @@ extern int _coredump_dram_start; extern int _coredump_dram_end; extern int _coredump_iram_start; extern int _coredump_iram_end; +#if SOC_RTC_MEM_SUPPORTED extern int _coredump_rtc_start; extern int _coredump_rtc_end; extern int _coredump_rtc_fast_start; extern int _coredump_rtc_fast_end; +#endif /** * @brief In the menconfig, it is possible to specify a specific stack size for @@ -226,8 +228,10 @@ uint32_t esp_core_dump_get_user_ram_segments(void) // count number of memory segments to insert into ELF structure total_sz += COREDUMP_GET_MEMORY_SIZE(&_coredump_dram_end, &_coredump_dram_start) > 0 ? 1 : 0; +#if SOC_RTC_MEM_SUPPORTED total_sz += COREDUMP_GET_MEMORY_SIZE(&_coredump_rtc_end, &_coredump_rtc_start) > 0 ? 1 : 0; total_sz += COREDUMP_GET_MEMORY_SIZE(&_coredump_rtc_fast_end, &_coredump_rtc_fast_start) > 0 ? 1 : 0; +#endif total_sz += COREDUMP_GET_MEMORY_SIZE(&_coredump_iram_end, &_coredump_iram_start) > 0 ? 1 : 0; return total_sz; @@ -238,8 +242,10 @@ uint32_t esp_core_dump_get_user_ram_size(void) uint32_t total_sz = 0; total_sz += COREDUMP_GET_MEMORY_SIZE(&_coredump_dram_end, &_coredump_dram_start); +#if SOC_RTC_MEM_SUPPORTED total_sz += COREDUMP_GET_MEMORY_SIZE(&_coredump_rtc_end, &_coredump_rtc_start); total_sz += COREDUMP_GET_MEMORY_SIZE(&_coredump_rtc_fast_end, &_coredump_rtc_fast_start); +#endif total_sz += COREDUMP_GET_MEMORY_SIZE(&_coredump_iram_end, &_coredump_iram_start); return total_sz; @@ -262,6 +268,7 @@ int esp_core_dump_get_user_ram_info(coredump_region_t region, uint32_t *start) total_sz = (uint8_t *)&_coredump_iram_end - (uint8_t *)&_coredump_iram_start; break; +#if SOC_RTC_MEM_SUPPORTED case COREDUMP_MEMORY_RTC: *start = (uint32_t)&_coredump_rtc_start; total_sz = (uint8_t *)&_coredump_rtc_end - (uint8_t *)&_coredump_rtc_start; @@ -271,6 +278,7 @@ int esp_core_dump_get_user_ram_info(coredump_region_t region, uint32_t *start) *start = (uint32_t)&_coredump_rtc_fast_start; total_sz = (uint8_t *)&_coredump_rtc_fast_end - (uint8_t *)&_coredump_rtc_fast_start; break; +#endif default: break; diff --git a/components/espcoredump/test/esp32c2/coredump.b64 b/components/espcoredump/test/esp32c2/coredump.b64 new file mode 100644 index 0000000000..524d741774 --- /dev/null +++ b/components/espcoredump/test/esp32c2/coredump.b64 @@ -0,0 +1,124 @@ +tBEAAAABBQAAAAAAAAAAAAAAAAA= +f0VMRgEBAQAAAAAAAAAAAAQA8wABAAAAAAAAADQAAAAAAAAAAAAAADQAIAAMACgA +AAAAAA== +BAAAALQBAAAAAAAAAAAAAGAEAABgBAAABgAAAAAAAAA= +AQAAABQGAACw6M0/sOjNP1QBAABUAQAABgAAAAAAAAA= +AQAAAGgHAABw580/cOfNPzABAAAwAQAABgAAAAAAAAA= +AQAAAJgIAAD83s0//N7NP1QBAABUAQAABgAAAAAAAAA= +AQAAAOwJAAAg3s0/IN7NP9AAAADQAAAABgAAAAAAAAA= +AQAAALwKAABo68o/aOvKP1QBAABUAQAABgAAAAAAAAA= +AQAAABAMAACg6so/oOrKP8AAAADAAAAABgAAAAAAAAA= +AQAAANAMAAAM8s0/DPLNP1QBAABUAQAABgAAAAAAAAA= +AQAAACQOAAAw8c0/MPHNP9AAAADQAAAABgAAAAAAAAA= +AQAAAPQOAABw1Mo/cNTKP1QBAABUAQAABgAAAAAAAAA= +AQAAAEgQAACQ08o/kNPKP9AAAADQAAAABgAAAAAAAAA= +BAAAABgRAAAAAAAAAAAAAIQAAACEAAAABgAAAAAAAAA= +CAAAAMwAAAABAAAA +Q09SRQAAAAA= +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsOjNPwAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEm0AQgxtAEIQ6M0/EJLKP6zFzT/I4wVA +AAAAAAAAAAAAAAAAAAAAACAAAAAs580/AAAAAAcAAACt////BQAAADBAAEIAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +CAAAAMwAAAABAAAA +Q09SRQAAAAA= +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/N7NPwAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6jA4QDhjOECg3s0/EJLKP/y7zT/I4wVA +4P///wAAAABkAAAAAAAAAAEAAAABAAAAZAAAAAQAAAABAAAAAAAMYDBAAEIAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +CAAAAMwAAAABAAAA +Q09SRQAAAAA= +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaOvKPwAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAsjE4QMyGAEIg68o/EJLKP2zIyj/whgVA +4P///wAAAAAIAAAAAQAAAAEAAAAAAAAAAADw/wAwAmAcAAAAAAAAAAEAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +CAAAAMwAAAABAAAA +Q09SRQAAAAA= +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADPLNPwAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6jA4QDhjOECw8c0/EJLKPwzPzT/I4wVA +AAAAAAAAAABkAAAAAAAAAAEAAAABAAAAyAAAAAQAAAABAAAAAAAMYDBAAEIAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +CAAAAMwAAAABAAAA +Q09SRQAAAAA= +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAcNTKPwAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA1mI4QABjOEAQ1Mo/EJLKP2yxyj8AAAAA +AAAAAAAAAAAAAAAA/////wEAAAABAAAA/////wQAAAAAsMo/ACAMYAAAAAAAAAAA +AQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAA +0OfNP2QAAAAQr8o/EK/KP7DozT8Ir8o/EgAAAN2eyrERRsypsOjNPwAAAAAHAAAA +rODNP3VuYWxpZ25lZF9wdHJfdAAAAAAAoOjNPwcAAAAAAAAAAAAAAAAAAAAAAAAA +NMHKP5zByj8Ewso/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAUMQAQgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAPw== +Em0AQgxtAEIQ6M0/EJLKP6zFzT/I4wVAAAAAAAAAAAAAAAAAAAAAACAAAAAs580/ +AAAAAAcAAACt////BQAAADBAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACBGAAAAQA4QAcAAAAFAAAA +AAAAAAIAAAAwQABCAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAACgAAAJzByj/sbABC +AAAAAAAAAAAAAAAAAwAAAAAAAABQ6M0/AgAAAOxsAEJ8EwE8HgAAAGDX9D8DAAAA +AAAAAAAAAAAAAAAAVG0AQgAAAAAAAAAAAAAAAJhiOEAAAAAAAAAAAAAAAAAAAAAA +AAAAAKWlpaWlpaWlpaWlpQ== +IN7NP2QAAADorso/6K7KP/zezT/grso/FAAAAKAIGVMM7tYn/N7NPwAAAAAFAAAA ++NbNP2JhZF9wdHJfdGFzawBtlwAAAAAA8N7NPwUAAAAAAAAAAAAAAAAAAAAAAAAA +NMHKP5zByj8Ewso/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAUMQAQgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAPw== +6jA4QDhjOECg3s0/EJLKP/y7zT/I4wVA4P///wAAAABkAAAAAAAAAAEAAAABAAAA +ZAAAAAQAAAABAAAAAAAMYDBAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAABQWzhA +AAAAAAAAAAAAAAAAoGwAQgAAAAAAAAAAAAAAAJhiOEAAAAAAAAAAAAAAAAAAAAAA +AAAAAKWlpaWlpaWlpaWlpQ== +oOrKP8S4yj+Erso/hK7KP2jryj98rso/GQAAAAMk+yNvI8eMaOvKPwAAAAAAAAAA +ZOXKP0lETEUAfTKrVqNZpcRE7gAAAAAAYOvKPwAAAAAAAAAAAAAAAAAAAAAAAAAA +NMHKP5zByj8Ewso/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAUMQAQgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAIAPw== +sjE4QMyGAEIg68o/EJLKP2zIyj/whgVA4P///wAAAAAIAAAAAQAAAAEAAAAAAAAA +AADw/wAwAmAcAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD+UThA +AAAAAAAAAAAAAAAAmGI4QAAAAAAAAAAAAAAAAAAAAAAAAAAApaWlpaWlpaWlpaWl +MPHNP8gAAAB4sMo/eLDKPwzyzT9wsMo/DwAAAAAAAAAAAAAADPLNPwAAAAAKAAAA +COrNP2ZhaWxlZF9hc3NlcnRfdAAAAAAAAPLNPwoAAAAAAAAAAAAAAAAAAAAAAAAA +NMHKP5zByj8Ewso/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAUMQAQgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAPw== +6jA4QDhjOECw8c0/EJLKPwzPzT/I4wVAAAAAAAAAAABkAAAAAAAAAAEAAAABAAAA +yAAAAAQAAAABAAAAAAAMYDBAAEIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQAAABQWzhA +AAAAAAAAAAAAAAAAemsAQgAAAAAAAAAAAAAAAJhiOEAAAAAAAAAAAAAAAAAAAAAA +AAAAAKWlpaWlpaWlpaWlpQ== +kNPKP8S4yj+0sMo/tLDKP3DUyj+ssMo/AwAAAIac8nZ7wz/FcNTKPwAAAAAWAAAA +bMbKP2VzcF90aW1lcgDNe0h6JgAAAAAAYNTKPxYAAAAAAAAAAAAAAAAAAAAAAAAA +NMHKP5zByj8Ewso/AAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAUMQAQgAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AQAAPw== +1mI4QABjOEAQ1Mo/EJLKP2yxyj8AAAAAAAAAAAAAAAAAAAAA/////wEAAAABAAAA +/////wQAAAAAsMo/ACAMYAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAA/////wAAAADyXThA +AAAAAAAAAAAAAAAAZDIAQgAAAAAAAAAAAAAAAJhiOEAAAAAAAAAAAAAAAAAAAAAA +AAAAAKWlpaWlpaWlpaWlpQ== +FAAAAEgAAABKIAAA +RVNQX0NPUkVfRFVNUF9JTkZPAAA= +AAEFADUzMjk1N2QzOThiYmJkMWMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA +DAAAAAQAAAClAgAA +RVhUUkFfSU5GTwAA +sOjNPw== +TI3Lgg== diff --git a/components/espcoredump/test/esp32c2/expected_output b/components/espcoredump/test/esp32c2/expected_output new file mode 100644 index 0000000000..ed78f3f1a3 --- /dev/null +++ b/components/espcoredump/test/esp32c2/expected_output @@ -0,0 +1,314 @@ +espcoredump.py v1.4 +=============================================================== +==================== ESP32 CORE DUMP START ==================== + +Crashed task handle: 0x3fcde8b0, name: 'unaligned_ptr_t', GDB name: 'process 1070459056' + +================== CURRENT THREAD REGISTERS =================== +ra 0x42006d0c 0x42006d0c +sp 0x3fcde810 0x3fcde810 +gp 0x3fca9210 0x3fca9210 <__c.48> +tp 0x3fcdc5ac 0x3fcdc5ac +t0 0x4005e3c8 1074127816 +t1 0x0 0 +t2 0x0 0 +fp 0x0 0x0 +s1 0x0 0 +a0 0x20 32 +a1 0x3fcde72c 1070458668 +a2 0x0 0 +a3 0x7 7 +a4 0xffffffad -83 +a5 0x5 5 +a6 0x42004030 1107312688 +a7 0x0 0 +s2 0x0 0 +s3 0x0 0 +s4 0x0 0 +s5 0x0 0 +s6 0x0 0 +s7 0x0 0 +s8 0x0 0 +s9 0x0 0 +s10 0x0 0 +s11 0x0 0 +t3 0x0 0 +t4 0x0 0 +t5 0x0 0 +t6 0x0 0 +pc 0x42006d12 0x42006d12 + +==================== CURRENT THREAD STACK ===================== +#0 0x42006d12 in recur_func () at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:75 +#1 0x42006cec in recur_func () at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:68 +#2 0x42006cec in recur_func () at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:68 +#3 0x42006d54 in unaligned_ptr_task (pvParameter=) at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:85 +#4 0x40386298 in prvTaskExitError () at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:132 +Backtrace stopped: frame did not save the PC + +======================== THREADS INFO ========================= + Id Target Id Frame +* 1 process 1070459056 0x42006d12 in recur_func () at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:75 + 2 process 1070456572 0x403830ea in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:158 + 3 process 1070263144 0x403831b2 in esp_cpu_wait_for_intr () at /builds/espressif/esp-idf/components/esp_hw_support/cpu.c:110 + 4 process 1070461452 0x403830ea in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:158 + 5 process 1070257264 0x403862d6 in vPortClearInterruptMask (mask=1) at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:305 + +==================== THREAD 1 (TCB: 0x3fcde8b0, name: 'unaligned_ptr_t') ===================== +#0 0x42006d12 in recur_func () at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:75 +#1 0x42006cec in recur_func () at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:68 +#2 0x42006cec in recur_func () at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:68 +#3 0x42006d54 in unaligned_ptr_task (pvParameter=) at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:85 +#4 0x40386298 in prvTaskExitError () at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:132 +Backtrace stopped: frame did not save the PC + +==================== THREAD 2 (TCB: 0x3fcddefc, name: 'bad_ptr_task') ===================== +#0 0x403830ea in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:158 +#1 0x40386338 in vPortYield () at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:313 +#2 0x40385b50 in vTaskDelay (xTicksToDelay=xTicksToDelay@entry=100) at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:1661 +#3 0x42006ca0 in bad_ptr_task (pvParameter=) at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:48 +#4 0x40386298 in prvTaskExitError () at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:132 +Backtrace stopped: frame did not save the PC + +==================== THREAD 3 (TCB: 0x3fcaeb68, name: 'IDLE') ===================== +#0 0x403831b2 in esp_cpu_wait_for_intr () at /builds/espressif/esp-idf/components/esp_hw_support/cpu.c:110 +#1 0x420086cc in esp_vApplicationIdleHook () at /builds/espressif/esp-idf/components/esp_system/freertos_hooks.c:59 +#2 0x403851fe in prvIdleTask (pvParameters=) at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:4243 +#3 0x40386298 in prvTaskExitError () at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:132 +Backtrace stopped: frame did not save the PC + +==================== THREAD 4 (TCB: 0x3fcdf20c, name: 'failed_assert_t') ===================== +#0 0x403830ea in esp_crosscore_int_send_yield (core_id=core_id@entry=0) at /builds/espressif/esp-idf/components/esp_system/crosscore_int.c:158 +#1 0x40386338 in vPortYield () at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:313 +#2 0x40385b50 in vTaskDelay (xTicksToDelay=xTicksToDelay@entry=100) at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:1661 +#3 0x42006b7a in failed_assert_task (pvParameter=) at /builds/espressif/esp-idf/components/espcoredump/test_apps/main/test_core_dump.c:94 +#4 0x40386298 in prvTaskExitError () at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:132 +Backtrace stopped: frame did not save the PC + +==================== THREAD 5 (TCB: 0x3fcad470, name: 'esp_timer') ===================== +#0 0x403862d6 in vPortClearInterruptMask (mask=1) at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:305 +#1 0x40386300 in vPortExitCritical () at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:256 +#2 0x40385df2 in ulTaskGenericNotifyTake (uxIndexToWait=uxIndexToWait@entry=0, xClearCountOnExit=xClearCountOnExit@entry=1, xTicksToWait=xTicksToWait@entry=4294967295) at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/tasks.c:5651 +#3 0x42003264 in timer_task (arg=) at /builds/espressif/esp-idf/components/esp_timer/src/esp_timer.c:430 +#4 0x40386298 in prvTaskExitError () at /builds/espressif/esp-idf/components/freertos/FreeRTOS-Kernel/portable/riscv/port.c:132 +Backtrace stopped: frame did not save the PC + + +======================= ALL MEMORY REGIONS ======================== +Name Address Size Attrs +.iram0.text 0x40380000 0x8a0c R XA +.dram0.data 0x3fca8a10 0x1ab0 RW A +.noinit 0x3fcaa4c0 0x0 RW +.flash.text 0x42000020 0xe39e R XA +.flash.appdesc 0x3c010020 0x100 R A +.flash.rodata 0x3c010120 0x22f8 RW A +.eh_frame 0x3c012418 0x7e8 R A +.flash.rodata_noload 0x3c012c00 0x0 RW +.iram0.text_end 0x40388a0c 0x0 RW +.iram0.bss 0x40388a10 0x0 RW +.coredump.tasks.data 0x3fcde8b0 0x154 RW +.coredump.tasks.data 0x3fcde770 0x130 RW +.coredump.tasks.data 0x3fcddefc 0x154 RW +.coredump.tasks.data 0x3fcdde20 0xd0 RW +.coredump.tasks.data 0x3fcaeb68 0x154 RW +.coredump.tasks.data 0x3fcaeaa0 0xc0 RW +.coredump.tasks.data 0x3fcdf20c 0x154 RW +.coredump.tasks.data 0x3fcdf130 0xd0 RW +.coredump.tasks.data 0x3fcad470 0x154 RW +.coredump.tasks.data 0x3fcad390 0xd0 RW + +====================== CORE DUMP MEMORY CONTENTS ======================== +.coredump.tasks.data 0x3fcde8b0 0x154 RW +0x3fcde8b0: 0x3fcde7d0 0x00000064 0x3fcaaf10 0x3fcaaf10 +0x3fcde8c0: 0x3fcde8b0 0x3fcaaf08 0x00000012 0xb1ca9edd +0x3fcde8d0: 0xa9cc4611 0x3fcde8b0 0x00000000 0x00000007 +0x3fcde8e0: 0x3fcde0ac 0x6c616e75 0x656e6769 0x74705f64 +0x3fcde8f0: 0x00745f72 0x00000000 0x3fcde8a0 0x00000007 +0x3fcde900: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde910: 0x3fcac134 0x3fcac19c 0x3fcac204 0x00000000 +0x3fcde920: 0x00000000 0x00000001 0x00000000 0x00000000 +0x3fcde930: 0x00000000 0x4200c450 0x00000000 0x00000000 +0x3fcde940: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde950: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde960: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde970: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde980: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde990: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde9a0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde9b0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde9c0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde9d0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde9e0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde9f0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdea00: 0x3f000000 +.coredump.tasks.data 0x3fcde770 0x130 RW +0x3fcde770: 0x42006d12 0x42006d0c 0x3fcde810 0x3fca9210 +0x3fcde780: 0x3fcdc5ac 0x4005e3c8 0x00000000 0x00000000 +0x3fcde790: 0x00000000 0x00000000 0x00000020 0x3fcde72c +0x3fcde7a0: 0x00000000 0x00000007 0xffffffad 0x00000005 +0x3fcde7b0: 0x42004030 0x00000000 0x00000000 0x00000000 +0x3fcde7c0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde7d0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde7e0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde7f0: 0x00001881 0x40380001 0x00000007 0x00000005 +0x3fcde800: 0x00000000 0x00000002 0x42004030 0x00000000 +0x3fcde810: 0x00000000 0x00000000 0x00000000 0x00000003 +0x3fcde820: 0x00000000 0x0000000a 0x3fcac19c 0x42006cec +0x3fcde830: 0x00000000 0x00000000 0x00000000 0x00000003 +0x3fcde840: 0x00000000 0x3fcde850 0x00000002 0x42006cec +0x3fcde850: 0x3c01137c 0x0000001e 0x3ff4d760 0x00000003 +0x3fcde860: 0x00000000 0x00000000 0x00000000 0x42006d54 +0x3fcde870: 0x00000000 0x00000000 0x00000000 0x40386298 +0x3fcde880: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde890: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 +.coredump.tasks.data 0x3fcddefc 0x154 RW +0x3fcddefc: 0x3fcdde20 0x00000064 0x3fcaaee8 0x3fcaaee8 +0x3fcddf0c: 0x3fcddefc 0x3fcaaee0 0x00000014 0x531908a0 +0x3fcddf1c: 0x27d6ee0c 0x3fcddefc 0x00000000 0x00000005 +0x3fcddf2c: 0x3fcdd6f8 0x5f646162 0x5f727470 0x6b736174 +0x3fcddf3c: 0x00976d00 0x00000000 0x3fcddef0 0x00000005 +0x3fcddf4c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddf5c: 0x3fcac134 0x3fcac19c 0x3fcac204 0x00000000 +0x3fcddf6c: 0x00000000 0x00000001 0x00000000 0x00000000 +0x3fcddf7c: 0x00000000 0x4200c450 0x00000000 0x00000000 +0x3fcddf8c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddf9c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddfac: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddfbc: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddfcc: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddfdc: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddfec: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddffc: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde00c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde01c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde02c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde03c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcde04c: 0x3f000000 +.coredump.tasks.data 0x3fcdde20 0xd0 RW +0x3fcdde20: 0x403830ea 0x40386338 0x3fcddea0 0x3fca9210 +0x3fcdde30: 0x3fcdbbfc 0x4005e3c8 0xffffffe0 0x00000000 +0x3fcdde40: 0x00000064 0x00000000 0x00000001 0x00000001 +0x3fcdde50: 0x00000064 0x00000004 0x00000001 0x600c0000 +0x3fcdde60: 0x42004030 0x00000000 0x00000000 0x00000000 +0x3fcdde70: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdde80: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdde90: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddea0: 0x00000000 0x00000000 0x00000064 0x40385b50 +0x3fcddeb0: 0x00000000 0x00000000 0x00000000 0x42006ca0 +0x3fcddec0: 0x00000000 0x00000000 0x00000000 0x40386298 +0x3fcdded0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcddee0: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 +.coredump.tasks.data 0x3fcaeb68 0x154 RW +0x3fcaeb68: 0x3fcaeaa0 0x3fcab8c4 0x3fcaae84 0x3fcaae84 +0x3fcaeb78: 0x3fcaeb68 0x3fcaae7c 0x00000019 0x23fb2403 +0x3fcaeb88: 0x8cc7236f 0x3fcaeb68 0x00000000 0x00000000 +0x3fcaeb98: 0x3fcae564 0x454c4449 0xab327d00 0xa559a356 +0x3fcaeba8: 0x00ee44c4 0x00000000 0x3fcaeb60 0x00000000 +0x3fcaebb8: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaebc8: 0x3fcac134 0x3fcac19c 0x3fcac204 0x00000000 +0x3fcaebd8: 0x00000000 0x00000001 0x00000000 0x00000000 +0x3fcaebe8: 0x00000000 0x4200c450 0x00000000 0x00000000 +0x3fcaebf8: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec08: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec18: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec28: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec38: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec48: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec58: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec68: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec78: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec88: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaec98: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaeca8: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaecb8: 0x3f000200 +.coredump.tasks.data 0x3fcaeaa0 0xc0 RW +0x3fcaeaa0: 0x403831b2 0x420086cc 0x3fcaeb20 0x3fca9210 +0x3fcaeab0: 0x3fcac86c 0x400586f0 0xffffffe0 0x00000000 +0x3fcaeac0: 0x00000008 0x00000001 0x00000001 0x00000000 +0x3fcaead0: 0xfff00000 0x60023000 0x0000001c 0x00000000 +0x3fcaeae0: 0x00000001 0x00000000 0x00000000 0x00000000 +0x3fcaeaf0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaeb00: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaeb10: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaeb20: 0x00000000 0x00000000 0x00000000 0x403851fe +0x3fcaeb30: 0x00000000 0x00000000 0x00000000 0x40386298 +0x3fcaeb40: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcaeb50: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 +.coredump.tasks.data 0x3fcdf20c 0x154 RW +0x3fcdf20c: 0x3fcdf130 0x000000c8 0x3fcab078 0x3fcab078 +0x3fcdf21c: 0x3fcdf20c 0x3fcab070 0x0000000f 0x00000000 +0x3fcdf22c: 0x00000000 0x3fcdf20c 0x00000000 0x0000000a +0x3fcdf23c: 0x3fcdea08 0x6c696166 0x615f6465 0x72657373 +0x3fcdf24c: 0x00745f74 0x00000000 0x3fcdf200 0x0000000a +0x3fcdf25c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf26c: 0x3fcac134 0x3fcac19c 0x3fcac204 0x00000000 +0x3fcdf27c: 0x00000000 0x00000001 0x00000000 0x00000000 +0x3fcdf28c: 0x00000000 0x4200c450 0x00000000 0x00000000 +0x3fcdf29c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf2ac: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf2bc: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf2cc: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf2dc: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf2ec: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf2fc: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf30c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf31c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf32c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf33c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf34c: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf35c: 0x3f000000 +.coredump.tasks.data 0x3fcdf130 0xd0 RW +0x3fcdf130: 0x403830ea 0x40386338 0x3fcdf1b0 0x3fca9210 +0x3fcdf140: 0x3fcdcf0c 0x4005e3c8 0x00000000 0x00000000 +0x3fcdf150: 0x00000064 0x00000000 0x00000001 0x00000001 +0x3fcdf160: 0x000000c8 0x00000004 0x00000001 0x600c0000 +0x3fcdf170: 0x42004030 0x00000000 0x00000000 0x00000000 +0x3fcdf180: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf190: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf1a0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf1b0: 0x00000000 0x00000000 0x00000064 0x40385b50 +0x3fcdf1c0: 0x00000000 0x00000000 0x00000000 0x42006b7a +0x3fcdf1d0: 0x00000000 0x00000000 0x00000000 0x40386298 +0x3fcdf1e0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcdf1f0: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 +.coredump.tasks.data 0x3fcad470 0x154 RW +0x3fcad470: 0x3fcad390 0x3fcab8c4 0x3fcab0b4 0x3fcab0b4 +0x3fcad480: 0x3fcad470 0x3fcab0ac 0x00000003 0x76f29c86 +0x3fcad490: 0xc53fc37b 0x3fcad470 0x00000000 0x00000016 +0x3fcad4a0: 0x3fcac66c 0x5f707365 0x656d6974 0x7bcd0072 +0x3fcad4b0: 0x00267a48 0x00000000 0x3fcad460 0x00000016 +0x3fcad4c0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad4d0: 0x3fcac134 0x3fcac19c 0x3fcac204 0x00000000 +0x3fcad4e0: 0x00000000 0x00000001 0x00000000 0x00000000 +0x3fcad4f0: 0x00000000 0x4200c450 0x00000000 0x00000000 +0x3fcad500: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad510: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad520: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad530: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad540: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad550: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad560: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad570: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad580: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad590: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad5a0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad5b0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad5c0: 0x3f000001 +.coredump.tasks.data 0x3fcad390 0xd0 RW +0x3fcad390: 0x403862d6 0x40386300 0x3fcad410 0x3fca9210 +0x3fcad3a0: 0x3fcab16c 0x00000000 0x00000000 0x00000000 +0x3fcad3b0: 0x00000000 0xffffffff 0x00000001 0x00000001 +0x3fcad3c0: 0xffffffff 0x00000004 0x3fcab000 0x600c2000 +0x3fcad3d0: 0x00000000 0x00000000 0x00000001 0x00000000 +0x3fcad3e0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad3f0: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad400: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad410: 0x00000001 0xffffffff 0x00000000 0x40385df2 +0x3fcad420: 0x00000000 0x00000000 0x00000000 0x42003264 +0x3fcad430: 0x00000000 0x00000000 0x00000000 0x40386298 +0x3fcad440: 0x00000000 0x00000000 0x00000000 0x00000000 +0x3fcad450: 0x00000000 0xa5a5a5a5 0xa5a5a5a5 0xa5a5a5a5 + +===================== ESP32 CORE DUMP END ===================== +=============================================================== +Done! diff --git a/components/espcoredump/test/test_espcoredump.py b/components/espcoredump/test/test_espcoredump.py index 819586bc85..9b5f074a35 100755 --- a/components/espcoredump/test/test_espcoredump.py +++ b/components/espcoredump/test/test_espcoredump.py @@ -14,7 +14,7 @@ except ImportError: raise ModuleNotFoundError('No module named "esp_coredump" please install esp_coredump by running ' '"python -m pip install esp-coredump"') -SUPPORTED_TARGET = ['esp32', 'esp32s2', 'esp32c3', 'esp32s3'] +SUPPORTED_TARGET = ['esp32', 'esp32s2', 'esp32c3', 'esp32s3', 'esp32c2'] class TestESPCoreDumpElfFile(unittest.TestCase): diff --git a/components/espcoredump/test/test_espcoredump.sh b/components/espcoredump/test/test_espcoredump.sh index fa3045a2a1..0b3d11a9d8 100755 --- a/components/espcoredump/test/test_espcoredump.sh +++ b/components/espcoredump/test/test_espcoredump.sh @@ -13,7 +13,7 @@ fi COREDUMP_VERSION="espcoredump.py v$(python -c "import pkg_resources; print(pkg_resources.get_distribution('esp-coredump').version)")" COREDUMP_VERSION_REGEX="espcoredump.py v([0-9])+.([0-9a-z-])+(.[0-9a-z-])?" -SUPPORTED_TARGETS=("esp32" "esp32s2" "esp32c3" "esp32s3" ) +SUPPORTED_TARGETS=("esp32" "esp32s2" "esp32c3" "esp32s3" "esp32c2") res=0 for chip in "${SUPPORTED_TARGETS[@]}"; do { diff --git a/components/espcoredump/test/test_sections.c b/components/espcoredump/test/test_sections.c index 175369e1b6..0ec31b9dba 100644 --- a/components/espcoredump/test/test_sections.c +++ b/components/espcoredump/test/test_sections.c @@ -8,24 +8,25 @@ #include "esp_attr.h" #include "test_utils.h" -#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) -//IDF-5050 - /* Global variables that should be part of the coredump */ COREDUMP_IRAM_DATA_ATTR uint32_t var_iram = 0x42; COREDUMP_DRAM_ATTR uint32_t var_dram = 0x43; +#if SOC_RTC_MEM_SUPPORTED COREDUMP_RTC_DATA_ATTR uint32_t var_rtc = 0x44; COREDUMP_RTC_FAST_ATTR uint32_t var_rtcfast = 0x45; +#endif // SOC_RTC_MEM_SUPPORTED /* Memory regions to dump, defined at compile time. */ extern int _coredump_dram_start; extern int _coredump_dram_end; extern int _coredump_iram_start; extern int _coredump_iram_end; +#if SOC_RTC_MEM_SUPPORTED extern int _coredump_rtc_start; extern int _coredump_rtc_end; extern int _coredump_rtc_fast_start; extern int _coredump_rtc_fast_end; +#endif // SOC_RTC_MEM_SUPPORTED static inline bool is_addr_in_region(void* addr, uint8_t* region, int region_size) { @@ -51,6 +52,7 @@ TEST_CASE("test variables presence in core dump sections", "[espcoredump]") TEST_ASSERT(section_size > 0); TEST_ASSERT(is_addr_in_region(&var_iram, (uint8_t*) section_start, section_size)); #endif +#if SOC_RTC_MEM_SUPPORTED /* Check RTC coredump section */ section_start = (uint32_t)&_coredump_rtc_start; section_size = (uint8_t *)&_coredump_rtc_end - (uint8_t *)&_coredump_rtc_start; @@ -61,6 +63,5 @@ TEST_CASE("test variables presence in core dump sections", "[espcoredump]") section_size = (uint8_t *)&_coredump_rtc_fast_end - (uint8_t *)&_coredump_rtc_fast_start; TEST_ASSERT(section_size > 0); TEST_ASSERT(is_addr_in_region(&var_rtcfast, (uint8_t*) section_start, section_size)); +#endif // SOC_RTC_MEM_SUPPORTED } - -#endif //!TEMPORARY_DISABLED_FOR_TARGETS(ESP32C2) diff --git a/components/espcoredump/test_apps/README.md b/components/espcoredump/test_apps/README.md index 2159d40a70..f0bf02b571 100644 --- a/components/espcoredump/test_apps/README.md +++ b/components/espcoredump/test_apps/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C3 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | # ESP Core Dump Tests diff --git a/components/espcoredump/test_apps/build_espcoredump.sh b/components/espcoredump/test_apps/build_espcoredump.sh index 9f7ac84d3f..4964aa2e6c 100755 --- a/components/espcoredump/test_apps/build_espcoredump.sh +++ b/components/espcoredump/test_apps/build_espcoredump.sh @@ -11,7 +11,7 @@ else output_dir=$1 fi -SUPPORTED_TARGETS=("esp32" "esp32s2" "esp32c3" "esp32s3") +SUPPORTED_TARGETS=("esp32" "esp32s2" "esp32c3" "esp32s3" "esp32c2") for chip in "${SUPPORTED_TARGETS[@]}"; do { echo "--------------------------" diff --git a/docs/en/api-guides/core_dump.rst b/docs/en/api-guides/core_dump.rst index 7e8928004c..e4b47d39a4 100644 --- a/docs/en/api-guides/core_dump.rst +++ b/docs/en/api-guides/core_dump.rst @@ -65,12 +65,10 @@ There are a number of core dump related configuration options which user can cho * Decode and show summary (info_corefile) * Don't decode -.. only:: esp32c3 +**Reserved stack size (Components -> Core dump -> Reserved stack size)** - **Reserved stack size (Components -> Core dump -> Reserved stack size)** - - Size of the memory to be reserved for core dump stack. If 0 core dump process will run on the stack of crashed task/ISR, otherwise special stack will be allocated. - To ensure that core dump itself will not overflow task/ISR stack set this to the value above 800. + Size of the memory to be reserved for core dump stack. If 0 core dump process will run on the stack of crashed task/ISR, otherwise special stack will be allocated. + To ensure that core dump itself will not overflow task/ISR stack set this to the value above 800. Save core dump to flash -----------------------