15 #include "sw/device/lib/testing/rstmgr_testutils.h"
16 #include "sw/device/lib/testing/test_framework/check.h"
18 #include "sw/device/silicon_creator/lib/drivers/retention_sram.h"
19 #include "sw/device/silicon_creator/lib/drivers/rstmgr.h"
20 #include "sw/device/silicon_creator/lib/error.h"
29 extern noreturn
void _asm_exception_handler(
void);
31 OTTF_DEFINE_TEST_CONFIG();
35 typedef enum TestPhase {
42 uint32_t reason = rstmgr_testutils_reason_get();
43 LOG_INFO(
"reset_info = %08x", reason);
47 rstmgr_testutils_reason_clear();
55 retention_sram_clear();
57 LOG_INFO(
"Calling exception handler to reset device.");
58 *phase = kTestPhaseReset;
59 _asm_exception_handler();
65 LOG_INFO(
"Detected reset after exception test");
66 if (*phase != kTestPhaseReset) {
67 LOG_ERROR(
"Test failure: expected phase %d but got phase %d",
68 kTestPhaseReset, *phase);