大家好、我正在尝试从 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位、或者是否发生了其他情况。
我能否帮助了解所发生的情况?