Thread 中讨论的其他器件:SYSBIOS
您好!
在调试模式下的应用中、我已经使用这些设置(RESET_OFF 和 DEBUG_STALL_ON)设置了硬件看门狗:
// --- Enable and run HW WDT ---
// Call HW watchdog initialization functions
Watchdog_init();
// Create and enable a Watchdog with resets enabled
Watchdog_Params_init(&hdWdParams);
hdWdParams.callbackFxn = (Watchdog_Callback)watchdogHwiCallback;
hdWdParams.resetMode = Watchdog_RESET_OFF;
hdWdParams.debugStallMode = Watchdog_DEBUG_STALL_ON;
hwWatchdogHandle = Watchdog_open(CONFIG_WATCHDOG_0, &hdWdParams);
if (hwWatchdogHandle == NULL) {
// Error opening HW Watchdog
SwReset(enErr_openingHwWatchdog); // Do SW reset
}
// Set HW WDT timeout period
wdTickValue = Watchdog_convertMsToTicks(hwWatchdogHandle, HW_WDT_TIMEOUT_MS);
Watchdog_setReload(hwWatchdogHandle, wdTickValue);
运行应用程序时、我始终会收到看门狗意外的启动。 尝试解释我发现在调试函数 Watchdog_clear (hwWatchdogHandle)中看起来不会重新加载 WDT 计时器的原因、因此我的问题是:
调试中的硬件看门狗行为有什么特别之处?