/* 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. | |
-------------------------------------------------------------------------*/ | |
/* | |
* 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_NONE /* Clear Watchdog in vWatchdogTask() */ | |
/*------------------------------------------------------------------------*/ | |
/* | |
* Watchdog period defines | |
*/ | |
#define WTC_PER_2_9 0 /* The watchdog period is 2^9/CLKWT */ | |
#define WTC_PER_2_10 1 /* The watchdog period is 2^10/CLKWT */ | |
#define WTC_PER_2_11 2 /* The watchdog period is 2^11/CLKWT */ | |
#define WTC_PER_2_12 3 /* The watchdog period is 2^12/CLKWT */ | |
#define WTC_PER_2_13 4 /* The watchdog period is 2^13/CLKWT */ | |
#define WTC_PER_2_14 5 /* The watchdog period is 2^14/CLKWT */ | |
#define WTC_PER_2_15 6 /* The watchdog period is 2^15/CLKWT */ | |
#define WTC_PER_2_16 7 /* The watchdog period is 2^16/CLKWT */ | |
#define WTC_PER_2_17 8 /* The watchdog period is 2^17/CLKWT */ | |
#define WTC_PER_2_18 9 /* The watchdog period is 2^18/CLKWT */ | |
#define WTC_PER_2_19 10 /* The watchdog period is 2^19/CLKWT */ | |
#define WTC_PER_2_20 11 /* The watchdog period is 2^20/CLKWT */ | |
#define WTC_PER_2_21 12 /* The watchdog period is 2^21/CLKWT */ | |
#define WTC_PER_2_22 13 /* The watchdog period is 2^22/CLKWT */ | |
#define WTC_PER_2_23 14 /* The watchdog period is 2^23/CLKWT */ | |
#define WTC_PER_2_24 15 /* The watchdog period is 2^24/CLKWT */ | |
/*------------------------------------------------------------------------*/ | |
/* | |
* Watchdog Clock source defines | |
*/ | |
#define WTC_CLKRC0 0 /* The watchdog clock is CLKRC */ | |
#define WTC_CLKRC1 1 /* The watchdog clock is CLKRC, | |
changing RC clock while watchdog opeation causes reset */ | |
#define WTC_CLKMC 2 /* The watchdog clock is CLKMC */ | |
#define WTC_CLKSC 3 /* The watchdog clock is CLKSC */ | |
/*------------------------------------------------------------------------*/ | |
/* | |
* Watchdog Reset at transition to Stop mode defines | |
*/ | |
#define WTC_RSTP_0 0 /* No watchdog reset at transition to Stop mode */ | |
#define WTC_RSTP_1 1 /* watchdog reset at transition to Stop mode */ | |
/*------------------------------------------------------------------------*/ | |
/* | |
* After every WTC_CLR_PER ticks the watchdog would be cleared in the prvWatchdogTask(). | |
* This period needs to be chosed in accordance with the current CLKWT and the above | |
* setting WTC_PER_2_XX. | |
*/ | |
#define WTC_CLR_PER 100 /* The watchdog clear period in RTOS ticks */ | |
/*------------------------------------------------------------------------*/ | |
/* | |
* Kick_watchdog Macro to clear watchdog | |
*/ | |
#define Kick_Watchdog() \ | |
{ \ | |
WDTCP = 0x00; \ | |
} | |
/*------------------------------------------------------------------------*/ | |
/* | |
* Watchdog function declarations | |
*/ | |
void InitWatchdog( void ); | |
void vStartWatchdogTask( unsigned portBASE_TYPE uxPriority ); |