Hello all,
C6678 EVM
bios_6_35_04_50
pdk_C6678_1_1_2_6
xdctools_3_25_03_72
I tested the watchdog timer in the timer example (C:\ti\pdk_C6678_1_1_2_6\packages\ti\csl\example\timer\timer_test.c) and added the following to reset the timer count value so the WDT never triggers an interrupt and that worked fine:
static Int32 test_wd_timer (Uint8 IntcInstance)
{
...
while(1)
{
WDT_reset();
}
...
}
where
void WDT_reset(void)
{
Uint16 loadVal;
/* Watchdog timer service key1 */
loadVal = CSL_TMR_WDTCR_WDKEY_CMD1;
CSL_tmrHwControl(wdTmr, CSL_TMR_CMD_LOAD_WDKEY, (Uint16 *)&loadVal);
/* Watchdog timer service key2 */
loadVal = CSL_TMR_WDTCR_WDKEY_CMD2;
CSL_tmrHwControl(wdTmr, CSL_TMR_CMD_LOAD_WDKEY, (Uint16 *)&loadVal);
}
When I added the same code to my sys/bios project, the WDT kept firing and the call to WDT_reset didn't work...when I break inside the WDT_reset, I noticed that the wdTmr handle is not valid anymore!...wdTmr is defined as a global handle same way in the timer_test.c code...
Regards,
Murad