URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [rtos/] [freertos-6.1.1/] [Demo/] [MB91460_Softune/] [SRC/] [watchdog/] [watchdog.c] - Rev 584
Compare with Previous | Blame | View Log
/* 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.c - This file contains the function deefinition for hardware watchdog. -------------------------------------------------------------------------*/ #include "mb91467d.h" #include "FreeRTOS.h" #include "task.h" #include "watchdog.h" /*--------------------------------------------------------------------------- * Setup Watchdog *---------------------------------------------------------------------------*/ #if WATCHDOG != WTC_NONE void InitWatchdog(void) { HWWDE_ED = WTC_PER_2_16; /* Set the watchdog period as 655.36 ms */ } #endif /*--------------------------------------------------------------------------- * The below task clears the watchdog and blocks itself for WTC_CLR_PER ticks. *---------------------------------------------------------------------------*/ #if WATCHDOG == WTC_IN_TASK static void prvWatchdogTask ( void *pvParameters ) { const portTickType xFrequency = WTC_CLR_PER; portTickType xLastWakeTime; /* Get currrent tick count */ xLastWakeTime = xTaskGetTickCount(); for( ; ; ) { Kick_Watchdog(); /* Block the task for WTC_CLR_PER ticks (300 ms) at watchdog overflow period of WTC_PER_2_16 CLKRC cycles (655.36 ms) */ vTaskDelayUntil( &xLastWakeTime, xFrequency ); } } #endif /*--------------------------------------------------------------------------- * The below function creates hardware watchdog task. *---------------------------------------------------------------------------*/ #if WATCHDOG == WTC_IN_TASK void vStartWatchdogTask( unsigned portSHORT uxPriority ) { xTaskCreate( prvWatchdogTask , ( signed portCHAR * ) "KickWTC", portMINIMAL_STACK_SIZE, ( void * ) NULL, uxPriority, ( xTaskHandle * ) NULL ); } #endif