mirror of
https://github.com/espressif/esp-idf.git
synced 2025-09-02 14:49:04 +00:00

This commit updates the following: - Updates the panic handler to use only the RTC WDT to reset the system. - Refactors some of the panic handler code. - Updates Bluetooth files where in they now feed the WDTs instead of reconfiguring them. - Removes some unnecessary configuration of WDTs from various files. - Added a unit test to verify that the system does not lock up when the panic handler is stuck. - Updates the memprot unit tests to work with the refactored panic handler. Closes https://github.com/espressif/esp-idf/issues/15166 Closes https://github.com/espressif/esp-idf/issues/15018 Closes https://github.com/espressif/esp-idf/issues/10110
63 lines
1.1 KiB
C
63 lines
1.1 KiB
C
/*
|
|
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Utility functions */
|
|
|
|
void die(const char* msg) __attribute__ ((noreturn));
|
|
|
|
/* Functions causing an exception/panic in different ways */
|
|
|
|
void test_abort(void);
|
|
|
|
void test_abort_cache_disabled(void);
|
|
|
|
void test_int_wdt(void);
|
|
|
|
void test_task_wdt_cpu0(void);
|
|
|
|
#if CONFIG_ESP_COREDUMP_ENABLE_TO_FLASH && CONFIG_SPIRAM_ALLOW_STACK_EXTERNAL_MEMORY
|
|
void test_panic_extram_stack(void);
|
|
#endif
|
|
|
|
#if !CONFIG_FREERTOS_UNICORE
|
|
void test_task_wdt_cpu1(void);
|
|
|
|
void test_panic_handler_stuck1(void);
|
|
void test_panic_handler_crash1(void);
|
|
#endif
|
|
|
|
void test_panic_handler_stuck0(void);
|
|
|
|
void test_panic_handler_crash0(void);
|
|
|
|
void test_storeprohibited(void);
|
|
|
|
void test_cache_error(void);
|
|
|
|
void test_int_wdt_cache_disabled(void);
|
|
|
|
void test_stack_overflow(void);
|
|
|
|
void test_illegal_instruction(void);
|
|
|
|
void test_instr_fetch_prohibited(void);
|
|
|
|
void test_ub(void);
|
|
|
|
void test_assert(void);
|
|
|
|
void test_assert_cache_disabled(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|