/* THIS SAMPLE CODE IS PROVIDED AS IS AND IS SUBJECT TO ALTERATIONS. FUJITSU */ /* MICROELECTRONICS ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR */ /* ELIGIBILITY FOR ANY PURPOSES. */ /* (C) Fujitsu Microelectronics Europe GmbH */ /*------------------------------------------------------------------------ watchdog.h - This file contains the defines and function declaration for hardware watchdog. -------------------------------------------------------------------------*/ #ifndef WATCHDOG_H #define WATCHDOG_H /* * Clear watchdog defines */ #define WTC_NONE 0 /* Don't initialize and clear watchdog */ #define WTC_IN_TASK 1 /* Clear Watchdog in dedicated task */ #define WTC_IN_TICK 2 /* Clear Watchdog in TICK Hook */ #define WTC_IN_IDLE 3 /* Clear Watchdog in Idle Hook */ #define WATCHDOG WTC_IN_TASK /* Clear Watchdog in vWatchdogTask() */ /*------------------------------------------------------------------------*/ /* * Watchdog period defines */ #define WTC_PER_2_16 0 /* The watchdog period is 2^16 CLKRC cycles */ #define WTC_PER_2_17 1 /* The watchdog period is 2^17 CLKRC cycles */ #define WTC_PER_2_18 2 /* The watchdog period is 2^18 CLKRC cycles */ #define WTC_PER_2_19 3 /* The watchdog period is 2^19 CLKRC cycles */ /*------------------------------------------------------------------------*/ /* * After every WTC_CLR_PER ticks the watchdog would be cleared in the prvWatchdogTask(). * This period needs to be chosen in accordance with the current CLKRC (100KHz or 2MHz) * and the above setting WTC_PER_2_XX. */ #define WTC_CLR_PER 30 /* The watchdog clear period in RTOS ticks */ /*------------------------------------------------------------------------*/ /* * Kick_watchdog Macro to clear watchdog */ #define Kick_Watchdog() \ { HWWD = 0x10; \ } /*------------------------------------------------------------------------*/ /* * Watchdog function declarations */ void InitWatchdog (void); void vStartWatchdogTask(unsigned short); #endif