This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Concerto F28M35x watchdog issue

Other Parts Discussed in Thread: CONTROLSUITE

Hi all,

I'm trying to use WD timer0 in our project based on Concerto F28M35x.

Here is the init procedure I run:

void WatchDogTimer0Init (void)
{
// Configure Watchdog timer 0
// Disable Protection
HWREG(SYSCTL_MWRALLOW) = 0xA5A5A5A5;
// Enable the peripherals used by this example.
SysCtlPeripheralEnable(SYSCTL_PERIPH_WDOG0);
// Unlock writes to watchdog configuration.
WatchdogUnlock(WATCHDOG0_BASE);
// Set the period of the watchdog timer.
WatchdogReloadSet(WATCHDOG0_BASE, WD_VALUE_FOR_15SEC_TIMEOUT);
// Enable reset generation from the watchdog timer.
#if WD_SYSTM_IN_DEBUG
// Set the watchdog timer to stop counting when the processor is stopped by the debugger,
WatchdogStallEnable(WATCHDOG0_BASE);
#endif
WatchdogResetEnable(WATCHDOG0_BASE);
// Enable the watchdog timer.
WatchdogEnable(WATCHDOG0_BASE);
// Lock subsequent writes to watchdog configuration.
WatchdogLock(WATCHDOG0_BASE);
// Disable writes to protected registers.
HWREG(SYSCTL_MWRALLOW) = 0;
}

So, I expect to get wd interrupt after timeout, and a reset after another timeout.

Indeed I get the wd interrupt after wd timer expires, but after that it looks like I get this interrupt again and again in infinite loop.

Looks like I never get the reset.

What's wrong?

NOTE: Inside the wd ISR I do nothing but increasing interrupt counter.

Thanks,

Alex.