/* 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 | |