実機テストで Panic 中に Panic したりしないか入念に確認
// Backtrace が想定どおり取れるかテスト (restart, abort, assert, wdt, stack/buffer overflow)
// 最後に余計な Panic なく想定どおりの回数だけ Panic していることを確認する
typedef enum {
TEST_STATE_INITIALIZE, TEST_STATE_RESTART, …,
TEST_STATE_ABORT_CORE0, TEST_STATE_ABORT_CORE1, …,
TEST_STATE_ASSERT_CORE0, TEST_STATE_ASSERT_CORE1, …,
TEST_STATE_WATCHDOG_CORE0, TEST_STATE_WATCHDOG_CORE1, …,
TEST_STATE_STACK_OVERFLOW_CORE0, TEST_STATE_STACK_OVERFLOW_CORE1, …,
TEST_STATE_BUFFER_OVERFLOW_CORE0, TEST_STATE_BUFFER_OVERFLOW_CORE1, …,
TEST_STATE_FINALIZE,
} test_state_t;
static RTC_NOINIT_ATTR test_state_t s_test_state; // RTC Memory に保存してテスト状況を追跡
static RTC_NOINIT_ATTR size_t s_panic_count; // 想定外に Panic していないか監視
const size_t MAX_PANIC_COUNT = 10; // このテストで Panic する回数