DolphinV4 API  1.6.1.0
Watchdog Timer

It is very important to understand that in the EO3100I platform the watchdog timer is used for two different mutually exclusive purposes:

  • The watchdog timer is used as a safety feature to provide a system reset in case of an application deadlock. This is the case of line power application, which typically run within an endless loop.
  • In the case of ULP applications, the watchdog timer is used to wake up the cpu from deep sleep mode. For more information about this read Sleep Modes.

This chapter describes how to use the watchdog timer reset to recover the application from a deadlock. For more information about the HW timer read Ultra Low Power Timers

To configure the watchdog timer to recover the application from a deadlock do the following:

  • After a reset, by default, the watchdog period register is set to 0xFFFFFF (~ 46.6 hours).
  • At the beginning of the application set the watchdog reset period using the SET_WDT macro
  • When the period of the watchdog is set, the application has to make sure that the watchdog timer counter is cleared before the counter overflows. Otherwise the watchdog will force a watchdog reset. To clear the watchdog counter use the CLR_WDT macro.
  • To determine if there was a Watchdog reset call the pwr_getSystemReset