CC26xx Driver Library
[watchdog] Watch Dog Timer

Functions

static bool WatchdogRunning (void)
 Determines if the watchdog timer is enabled. More...
 
static void WatchdogEnable (void)
 Enables the watchdog timer. More...
 
static void WatchdogResetEnable (void)
 Enables the watchdog timer reset. More...
 
static void WatchdogResetDisable (void)
 Disables the watchdog timer reset. More...
 
static void WatchdogLock (void)
 Enables the watchdog timer lock mechanism. More...
 
static void WatchdogUnlock (void)
 Disables the watchdog timer lock mechanism. More...
 
static bool WatchdogLockState (void)
 Gets the state of the watchdog timer lock mechanism. More...
 
static void WatchdogReloadSet (uint32_t ui32LoadVal)
 Sets the watchdog timer reload value. More...
 
static uint32_t WatchdogReloadGet (void)
 Gets the watchdog timer reload value. More...
 
static uint32_t WatchdogValueGet (void)
 Gets the current watchdog timer value. More...
 
static void WatchdogIntRegister (void(*pfnHandler)(void))
 Registers an interrupt handler for the watchdog timer interrupt. More...
 
static void WatchdogIntUnregister (void)
 Unregisters an interrupt handler for the watchdog timer interrupt. More...
 
static void WatchdogIntEnable (void)
 Enables the watchdog timer. More...
 
static uint32_t WatchdogIntStatus (void)
 Gets the current watchdog timer interrupt status. More...
 
static void WatchdogIntClear (void)
 Clears the watchdog timer interrupt. More...
 
static void WatchdogIntTypeSet (uint32_t ui32Type)
 Sets the type of interrupt generated by the watchdog. More...
 
static void WatchdogStallEnable (void)
 Enables stalling of the watchdog timer during debug events. More...
 
static void WatchdogStallDisable (void)
 Disables stalling of the watchdog timer during debug events. More...
 

Detailed Description

Function Documentation

static void WatchdogEnable ( void  )
inlinestatic

Enables the watchdog timer.

This function enables the watchdog timer counter and interrupt.

Note
This function has no effect if the watchdog timer has been locked.
Returns
None
See also
WatchdogLock(), WatchdogUnlock()

Definition at line 136 of file watchdog.h.

Referenced by WatchdogIntEnable().

static void WatchdogIntClear ( void  )
inlinestatic

Clears the watchdog timer interrupt.

The watchdog timer interrupt source is cleared, so that it no longer asserts.

Note
Because there is a write buffer in the System CPU, it may take several clock cycles before the interrupt source is actually cleared. Therefore, it is recommended that the interrupt source be cleared early in the interrupt handler (as opposed to the very last action) to avoid returning from the interrupt handler before the interrupt source is actually cleared. Failure to do so may result in the interrupt handler being immediately reentered (because the interrupt controller still sees the interrupt source asserted).
Returns
None

Definition at line 442 of file watchdog.h.

static void WatchdogIntEnable ( void  )
inlinestatic

Enables the watchdog timer.

This function enables the watchdog timer by calling WatchdogEnable().

Returns
None
See also
WatchdogEnable()

Definition at line 393 of file watchdog.h.

Here is the call graph for this function:

static void WatchdogIntRegister ( void(*)(void)  pfnHandler)
inlinestatic

Registers an interrupt handler for the watchdog timer interrupt.

This function does the actual registering of the interrupt handler. This function also enables the global interrupt in the interrupt controller; the watchdog timer interrupt must be enabled via WatchdogIntEnable(). It is the interrupt handler's responsibility to clear the interrupt source via WatchdogIntClear().

Note
This function registers the standard watchdog interrupt handler. To register the NMI watchdog handler, use IntRegister() to register the handler for the FAULT_NMI interrupt.
Parameters
pfnHandleris a pointer to the function to be called when the watchdog timer interrupt occurs.
Returns
None
See also
IntRegister() for important information about registering interrupt handlers.

Definition at line 335 of file watchdog.h.

Here is the call graph for this function:

static uint32_t WatchdogIntStatus ( void  )
inlinestatic

Gets the current watchdog timer interrupt status.

This function returns the interrupt status for the watchdog timer module.

Returns
Returns the interrupt status.
  • 1 : Watchdog time-out has occurred.
  • 0 : Watchdog time-out has not occurred.
See also
WatchdogIntClear();

Definition at line 413 of file watchdog.h.

static void WatchdogIntTypeSet ( uint32_t  ui32Type)
inlinestatic

Sets the type of interrupt generated by the watchdog.

This function sets the type of interrupt that is generated if the watchdog timer expires.

When configured to generate an NMI, the watchdog interrupt must still be enabled with WatchdogIntEnable(), and it must still be cleared inside the NMI handler with WatchdogIntClear().

Parameters
ui32Typeis the type of interrupt to generate.
Returns
None

Definition at line 469 of file watchdog.h.

static void WatchdogIntUnregister ( void  )
inlinestatic

Unregisters an interrupt handler for the watchdog timer interrupt.

This function does the actual unregistering of the interrupt handler. This function clears the handler to be called when a watchdog timer interrupt occurs. This function also masks off the interrupt in the interrupt controller so that the interrupt handler no longer is called.

Note
This function registers the standard watchdog interrupt handler. To register the NMI watchdog handler, use IntRegister() to register the handler for the FAULT_NMI interrupt.
Returns
None
See also
IntRegister() for important information about registering interrupt handlers.

Definition at line 368 of file watchdog.h.

Here is the call graph for this function:

static void WatchdogLock ( void  )
inlinestatic

Enables the watchdog timer lock mechanism.

This function locks out write access to the watchdog timer configuration registers.

Returns
None

Definition at line 195 of file watchdog.h.

static bool WatchdogLockState ( void  )
inlinestatic

Gets the state of the watchdog timer lock mechanism.

This function returns the lock state of the watchdog timer registers.

Returns
Returns state of lock mechanism.
  • true : Watchdog timer registers are locked.
  • false : Registers are not locked.

Definition at line 235 of file watchdog.h.

static uint32_t WatchdogReloadGet ( void  )
inlinestatic

Gets the watchdog timer reload value.

This function gets the value that is loaded into the watchdog timer when the count reaches zero for the first time.

Returns
None
See also
WatchdogReloadSet()

Definition at line 285 of file watchdog.h.

static void WatchdogReloadSet ( uint32_t  ui32LoadVal)
inlinestatic

Sets the watchdog timer reload value.

This function configures the value to load into the watchdog timer when the count reaches zero for the first time; if the watchdog timer is running when this function is called, then the value is immediately loaded into the watchdog timer counter. If the ui32LoadVal parameter is 0, then an interrupt is immediately generated.

Note
This function has no effect if the watchdog timer has been locked.
Parameters
ui32LoadValis the load value for the watchdog timer.
Returns
None
See also
WatchdogLock(), WatchdogUnlock(), WatchdogReloadGet()

Definition at line 264 of file watchdog.h.

static void WatchdogResetDisable ( void  )
inlinestatic

Disables the watchdog timer reset.

This function disables the capability of the watchdog timer to issue a reset to the processor after a second timeout condition.

Note
This function has no effect if the watchdog timer has been locked.
Returns
None
See also
WatchdogLock(), WatchdogUnlock()

Definition at line 178 of file watchdog.h.

static void WatchdogResetEnable ( void  )
inlinestatic

Enables the watchdog timer reset.

This function enables the capability of the watchdog timer to issue a reset to the processor after a second timeout condition.

Note
This function has no effect if the watchdog timer has been locked.
Returns
None
See also
WatchdogLock(), WatchdogUnlock()

Definition at line 157 of file watchdog.h.

static bool WatchdogRunning ( void  )
inlinestatic

Determines if the watchdog timer is enabled.

This function checks to see if the watchdog timer is enabled.

Returns
Returns status of Watchdog Timer:
  • true : Watchdog timer is enabled.
  • false : Watchdog timer is disabled.

Definition at line 114 of file watchdog.h.

static void WatchdogStallDisable ( void  )
inlinestatic

Disables stalling of the watchdog timer during debug events.

This function disables the debug mode stall of the watchdog timer. By doing so, the watchdog timer continues to count regardless of the processor debug state.

Returns
None

Definition at line 512 of file watchdog.h.

static void WatchdogStallEnable ( void  )
inlinestatic

Enables stalling of the watchdog timer during debug events.

This function allows the watchdog timer to stop counting when the processor is stopped by the debugger. By doing so, the watchdog is prevented from expiring and resetting the system (if reset is enabled). The watchdog instead expires after the appropriate number of processor cycles have been executed while debugging (or at the appropriate time after the processor has been restarted).

Returns
None

Definition at line 494 of file watchdog.h.

static void WatchdogUnlock ( void  )
inlinestatic

Disables the watchdog timer lock mechanism.

This function enables write access to the watchdog timer configuration registers.

Returns
None

Definition at line 215 of file watchdog.h.

static uint32_t WatchdogValueGet ( void  )
inlinestatic

Gets the current watchdog timer value.

This function reads the current value of the watchdog timer.

Returns
Returns the current value of the watchdog timer.

Definition at line 303 of file watchdog.h.

Macro Definition Documentation

#define WATCHDOG_INT_TIMEOUT   0x00000001

Definition at line 86 of file watchdog.h.

Referenced by WatchdogIntClear().

#define WATCHDOG_INT_TYPE_INT   0x00000000

Definition at line 93 of file watchdog.h.

Referenced by WatchdogIntTypeSet().

#define WATCHDOG_INT_TYPE_NMI   0x00000004

Definition at line 94 of file watchdog.h.

Referenced by WatchdogIntTypeSet().

#define WATCHDOG_LOCK_LOCKED   0x00000001

Definition at line 77 of file watchdog.h.

Referenced by WatchdogLock(), and WatchdogLockState().

#define WATCHDOG_LOCK_UNLOCK   0x1ACCE551

Definition at line 78 of file watchdog.h.

Referenced by WatchdogUnlock().

#define WATCHDOG_LOCK_UNLOCKED   0x00000000

Definition at line 76 of file watchdog.h.