请问TC397 CPU看门狗二次复位后,一直处于复位状态,不再重启。这是什么原因导致的? /* !!WATCHDOG0 AND SAFETY WATCHDOG ARE DISABLED HERE!! * Enable the watchdogs and service them periodically if it is required */ // //IfxScuWdt_disableCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword()); IfxScuWdt_disableSafetyWatchdog(IfxScuWdt_getSafetyWatchdogPassword()); IfxScuWdt_changeCpuWatchdogReload(IfxScuWdt_getCpuWatchdogPassword(), REL_VAL); IfxScuWdt_serviceCpuWatchdog(IfxScuWdt_getCpuWatchdogPassword()); /* Wait for CPU sync event */ IfxCpu_emitEvent( g_cpuSyncEvent); IfxCpu_waitEvent( g_cpuSyncEvent, 1);
2024-1-24 16:11:15
根据提供的代码片段,CPU看门狗和安全看门狗最初似乎被禁用,然后为CPU看门狗设置了重新加载值。然而,没有提供代码来实际启用和启动看门狗或持续为看门狗服务。
如果没有定期启用和维护看门狗,则CPU可能无法按预期重置或重新启动。在这种情况下,这可能是CPU在第二次看门狗重置后仍处于重置状态的原因。
为了解决这个问题,您需要添加代码来启用和启动看门狗,并定期为它们提供服务。这可以使用IfxScuWdt库中的适当函数来完成,例如IfxScuWdt_enableCpuWatchdog()和IfxScuWdt_serviceCpuWatch.()。
根据提供的代码片段,CPU看门狗和安全看门狗最初似乎被禁用,然后为CPU看门狗设置了重新加载值。然而,没有提供代码来实际启用和启动看门狗或持续为看门狗服务。
如果没有定期启用和维护看门狗,则CPU可能无法按预期重置或重新启动。在这种情况下,这可能是CPU在第二次看门狗重置后仍处于重置状态的原因。
为了解决这个问题,您需要添加代码来启用和启动看门狗,并定期为它们提供服务。这可以使用IfxScuWdt库中的适当函数来完成,例如IfxScuWdt_enableCpuWatchdog()和IfxScuWdt_serviceCpuWatch.()。
举报