]> git.sur5r.net Git - freertos/blobdiff - Demo/MB96340_Softune/FreeRTOS_96348hs_SK16FX100PMC/Src/main.c
Remove unnecessary use of portLONG, portCHAR and portSHORT.
[freertos] / Demo / MB96340_Softune / FreeRTOS_96348hs_SK16FX100PMC / Src / main.c
index ac48ae00a63cb3a57facc91d02e3f08828e89550..a66f061d73dc2d49e0867d31cea9cb5b79ee9cf0 100644 (file)
@@ -1,43 +1,49 @@
 /*\r
-       FreeRTOS.org V4.7.1 - Copyright (C) 2003-2008 Richard Barry.\r
+    FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.\r
 \r
-       This file is part of the FreeRTOS.org distribution.\r
+    This file is part of the FreeRTOS distribution.\r
 \r
-       FreeRTOS.org is free software; you can redistribute it and/or modify\r
-       it under the terms of the GNU General Public License as published by\r
-       the Free Software Foundation; either version 2 of the License, or\r
-       (at your option) any later version.\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 exception to the GPL is included to allow you to distribute a\r
+    combined work that includes FreeRTOS without being obliged to provide the\r
+    source code for proprietary components outside of the FreeRTOS kernel.\r
+    Alternative commercial license and support terms are also available upon\r
+    request.  See the licensing section of http://www.FreeRTOS.org for full\r
+    license details.\r
 \r
-       FreeRTOS.org is distributed in the hope that it will be useful,\r
-       but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
-       GNU General Public License for more details.\r
+    FreeRTOS is distributed in the hope that it will be useful,    but WITHOUT\r
+    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or\r
+    FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for\r
+    more details.\r
 \r
-       You should have received a copy of the GNU General Public License\r
-       along with FreeRTOS.org; if not, write to the Free Software\r
-       Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
+    You should have received a copy of the GNU General Public License along\r
+    with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59\r
+    Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
 \r
-       A special exception to the GPL can be applied should you wish to distribute\r
-       a combined work that includes FreeRTOS.org, without being obliged to provide\r
-       the source code for any proprietary components.  See the licensing section\r
-       of http://www.FreeRTOS.org for full details of how and when the exception\r
-       can be applied.\r
 \r
-       ***************************************************************************\r
+    ***************************************************************************\r
+    *                                                                         *\r
+    * The FreeRTOS eBook and reference manual are available to purchase for a *\r
+    * small fee. Help yourself get started quickly while also helping the     *\r
+    * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *\r
+    *                                                                         *\r
+    ***************************************************************************\r
 \r
-       Please ensure to read the configuration and relevant port sections of the \r
-       online documentation.\r
+    1 tab == 4 spaces!\r
 \r
-       +++ http://www.FreeRTOS.org +++\r
-       Documentation, latest information, license and contact details.  \r
+    Please ensure to read the configuration and relevant port sections of the\r
+    online documentation.\r
 \r
-       +++ http://www.SafeRTOS.com +++\r
-       A version that is certified for use in safety critical systems.\r
+    http://www.FreeRTOS.org - Documentation, latest information, license and\r
+    contact details.\r
 \r
-       +++ http://www.OpenRTOS.com +++\r
-       Commercial support, development, porting, licensing and training services.\r
+    http://www.SafeRTOS.com - A version that is certified for use in safety\r
+    critical systems.\r
 \r
-       ***************************************************************************\r
+    http://www.OpenRTOS.com - Commercial support, development, porting,\r
+    licensing and training services.\r
 */\r
 \r
 /*\r
  * check task toggles the onboard LED.  Should any task contain an error at any time \r
  * the LED toggle rate will change from 3 seconds to 500ms.\r
  *\r
- * The "Register Check" tasks.  These tasks fill the CPU registers with known\r
- * values, then check that each register still contains the expected value 0 the\r
- * discovery of an unexpected value being indicative of an error in the RTOS\r
- * context switch mechanism.  The register check tasks operate at low priority\r
- * so are switched in and out frequently.\r
- *\r
  * The "Trace Utility" task.  This can be used to obtain trace and debug \r
- * information via UART5.\r
+ * information via UART1.\r
  */\r
 \r
 \r
@@ -85,7 +85,7 @@
 #include "flop.h"\r
 #include "GenQTest.h"\r
 #include "QPeek.h"\r
-#include "BlockTim.h"\r
+#include "blocktim.h"\r
 #include "death.h"\r
 #include "taskutility.h"\r
 #include "partest.h"\r
 /* Demo task priorities. */\r
 #define WTC_TASK_PRIORITY                      ( tskIDLE_PRIORITY + 5 )\r
 #define mainCHECK_TASK_PRIORITY                ( tskIDLE_PRIORITY + 4 )\r
-#define TASK_UTILITY_PRIORITY          ( tskIDLE_PRIORITY + 3 )\r
+#define TASK_UTILITY_PRIORITY          ( tskIDLE_PRIORITY )\r
 #define mainSEM_TEST_PRIORITY          ( tskIDLE_PRIORITY + 3 )\r
 #define mainCOM_TEST_PRIORITY          ( tskIDLE_PRIORITY + 2 )\r
 #define mainQUEUE_POLL_PRIORITY                ( tskIDLE_PRIORITY + 2 )\r
 #define mainGENERIC_QUEUE_PRIORITY     ( tskIDLE_PRIORITY )\r
 \r
 /* Baud rate used by the COM test tasks. */\r
-#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 19200 )\r
+#define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 19200 )\r
 \r
 /* The frequency at which the 'Check' tasks executes.  See the comments at the \r
 top of the page.  When the system is operating error free the 'Check' task\r
@@ -137,7 +137,7 @@ static void vErrorChecks( void *pvParameters );
  * Called by the Check task.  Returns pdPASS if all the other tasks are found\r
  * to be operating without error - otherwise returns pdFAIL.\r
  */\r
-static portSHORT prvCheckOtherTasksAreStillRunning( void );\r
+static short prvCheckOtherTasksAreStillRunning( void );\r
 \r
 /*\r
  * Perform any hardware setup necessary for the demo.\r
@@ -159,8 +159,7 @@ void main( void )
 \r
        /* Start the standard demo application tasks. */\r
        vStartLEDFlashTasks( mainLED_TASK_PRIORITY );\r
-       vStartIntegerMathTasks( tskIDLE_PRIORITY );\r
-       vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainCOM_TEST_BAUD_RATE, mainCOM_TEST_LED - 1 );\r
+       vStartIntegerMathTasks( tskIDLE_PRIORITY );     \r
        vStartPolledQueueTasks( mainQUEUE_POLL_PRIORITY );\r
        vStartSemaphoreTasks( mainSEM_TEST_PRIORITY );\r
        vStartBlockingQueueTasks( mainQUEUE_BLOCK_PRIORITY );\r
@@ -169,14 +168,15 @@ void main( void )
        vStartGenericQueueTasks( mainGENERIC_QUEUE_PRIORITY );\r
        vCreateBlockTimeTasks();\r
 \r
-       /* The definition INCLUDE_TraceListTasks is set within FreeRTOSConfig.h.\r
-       It should be set to 0 if using the EUROScope debugger. */\r
+       /* The definition INCLUDE_TraceListTasks is set within FreeRTOSConfig.h. */\r
        #if INCLUDE_TraceListTasks == 1\r
-               vTraceListTasks( TASK_UTILITY_PRIORITY );\r
+               vUtilityStartTraceTask( TASK_UTILITY_PRIORITY );\r
+       #else\r
+               vAltStartComTestTasks( mainCOM_TEST_PRIORITY, mainCOM_TEST_BAUD_RATE, mainCOM_TEST_LED - 1 );\r
        #endif\r
 \r
        /* Start the 'Check' task which is defined in this file. */\r
-       xTaskCreate( vErrorChecks, (signed portCHAR *) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );\r
+       xTaskCreate( vErrorChecks, (signed char *) "Check", configMINIMAL_STACK_SIZE, NULL, mainCHECK_TASK_PRIORITY, NULL );\r
 \r
        /* The suicide tasks must be started last as they record the number of other\r
        tasks that exist within the system.  The value is then used to ensure at run\r
@@ -236,9 +236,9 @@ portTickType xDelayPeriod = mainNO_ERROR_CHECK_DELAY;
 }\r
 /*-----------------------------------------------------------*/\r
 \r
-static portSHORT prvCheckOtherTasksAreStillRunning( void )\r
+static short prvCheckOtherTasksAreStillRunning( void )\r
 {\r
-       static portSHORT        sNoErrorFound = pdTRUE;\r
+       static short    sNoErrorFound = pdTRUE;\r
 \r
        /* The demo tasks maintain a count that increments every cycle of the task\r
        provided that the task has never encountered an error.  This function \r
@@ -251,11 +251,6 @@ static portSHORT prvCheckOtherTasksAreStillRunning( void )
                sNoErrorFound = pdFALSE;\r
        }\r
 \r
-       if( xAreComTestTasksStillRunning() != pdTRUE )\r
-       {\r
-               sNoErrorFound = pdFALSE;\r
-       }\r
-\r
        if( xArePollingQueuesStillRunning() != pdTRUE )\r
        {\r
                sNoErrorFound = pdFALSE;\r
@@ -296,6 +291,15 @@ static portSHORT prvCheckOtherTasksAreStillRunning( void )
                sNoErrorFound = pdFALSE;\r
        }\r
 \r
+       #if INCLUDE_TraceListTasks == 0\r
+       {\r
+               if( xAreComTestTasksStillRunning() != pdTRUE )\r
+               {\r
+                       sNoErrorFound = pdFALSE;\r
+               }\r
+       }\r
+       #endif\r
+\r
        return sNoErrorFound;\r
 }\r
 /*-----------------------------------------------------------*/\r
@@ -311,6 +315,8 @@ static portSHORT prvCheckOtherTasksAreStillRunning( void )
                #if WATCHDOG == WTC_IN_IDLE\r
                        Kick_Watchdog();\r
                #endif\r
+\r
+               vCoRoutineSchedule();\r
        }\r
 #else\r
        #if WATCHDOG == WTC_IN_IDLE\r
@@ -331,8 +337,6 @@ static portSHORT prvCheckOtherTasksAreStillRunning( void )
                #if WATCHDOG == WTC_IN_TICK\r
                        Kick_Watchdog();\r
                #endif\r
-\r
-               vCoRoutineSchedule();\r
        }\r
 #else\r
        #if WATCHDOG == WTC_IN_TICK\r