-/* This source file is part of the ATMEL FREERTOS-0.9.0 Release */\r
-\r
/*This file has been prepared for Doxygen automatic documentation generation.*/\r
/*! \file *********************************************************************\r
*\r
* - AppNote:\r
*\r
* \author Atmel Corporation: http://www.atmel.com \n\r
- * Support email: avr32@atmel.com\r
+ * Support and FAQ: http://support.atmel.no/\r
*\r
*****************************************************************************/\r
\r
/*\r
- FreeRTOS.org V4.3.1 - Copyright (C) 2003-2007 Richard Barry.\r
+ FreeRTOS.org V5.1.1 - Copyright (C) 2003-2008 Richard Barry.\r
\r
This file is part of the FreeRTOS.org distribution.\r
\r
of http://www.FreeRTOS.org for full details of how and when the exception\r
can be applied.\r
\r
- ***************************************************************************\r
- See http://www.FreeRTOS.org for documentation, latest information, license\r
- and contact details. Please ensure to read the configuration and relevant\r
- port sections of the online documentation.\r
+ ***************************************************************************\r
+ ***************************************************************************\r
+ * *\r
+ * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, *\r
+ * and even write all or part of your application on your behalf. *\r
+ * See http://www.OpenRTOS.com for details of the services we provide to *\r
+ * expedite your project. *\r
+ * *\r
+ ***************************************************************************\r
+ ***************************************************************************\r
+\r
+ Please ensure to read the configuration and relevant port sections of the\r
+ online documentation.\r
+\r
+ http://www.FreeRTOS.org - Documentation, latest information, license and \r
+ contact details.\r
\r
- Also see http://www.SafeRTOS.com for an IEC 61508 compliant version along\r
- with commercial development and support options.\r
- ***************************************************************************\r
+ http://www.SafeRTOS.com - A version that is certified for use in safety \r
+ critical systems.\r
+\r
+ http://www.OpenRTOS.com - Commercial support, development, porting, \r
+ licensing and training services.\r
*/\r
\r
\r
//! @{\r
#define mainMEM_CHECK_SIZE_1 ( ( size_t ) 51 )\r
#define mainMEM_CHECK_SIZE_2 ( ( size_t ) 52 )\r
-#define mainMEM_CHECK_SIZE_3 ( ( size_t ) 151 )\r
+#define mainMEM_CHECK_SIZE_3 ( ( size_t ) 15 )\r
//! @}\r
\r
\r
*/\r
static void vMemCheckTask( void *pvParameters );\r
\r
+/*\r
+ * Called by the check task following the detection of an error to set the\r
+ * LEDs into a state that shows an error has beeen found.\r
+ */\r
+static void prvIndicateError( void );\r
+\r
/*-----------------------------------------------------------*/\r
\r
int main( void )\r
/* Could not create the task - we have probably run out of heap.\r
Don't go any further and flash the LED faster to provide visual\r
feedback of the error. */\r
- for(;;)\r
- {\r
- vParTestToggleLED( mainCHECK_TASK_LED );\r
- vTaskDelay( mainERROR_FLASH_RATE );\r
- }\r
+ prvIndicateError();\r
}\r
\r
/* Delay until it is time to execute again. */\r
/* An error has occurred in one of the tasks.\r
Don't go any further and flash the LED faster to give visual\r
feedback of the error. */\r
- vParTestSetLED(mainERROR_LED,pdTRUE);\r
- for(;;)\r
- {\r
- vParTestToggleLED( mainCHECK_TASK_LED );\r
- vTaskDelay( mainERROR_FLASH_RATE );\r
- }\r
+ prvIndicateError();\r
}\r
else\r
{\r
xTaskResumeAll();\r
}\r
}\r
+/*-----------------------------------------------------------*/\r
+\r
+static void prvIndicateError( void )\r
+{\r
+ /* The check task has found an error in one of the other tasks.\r
+ Set the LEDs to a state that indicates this. */\r
+ vParTestSetLED(mainERROR_LED,pdTRUE);\r
+\r
+ for(;;)\r
+ {\r
+ #if( BOARD==EVK1100 )\r
+ vParTestToggleLED( mainCHECK_TASK_LED );\r
+ vTaskDelay( mainERROR_FLASH_RATE );\r
+ #endif\r
+ #if ( BOARD==EVK1101 )\r
+ vParTestSetLED( 0, pdTRUE );\r
+ vParTestSetLED( 1, pdTRUE );\r
+ vParTestSetLED( 2, pdTRUE );\r
+ vParTestSetLED( 3, pdTRUE );\r
+ #endif\r
+ }\r
+}\r
+\r