]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC/main-full.c
***IMMINENT RELEASE NOTICE***
[freertos] / FreeRTOS / Demo / CORTEX_M0_Infineon_XMC1000_IAR_Keil_GCC / main-full.c
index 8166cf7722956e227a43b26bc5e42ef2e3ca84b2..dfbba8e9899c5eb0cf4e8ec548b4d6acb88475f9 100644 (file)
@@ -1,5 +1,5 @@
 /*\r
-    FreeRTOS V7.5.3 - Copyright (C) 2013 Real Time Engineers Ltd. \r
+    FreeRTOS V8.1.0 - Copyright (C) 2014 Real Time Engineers Ltd.\r
     All rights reserved\r
 \r
     VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.\r
     the terms of the GNU General Public License (version 2) as published by the\r
     Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.\r
 \r
-    >>! NOTE: The modification to the GPL is included to allow you to distribute\r
-    >>! a combined work that includes FreeRTOS without being obliged to provide\r
-    >>! the source code for proprietary components outside of the FreeRTOS\r
-    >>! kernel.\r
+    >>!   NOTE: The modification to the GPL is included to allow you to     !<<\r
+    >>!   distribute a combined work that includes FreeRTOS without being   !<<\r
+    >>!   obliged to provide the source code for proprietary components     !<<\r
+    >>!   outside of the FreeRTOS kernel.                                   !<<\r
 \r
     FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY\r
     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS\r
@@ -91,9 +91,9 @@
  * containing an unexpected value is indicative of an error in the context\r
  * switching mechanism.\r
  *\r
- * "Interrupt semaphore take" task - This task does nothing but block on a \r
- * semaphore that is 'given' from the tick hook function (which is defined in \r
- * main.c).  It toggles the fourth LED each time it receives the semaphore.  The \r
+ * "Interrupt semaphore take" task - This task does nothing but block on a\r
+ * semaphore that is 'given' from the tick hook function (which is defined in\r
+ * main.c).  It toggles the fourth LED each time it receives the semaphore.  The\r
  * Semahore is given every 50ms, so LED 4 toggles every 50ms.\r
  *\r
  * "Flash timers" - A software timer callback function is defined that does\r
 \r
 /* The period after which the check timer will expire provided no errors have\r
 been reported by any of the standard demo tasks.  ms are converted to the\r
-equivalent in ticks using the portTICK_RATE_MS constant. */\r
-#define mainCHECK_TIMER_PERIOD_MS                      ( 3000UL / portTICK_RATE_MS )\r
+equivalent in ticks using the portTICK_PERIOD_MS constant. */\r
+#define mainCHECK_TIMER_PERIOD_MS                      ( 3000UL / portTICK_PERIOD_MS )\r
 \r
 /* The period at which the check timer will expire if an error has been\r
 reported in one of the standard demo tasks.  ms are converted to the equivalent\r
-in ticks using the portTICK_RATE_MS constant. */\r
-#define mainERROR_CHECK_TIMER_PERIOD_MS        ( 200UL / portTICK_RATE_MS )\r
+in ticks using the portTICK_PERIOD_MS constant. */\r
+#define mainERROR_CHECK_TIMER_PERIOD_MS        ( 200UL / portTICK_PERIOD_MS )\r
 \r
 /* A block time of zero simply means "don't block". */\r
 #define mainDONT_BLOCK                                         ( 0UL )\r
 \r
 /* The base toggle rate used by the flash timers.  Each toggle rate is a\r
 multiple of this. */\r
-#define mainFLASH_TIMER_BASE_RATE                      ( 200UL / portTICK_RATE_MS )\r
+#define mainFLASH_TIMER_BASE_RATE                      ( 200UL / portTICK_PERIOD_MS )\r
 \r
 /* The LED toggle by the check timer. */\r
 #define mainCHECK_LED                                          ( 4 )\r
@@ -170,13 +170,13 @@ extern void vMainToggleLED( void );
 /*\r
  * The check timer callback function, as described at the top of this file.\r
  */\r
-static void prvCheckTimerCallback( xTimerHandle xTimer );\r
+static void prvCheckTimerCallback( TimerHandle_t xTimer );\r
 \r
 /*\r
  * The flash timer callback function, as described at the top of this file.\r
  * This callback function is assigned to three separate software timers.\r
  */\r
-static void prvFlashTimerCallback( xTimerHandle xTimer );\r
+static void prvFlashTimerCallback( TimerHandle_t xTimer );\r
 \r
 /*\r
  * The task that toggles an LED each time the semaphore 'given' by the tick\r
@@ -201,12 +201,12 @@ volatile unsigned long ulRegTest1LoopCounter = 0UL, ulRegTest2LoopCounter = 0UL;
 /* The semaphore that is given by the tick hook function (defined in main.c)\r
 and taken by the task implemented by the prvSemaphoreTakeTask() function.  The\r
 task toggles LED mainSEMAPHORE_LED each time the semaphore is taken. */\r
-xSemaphoreHandle xLEDSemaphore = NULL;\r
+SemaphoreHandle_t xLEDSemaphore = NULL;\r
 /*-----------------------------------------------------------*/\r
 \r
 void main_full( void )\r
 {\r
-xTimerHandle xTimer = NULL;\r
+TimerHandle_t xTimer = NULL;\r
 unsigned long ulTimer;\r
 const unsigned long ulTimersToCreate = 3L;\r
 /* The register test tasks are asm functions that don't use a stack.  The\r
@@ -227,7 +227,7 @@ const size_t xRegTestStackSize = 25U;
        toggles an LED each time the semaphore is given. */\r
        vSemaphoreCreateBinary( xLEDSemaphore );\r
        xTaskCreate(    prvSemaphoreTakeTask,           /* Function that implements the task. */\r
-                                       ( signed char * ) "Sem",        /* Text name of the task. */\r
+                                       "Sem",                                          /* Text name of the task. */\r
                                        configMINIMAL_STACK_SIZE,       /* Stack allocated to the task (in words). */\r
                                        NULL,                                           /* The task parameter is not used. */\r
                                        configMAX_PRIORITIES - 2,       /* The priority of the task. */\r
@@ -237,14 +237,14 @@ const size_t xRegTestStackSize = 25U;
        These are naked functions that don't use any stack.  A stack still has\r
        to be allocated to hold the task context. */\r
        xTaskCreate(    vRegTest1Task,                  /* Function that implements the task. */\r
-                                       ( signed char * ) "Reg1", /* Text name of the task. */\r
+                                       "Reg1",                                 /* Text name of the task. */\r
                                        xRegTestStackSize,              /* Stack allocated to the task. */\r
                                        NULL,                                   /* The task parameter is not used. */\r
                                        tskIDLE_PRIORITY,               /* The priority to assign to the task. */\r
                                        NULL );                                 /* Don't receive a handle back, it is not needed. */\r
 \r
        xTaskCreate(    vRegTest2Task,                  /* Function that implements the task. */\r
-                                       ( signed char * ) "Reg2", /* Text name of the task. */\r
+                                       "Reg2",                                 /* Text name of the task. */\r
                                        xRegTestStackSize,              /* Stack allocated to the task. */\r
                                        NULL,                                   /* The task parameter is not used. */\r
                                        tskIDLE_PRIORITY,               /* The priority to assign to the task. */\r
@@ -253,7 +253,7 @@ const size_t xRegTestStackSize = 25U;
        /* Create the three flash timers. */\r
        for( ulTimer = 0UL; ulTimer < ulTimersToCreate; ulTimer++ )\r
        {\r
-               xTimer = xTimerCreate(  ( const signed char * ) "FlashTimer",   /* A text name, purely to help debugging. */\r
+               xTimer = xTimerCreate(  "FlashTimer",                                                   /* A text name, purely to help debugging. */\r
                                                                ( mainFLASH_TIMER_BASE_RATE * ( ulTimer + 1UL ) ),      /* The timer period, in this case 3000ms (3s). */\r
                                                                pdTRUE,                                                                 /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */\r
                                                                ( void * ) ulTimer,                                             /* The ID is used to hold the number of the LED that will be flashed. */\r
@@ -268,11 +268,11 @@ const size_t xRegTestStackSize = 25U;
 \r
        /* Create the software timer that performs the 'check' functionality,\r
        as described at the top of this file. */\r
-       xTimer = xTimerCreate(  ( const signed char * ) "CheckTimer",/* A text name, purely to help debugging. */\r
-                                                       ( mainCHECK_TIMER_PERIOD_MS ),          /* The timer period, in this case 3000ms (3s). */\r
-                                                       pdTRUE,                                                         /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */\r
-                                                       ( void * ) 0,                                           /* The ID is not used, so can be set to anything. */\r
-                                                       prvCheckTimerCallback                           /* The callback function that inspects the status of all the other tasks. */\r
+       xTimer = xTimerCreate(  "CheckTimer",                                   /* A text name, purely to help debugging. */\r
+                                                       ( mainCHECK_TIMER_PERIOD_MS ),  /* The timer period, in this case 3000ms (3s). */\r
+                                                       pdTRUE,                                                 /* This is an auto-reload timer, so xAutoReload is set to pdTRUE. */\r
+                                                       ( void * ) 0,                                   /* The ID is not used, so can be set to anything. */\r
+                                                       prvCheckTimerCallback                   /* The callback function that inspects the status of all the other tasks. */\r
                                                );\r
 \r
        /* If the software timer was created successfully, start it.  It won't\r
@@ -297,7 +297,7 @@ const size_t xRegTestStackSize = 25U;
 /*-----------------------------------------------------------*/\r
 \r
 /* See the description at the top of this file. */\r
-static void prvCheckTimerCallback( xTimerHandle xTimer )\r
+static void prvCheckTimerCallback( TimerHandle_t xTimer )\r
 {\r
 static long lChangedTimerPeriodAlready = pdFALSE;\r
 static unsigned long ulLastRegTest1Value = 0, ulLastRegTest2Value = 0;\r
@@ -387,7 +387,7 @@ static void prvSemaphoreTakeTask( void *pvParameters )
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-static void prvFlashTimerCallback( xTimerHandle xTimer )\r
+static void prvFlashTimerCallback( TimerHandle_t xTimer )\r
 {\r
 unsigned long ulLED;\r
 \r