在MSS工程中,可以使用看门狗功能,既可以看门狗复位,又可以看门狗中断,中断中可以使用软件复位;
看门狗初始化:
Watchdog_init();
Watchdog_Params_init(¶ms);
params.resetMode = Watchdog_RESET_OFF;
params.callbackFxn = watchdogCallback;
params.socHandle = socHandle;
params.esmHandle = esmHandle;
params.debugStallMode = Watchdog_DEBUG_STALL_ON;
params.windowSize = Watchdog_WINDOW_100_PERCENT;
params.preloadValue = 489;
handle = Watchdog_open(0, ¶ms);
if (handle== NULL) {
System_printf("Error: MMWDemoMSS:Watchdog did not open");
return;
}
看门狗回调:
static void watchdogCallback(Watchdog_Handle handle)
{
MmwDemo_CLIResetDevice();
return;
}
软件复位程序:
static int32_t MmwDemo_CLIResetDevice(void)
{
uint32_t* resetAddr = (uint32_t*)0xFFFFE11C;
*resetAddr = 0xAD;
return 0;
}
在DSS工程中,这样使用没有明显效果,求帮助。