大家好、我正在尝试从 R5内核上运行的软件启动一个加电复位。 复位后启动时、我想通过检查`CTRLMMR_MCU_RST_SRC`寄存器来验证复位源。
当我运行该测试代码时、我希望看到位25 (SW_MAIN_POR_FROM_MAIN)设置、但我看到位16 (`SW_MCU_WARMRST`)设置了:
上次复位原因:0x00010000
int main(void) { System_init(); Board_init(); Drivers_open(); Board_driversOpen(); /* Show the last reset reason. Then trigger a power-on-reset */ uint32_t reset_reason = SOC_getWarmResetCauseMainDomain(); SOC_clearResetCauseMainMcuDomain(0xffffffff); DebugP_log("last reset reason: %08x \r\n", reset_reason); ClockP_sleep(10); SOC_generateSwPORResetMainDomain(); return 0; }
我不`S` OC_generateSwPORResetMainDomain ()`是否实际上导致了热复位、或者上电复位是否总是导致在` CTRLMMR_MCU_RST_SRC 中设置第16位、或者是否发生了其他情况。
我能否帮助了解所发生的情况?