TI工程师,你好;最近在AWR1642 无操作系统上增加看门狗定时器,发现程序运行后进不来定时器中断;同样的看门狗配置代码,在使用TI-ROTS上测试过,看门狗定时器是可以正常进入中断工作的;
为什么使用在无操作系统工程上看门狗定时器不能正常工作?需要更改哪里?无操作系统测试工程使用的是AWR16xx_dss_nonOS;
附录代码:
void Watchdog_Init()
{
Watchdog_Params watchdogParams;
/* Initializa the Watchdog driver */
Watchdog_init();
/* Initialize the Watchdog driver default parameters */
Watchdog_Params_init(&watchdogParams);
#if 0
watchdogParams.resetMode = Watchdog_RESET_ON;
#else
watchdogParams.resetMode = Watchdog_RESET_OFF;
watchdogParams.callbackFxn = watchdogCallback;
#endif
watchdogParams.debugStallMode = Watchdog_DEBUG_STALL_ON;
watchdogParams.windowSize = Watchdog_WINDOW_100_PERCENT;
/***T-expire = (preloadValue+1)x2^13/RTCK1;RTCK1=20MHz****/
watchdogParams.preloadValue = 1954; //80.03ms
//watchdogParams.preloadValue = 4095;//160ms
watchdogParams.socHandle = gMmwMssMCB.socHandle;
watchdogParams.esmHandle = gMmwMssMCB.esmHandle;
/* Open the Watchdog driver */
gMmwMssMCB.watchdogHandle = Watchdog_open(0, &watchdogParams);
if (gMmwMssMCB.watchdogHandle == NULL)
{
#ifdef DEBUG
System_printf("Error: Watchdog Driver Open failed\n");
#endif
}
// Watchdog_clear(gMmwMssMCB.watchdogHandle);
return;
}
void watchdogCallback(Watchdog_Handle handle)
{
g_uiTimeCnt++;
}


