]> git.sur5r.net Git - freertos/blobdiff - FreeRTOS/Demo/CORTEX_MB9A310_IAR_Keil/main-full.c
Ensure both one-shot and auto-reload are written consistently with a hyphen in comments.
[freertos] / FreeRTOS / Demo / CORTEX_MB9A310_IAR_Keil / main-full.c
index e44f4ab689ac8be31ba1e757f7f14ed84284a8b5..bde9d9add8c272ffc180b6119940941fb659597c 100644 (file)
@@ -1,68 +1,29 @@
 /*\r
 /*\r
-    FreeRTOS V7.1.1 - Copyright (C) 2012 Real Time Engineers Ltd.\r
-\r
-\r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    FreeRTOS tutorial books are available in pdf and paperback.        *\r
-     *    Complete, revised, and edited pdf reference manuals are also       *\r
-     *    available.                                                         *\r
-     *                                                                       *\r
-     *    Purchasing FreeRTOS documentation will not only help you, by       *\r
-     *    ensuring you get running as quickly as possible and with an        *\r
-     *    in-depth knowledge of how to use FreeRTOS, it will also help       *\r
-     *    the FreeRTOS project to continue with its mission of providing     *\r
-     *    professional grade, cross platform, de facto standard solutions    *\r
-     *    for microcontrollers - completely free of charge!                  *\r
-     *                                                                       *\r
-     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *\r
-     *                                                                       *\r
-     *    Thank you for using FreeRTOS, and thank you for your support!      *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-\r
-    This file is part of the FreeRTOS distribution.\r
-\r
-    FreeRTOS is free software; you can redistribute it and/or modify it under\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
-    >>>NOTE<<< The modification to the GPL is included to allow you to\r
-    distribute a combined work that includes FreeRTOS without being obliged to\r
-    provide the source code for proprietary components outside of the FreeRTOS\r
-    kernel.  FreeRTOS is distributed in the hope that it will be useful, but\r
-    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY\r
-    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
-    more details. You should have received a copy of the GNU General Public\r
-    License and the FreeRTOS license exception along with FreeRTOS; if not it\r
-    can be viewed here: http://www.freertos.org/a00114.html and also obtained\r
-    by writing to Richard Barry, contact details for whom are available on the\r
-    FreeRTOS WEB site.\r
-\r
-    1 tab == 4 spaces!\r
-    \r
-    ***************************************************************************\r
-     *                                                                       *\r
-     *    Having a problem?  Start by reading the FAQ "My application does   *\r
-     *    not run, what could be wrong?                                      *\r
-     *                                                                       *\r
-     *    http://www.FreeRTOS.org/FAQHelp.html                               *\r
-     *                                                                       *\r
-    ***************************************************************************\r
-\r
-    \r
-    http://www.FreeRTOS.org - Documentation, training, latest information, \r
-    license and contact details.\r
-    \r
-    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,\r
-    including FreeRTOS+Trace - an indispensable productivity tool.\r
-\r
-    Real Time Engineers ltd license FreeRTOS to High Integrity Systems, who sell \r
-    the code with commercial support, indemnification, and middleware, under \r
-    the OpenRTOS brand: http://www.OpenRTOS.com.  High Integrity Systems also\r
-    provide a safety engineered and independently SIL3 certified version under \r
-    the SafeRTOS brand: http://www.SafeRTOS.com.\r
-*/\r
+ * FreeRTOS Kernel V10.2.1\r
+ * Copyright (C) 2019 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
+ *\r
+ * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
+ * this software and associated documentation files (the "Software"), to deal in\r
+ * the Software without restriction, including without limitation the rights to\r
+ * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
+ * the Software, and to permit persons to whom the Software is furnished to do so,\r
+ * subject to the following conditions:\r
+ *\r
+ * The above copyright notice and this permission notice shall be included in all\r
+ * copies or substantial portions of the Software.\r
+ *\r
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
+ * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
+ * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
+ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
+ *\r
+ * http://www.FreeRTOS.org\r
+ * http://aws.amazon.com/freertos\r
+ *\r
+ * 1 tab == 4 spaces!\r
+ */\r
 \r
 /*\r
  * main-blinky.c is included when the "Blinky" build configuration is used.\r
 \r
 /*\r
  * main-blinky.c is included when the "Blinky" build configuration is used.\r
 #include "dynamic.h"\r
 \r
 /* The rate at which data is sent to the queue, specified in milliseconds, and\r
 #include "dynamic.h"\r
 \r
 /* The rate at which data is sent to the queue, specified in milliseconds, and\r
-converted to ticks using the portTICK_RATE_MS constant. */\r
-#define mainQUEUE_SEND_FREQUENCY_MS    ( 200 / portTICK_RATE_MS )\r
+converted to ticks using the portTICK_PERIOD_MS constant. */\r
+#define mainQUEUE_SEND_FREQUENCY_MS    ( 200 / portTICK_PERIOD_MS )\r
 \r
 /* The number of items the queue can hold.  This is 1 as the receive task\r
 will remove items as they are added, meaning the send task should always find\r
 \r
 /* The number of items the queue can hold.  This is 1 as the receive task\r
 will remove items as they are added, meaning the send task should always find\r
@@ -225,21 +186,21 @@ FreeRTOS.org web site to see which LEDs this relates to. */
 \r
 /* The period at which the check timer will expire, in ms, provided no errors\r
 have been reported by any of the standard demo tasks.  ms are converted to the\r
 \r
 /* The period at which the check timer will expire, in ms, provided no errors\r
 have 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, in ms, if an error has been\r
 reported in one of the standard demo tasks.  ms are converted to the equivalent\r
 \r
 /* The period at which the check timer will expire, in ms, 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        ( 500UL / portTICK_RATE_MS )\r
+in ticks using the portTICK_PERIOD_MS constant. */\r
+#define mainERROR_CHECK_TIMER_PERIOD_MS        ( 500UL / portTICK_PERIOD_MS )\r
 \r
 /* The period at which the digit counter timer will expire, in ms, and converted\r
 \r
 /* The period at which the digit counter timer will expire, in ms, and converted\r
-to ticks using the portTICK_RATE_MS constant. */\r
-#define mainDIGIT_COUNTER_TIMER_PERIOD_MS      ( 250UL / portTICK_RATE_MS )\r
+to ticks using the portTICK_PERIOD_MS constant. */\r
+#define mainDIGIT_COUNTER_TIMER_PERIOD_MS      ( 250UL / portTICK_PERIOD_MS )\r
 \r
 /* The LED will remain on until the button has not been pushed for a full\r
 5000ms. */\r
 \r
 /* The LED will remain on until the button has not been pushed for a full\r
 5000ms. */\r
-#define mainLED_TIMER_PERIOD_MS                                ( 5000UL / portTICK_RATE_MS )\r
+#define mainLED_TIMER_PERIOD_MS                                ( 5000UL / portTICK_PERIOD_MS )\r
 \r
 /* A zero block time. */\r
 #define mainDONT_BLOCK                                         ( 0UL )\r
 \r
 /* A zero block time. */\r
 #define mainDONT_BLOCK                                         ( 0UL )\r
@@ -264,17 +225,17 @@ static void prvQueueSendTask( void *pvParameters );
 /*\r
  * The LED timer callback function.  This does nothing but switch an LED off.\r
  */\r
 /*\r
  * The LED timer callback function.  This does nothing but switch an LED off.\r
  */\r
-static void prvLEDTimerCallback( xTimerHandle xTimer );\r
+static void prvLEDTimerCallback( TimerHandle_t xTimer );\r
 \r
 /*\r
  * The check timer callback function, as described at the top of this file.\r
  */\r
 \r
 /*\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 digit counter callback function, as described at the top of this file.\r
  */\r
 \r
 /*\r
  * The digit counter callback function, as described at the top of this file.\r
  */\r
-static void prvDigitCounterTimerCallback( xTimerHandle xTimer );\r
+static void prvDigitCounterTimerCallback( TimerHandle_t xTimer );\r
 \r
 /*\r
  * This is not a 'standard' partest function, so the prototype is not in\r
 \r
 /*\r
  * This is not a 'standard' partest function, so the prototype is not in\r
@@ -285,19 +246,19 @@ void vParTestSetLEDFromISR( unsigned portBASE_TYPE uxLED, signed portBASE_TYPE x
 /*-----------------------------------------------------------*/\r
 \r
 /* The queue used by both application specific demo tasks defined in this file. */\r
 /*-----------------------------------------------------------*/\r
 \r
 /* The queue used by both application specific demo tasks defined in this file. */\r
-static xQueueHandle xQueue = NULL;\r
+static QueueHandle_t xQueue = NULL;\r
 \r
 /* The LED software timer.  This uses prvLEDTimerCallback() as it's callback\r
 function. */\r
 \r
 /* The LED software timer.  This uses prvLEDTimerCallback() as it's callback\r
 function. */\r
-static xTimerHandle xLEDTimer = NULL;\r
+static TimerHandle_t xLEDTimer = NULL;\r
 \r
 /* The digit counter software timer.  This displays a counting digit on one half\r
 of the seven segment displays. */\r
 \r
 /* The digit counter software timer.  This displays a counting digit on one half\r
 of the seven segment displays. */\r
-static xTimerHandle xDigitCounterTimer = NULL;\r
+static TimerHandle_t xDigitCounterTimer = NULL;\r
 \r
 /* The check timer.  This uses prvCheckTimerCallback() as its callback\r
 function. */\r
 \r
 /* The check timer.  This uses prvCheckTimerCallback() as its callback\r
 function. */\r
-static xTimerHandle xCheckTimer = NULL;\r
+static TimerHandle_t xCheckTimer = NULL;\r
 \r
 /* If an error is detected in a standard demo task, then pcStatusMessage will\r
 be set to point to a string that identifies the offending task.  This is just\r
 \r
 /* If an error is detected in a standard demo task, then pcStatusMessage will\r
 be set to point to a string that identifies the offending task.  This is just\r
@@ -318,37 +279,37 @@ int main(void)
        {\r
                /* Start the two application specific demo tasks, as described in the\r
                comments at the top of this     file. */\r
        {\r
                /* Start the two application specific demo tasks, as described in the\r
                comments at the top of this     file. */\r
-               xTaskCreate( prvQueueReceiveTask, ( signed char * ) "Rx", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_RECEIVE_TASK_PRIORITY, NULL );\r
-               xTaskCreate( prvQueueSendTask, ( signed char * ) "TX", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL );\r
+               xTaskCreate( prvQueueReceiveTask, "Rx", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_RECEIVE_TASK_PRIORITY, NULL );\r
+               xTaskCreate( prvQueueSendTask, "TX", configMINIMAL_STACK_SIZE, NULL, mainQUEUE_SEND_TASK_PRIORITY, NULL );\r
 \r
                /* Create the software timer that is responsible for turning off the LED\r
                if the button is not pushed within 5000ms, as described at the top of\r
                this file. */\r
 \r
                /* Create the software timer that is responsible for turning off the LED\r
                if the button is not pushed within 5000ms, as described at the top of\r
                this file. */\r
-               xLEDTimer = xTimerCreate(       ( const signed char * ) "LEDTimer", /* A text name, purely to help debugging. */\r
-                                                                       ( mainLED_TIMER_PERIOD_MS ),            /* The timer period, in this case 5000ms (5s). */\r
-                                                                       pdFALSE,                                                        /* This is a one shot timer, so xAutoReload is set to pdFALSE. */\r
-                                                                       ( void * ) 0,                                           /* The ID is not used, so can be set to anything. */\r
-                                                                       prvLEDTimerCallback                                     /* The callback function that switches the LED off. */\r
+               xLEDTimer = xTimerCreate(       "LEDTimer",                             /* A text name, purely to help debugging. */\r
+                                                                       ( mainLED_TIMER_PERIOD_MS ),/* The timer period, in this case 5000ms (5s). */\r
+                                                                       pdFALSE,                                        /* This is a one-shot timer, so xAutoReload is set to pdFALSE. */\r
+                                                                       ( void * ) 0,                           /* The ID is not used, so can be set to anything. */\r
+                                                                       prvLEDTimerCallback                     /* The callback function that switches the LED off. */\r
                                                                );\r
 \r
                /* Create the software timer that performs the 'check' functionality,\r
                as described at the top of this file. */\r
                                                                );\r
 \r
                /* Create the software timer that performs the 'check' functionality,\r
                as described at the top of this file. */\r
-               xCheckTimer = 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
+               xCheckTimer = 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
                /* Create the software timer that performs the 'digit counting'\r
                functionality, as described at the top of this file. */\r
                                                                  );\r
 \r
                /* Create the software timer that performs the 'digit counting'\r
                functionality, as described at the top of this file. */\r
-               xDigitCounterTimer = xTimerCreate( ( const signed char * ) "DigitCounter",      /* A text name, purely to help debugging. */\r
-                                                                       ( mainDIGIT_COUNTER_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
-                                                                       prvDigitCounterTimerCallback                                    /* The callback function that inspects the status of all the other tasks. */\r
-                                                                 );            \r
-               \r
+               xDigitCounterTimer = xTimerCreate( "DigitCounter",                                      /* A text name, purely to help debugging. */\r
+                                                                       ( mainDIGIT_COUNTER_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
+                                                                       prvDigitCounterTimerCallback                    /* The callback function that inspects the status of all the other tasks. */\r
+                                                                 );\r
+\r
                /* Create a lot of 'standard demo' tasks.  Over 40 tasks are created in\r
                this demo.  For a much simpler demo, select the 'blinky' build\r
                configuration. */\r
                /* Create a lot of 'standard demo' tasks.  Over 40 tasks are created in\r
                this demo.  For a much simpler demo, select the 'blinky' build\r
                configuration. */\r
@@ -364,7 +325,7 @@ int main(void)
                vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
                vStartCountingSemaphoreTasks();\r
                vStartDynamicPriorityTasks();\r
                vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
                vStartCountingSemaphoreTasks();\r
                vStartDynamicPriorityTasks();\r
-               \r
+\r
                /* The suicide tasks must be created last, as they need to know how many\r
                tasks were running prior to their creation in order to ascertain whether\r
                or not the correct/expected number of tasks are running at any given\r
                /* The suicide tasks must be created last, as they need to know how many\r
                tasks were running prior to their creation in order to ascertain whether\r
                or not the correct/expected number of tasks are running at any given\r
@@ -384,7 +345,7 @@ int main(void)
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-static void prvCheckTimerCallback( xTimerHandle xTimer )\r
+static void prvCheckTimerCallback( TimerHandle_t xTimer )\r
 {\r
        /* Check the standard demo tasks are running without error.   Latch the\r
        latest reported error in the pcStatusMessage character pointer. */\r
 {\r
        /* Check the standard demo tasks are running without error.   Latch the\r
        latest reported error in the pcStatusMessage character pointer. */\r
@@ -427,7 +388,7 @@ static void prvCheckTimerCallback( xTimerHandle xTimer )
        {\r
                pcStatusMessage = "Error: ComTest\r\n";\r
        }\r
        {\r
                pcStatusMessage = "Error: ComTest\r\n";\r
        }\r
-       \r
+\r
        if( xAreTimerDemoTasksStillRunning( ( mainCHECK_TIMER_PERIOD_MS ) ) != pdTRUE )\r
        {\r
                pcStatusMessage = "Error: TimerDemo";\r
        if( xAreTimerDemoTasksStillRunning( ( mainCHECK_TIMER_PERIOD_MS ) ) != pdTRUE )\r
        {\r
                pcStatusMessage = "Error: TimerDemo";\r
@@ -442,12 +403,12 @@ static void prvCheckTimerCallback( xTimerHandle xTimer )
        {\r
                pcStatusMessage = "Error: CountSem";\r
        }\r
        {\r
                pcStatusMessage = "Error: CountSem";\r
        }\r
-       \r
+\r
        if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )\r
        {\r
                pcStatusMessage = "Error: DynamicPriority";\r
        }\r
        if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )\r
        {\r
                pcStatusMessage = "Error: DynamicPriority";\r
        }\r
-       \r
+\r
        /* Toggle the check LED to give an indication of the system status.  If\r
        the LED toggles every mainCHECK_TIMER_PERIOD_MS milliseconds then\r
        everything is ok.  A faster toggle indicates an error.  vParTestToggleLED()\r
        /* Toggle the check LED to give an indication of the system status.  If\r
        the LED toggles every mainCHECK_TIMER_PERIOD_MS milliseconds then\r
        everything is ok.  A faster toggle indicates an error.  vParTestToggleLED()\r
@@ -478,7 +439,7 @@ static void prvCheckTimerCallback( xTimerHandle xTimer )
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-static void prvLEDTimerCallback( xTimerHandle xTimer )\r
+static void prvLEDTimerCallback( TimerHandle_t xTimer )\r
 {\r
        /* The timer has expired - so no button pushes have occurred in the last\r
        five seconds - turn the LED off. */\r
 {\r
        /* The timer has expired - so no button pushes have occurred in the last\r
        five seconds - turn the LED off. */\r
@@ -486,7 +447,7 @@ static void prvLEDTimerCallback( xTimerHandle xTimer )
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-static void prvDigitCounterTimerCallback( xTimerHandle xTimer )\r
+static void prvDigitCounterTimerCallback( TimerHandle_t xTimer )\r
 {\r
 /* Define the bit patterns that display numbers on the seven segment display. */\r
 static const unsigned short usNumbersPatterns[] = { 0x8004, 0xF204, 0x4804, 0x6004, 0x3204, 0x2404, 0x0404, 0xF104, 0x0004, 0x2004 };\r
 {\r
 /* Define the bit patterns that display numbers on the seven segment display. */\r
 static const unsigned short usNumbersPatterns[] = { 0x8004, 0xF204, 0x4804, 0x6004, 0x3204, 0x2404, 0x0404, 0xF104, 0x0004, 0x2004 };\r
@@ -498,13 +459,13 @@ unsigned short usCheckLEDState;
        the state of the check LED.  A critical section is not required to access\r
        the port as only one timer can be executing at any one time. */\r
        usCheckLEDState = ( FM3_GPIO->PDOR3 & mainCHECK_LED );\r
        the state of the check LED.  A critical section is not required to access\r
        the port as only one timer can be executing at any one time. */\r
        usCheckLEDState = ( FM3_GPIO->PDOR3 & mainCHECK_LED );\r
-       \r
+\r
        /* Display the next number, counting up. */\r
        FM3_GPIO->PDOR3 = usNumbersPatterns[ lCounter ] | usCheckLEDState;\r
 \r
        /* Display the next number, counting up. */\r
        FM3_GPIO->PDOR3 = usNumbersPatterns[ lCounter ] | usCheckLEDState;\r
 \r
-       /* Move onto the next digit. */ \r
+       /* Move onto the next digit. */\r
        lCounter++;\r
        lCounter++;\r
-       \r
+\r
        /* Ensure the counter does not go off the end of the array. */\r
        if( lCounter >= lNumberOfDigits )\r
        {\r
        /* Ensure the counter does not go off the end of the array. */\r
        if( lCounter >= lNumberOfDigits )\r
        {\r
@@ -543,7 +504,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
 \r
 static void prvQueueSendTask( void *pvParameters )\r
 {\r
 \r
 static void prvQueueSendTask( void *pvParameters )\r
 {\r
-portTickType xNextWakeTime;\r
+TickType_t xNextWakeTime;\r
 const unsigned long ulValueToSend = 100UL;\r
 \r
        /* The timer command queue will have been filled when the timer test tasks\r
 const unsigned long ulValueToSend = 100UL;\r
 \r
        /* The timer command queue will have been filled when the timer test tasks\r
@@ -604,15 +565,15 @@ const unsigned short usButtonInputBit = 0x01U;
        SystemCoreClockUpdate();\r
 \r
        /* Initialise the IO used for the LEDs on the 7 segment displays. */\r
        SystemCoreClockUpdate();\r
 \r
        /* Initialise the IO used for the LEDs on the 7 segment displays. */\r
-       vParTestInitialise();   \r
-       \r
+       vParTestInitialise();\r
+\r
        /* Set the switches to input (P18->P1F). */\r
        FM3_GPIO->DDR5 = 0x0000;\r
        FM3_GPIO->PFR5 = 0x0000;\r
 \r
        /* Assign the button input as GPIO. */\r
        FM3_GPIO->PFR5 |= usButtonInputBit;\r
        /* Set the switches to input (P18->P1F). */\r
        FM3_GPIO->DDR5 = 0x0000;\r
        FM3_GPIO->PFR5 = 0x0000;\r
 \r
        /* Assign the button input as GPIO. */\r
        FM3_GPIO->PFR5 |= usButtonInputBit;\r
-       \r
+\r
        /* Button interrupt on falling edge. */\r
        FM3_EXTI->ELVR  = 0x0003;\r
 \r
        /* Button interrupt on falling edge. */\r
        FM3_EXTI->ELVR  = 0x0003;\r
 \r
@@ -621,7 +582,7 @@ const unsigned short usButtonInputBit = 0x01U;
 \r
        /* Enable the button interrupt. */\r
        FM3_EXTI->ENIR |= usButtonInputBit;\r
 \r
        /* Enable the button interrupt. */\r
        FM3_EXTI->ENIR |= usButtonInputBit;\r
-       \r
+\r
        /* Setup the GPIO and the NVIC for the switch used in this simple demo. */\r
        NVIC_SetPriority( EXINT0_7_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY );\r
     NVIC_EnableIRQ( EXINT0_7_IRQn );\r
        /* Setup the GPIO and the NVIC for the switch used in this simple demo. */\r
        NVIC_SetPriority( EXINT0_7_IRQn, configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY );\r
     NVIC_EnableIRQ( EXINT0_7_IRQn );\r
@@ -639,7 +600,7 @@ void vApplicationMallocFailedHook( void )
 }\r
 /*-----------------------------------------------------------*/\r
 \r
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-void vApplicationStackOverflowHook( xTaskHandle pxTask, signed char *pcTaskName )\r
+void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )\r
 {\r
        ( void ) pcTaskName;\r
        ( void ) pxTask;\r
 {\r
        ( void ) pcTaskName;\r
        ( void ) pxTask;\r
@@ -676,6 +637,6 @@ void vApplicationTickHook( void )
        /* Call the periodic timer test, which tests the timer API functions that\r
        can be called from an ISR. */\r
        vTimerPeriodicISRTests();\r
        /* Call the periodic timer test, which tests the timer API functions that\r
        can be called from an ISR. */\r
        vTimerPeriodicISRTests();\r
-}      \r
+}\r
 /*-----------------------------------------------------------*/\r
 \r
 /*-----------------------------------------------------------*/\r
 \r