/*\r
- FreeRTOS V5.4.2 - Copyright (C) 2009 Real Time Engineers Ltd.\r
+ FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.\r
\r
- This file is part of the FreeRTOS distribution.\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 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
+ 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 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
+ 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 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
+ 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
\r
- ***************************************************************************\r
- * *\r
- * Looking for a quick start? Then check out the FreeRTOS eBook! *\r
- * See http://www.FreeRTOS.org/Documentation for details *\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
- 1 tab == 4 spaces!\r
+ 1 tab == 4 spaces!\r
\r
- Please ensure to read the configuration and relevant port sections of the\r
- online documentation.\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
+ http://www.FreeRTOS.org - Documentation, latest information, license and\r
+ contact details.\r
\r
- http://www.SafeRTOS.com - A version that is certified for use in safety\r
- critical systems.\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
+ http://www.OpenRTOS.com - Commercial support, development, porting,\r
+ licensing and training services.\r
*/\r
\r
/* \r
/*-----------------------------------------------------------*/\r
\r
/* Constants for the ComTest tasks. */\r
-#define mainCOM_TEST_BAUD_RATE ( ( unsigned portLONG ) 115200 )\r
+#define mainCOM_TEST_BAUD_RATE ( ( unsigned long ) 115200 )\r
#define mainCOM_TEST_LED ( 5 )\r
\r
/* Priorities for the demo application tasks. */\r
error. */\r
#define mainNO_ERROR_FLASH_PERIOD ( ( portTickType ) 3000 / portTICK_RATE_MS )\r
#define mainERROR_FLASH_PERIOD ( ( portTickType ) 500 / portTICK_RATE_MS )\r
-#define mainON_BOARD_LED_BIT ( ( unsigned portLONG ) 7 )\r
+#define mainON_BOARD_LED_BIT ( ( unsigned long ) 7 )\r
\r
/* Constants used by the vMemCheckTask() task. */\r
-#define mainCOUNT_INITIAL_VALUE ( ( unsigned portLONG ) 0 )\r
+#define mainCOUNT_INITIAL_VALUE ( ( unsigned long ) 0 )\r
#define mainNO_TASK ( 0 )\r
\r
/* The size of the memory blocks allocated by the vMemCheckTask() task. */\r
#define mainMEM_CHECK_SIZE_3 ( ( size_t ) 151 )\r
\r
#define MAX_WAIT_STATES 8\r
-static const unsigned portLONG ululCSRWaitValues[ MAX_WAIT_STATES + 1 ] =\r
+static const unsigned long ululCSRWaitValues[ MAX_WAIT_STATES + 1 ] =\r
{\r
WaitState1,/* There is no "zero wait state" value, so use one wait state */\r
WaitState1,\r
* Checks that all the demo application tasks are still executing without error\r
* - as described at the top of the file.\r
*/\r
-static portLONG prvCheckOtherTasksAreStillRunning( unsigned portLONG ulMemCheckTaskCount );\r
+static long prvCheckOtherTasksAreStillRunning( unsigned long ulMemCheckTaskCount );\r
\r
/*\r
* The task that executes at the highest priority and calls \r
vStartBlockingQueueTasks( mainBLOCK_Q_PRIORITY );\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
/* Now all the tasks have been started - start the scheduler.\r
\r
static void vErrorChecks( void *pvParameters )\r
{\r
portTickType xDelayPeriod = mainNO_ERROR_FLASH_PERIOD;\r
-unsigned portLONG ulMemCheckTaskRunningCount;\r
+unsigned long ulMemCheckTaskRunningCount;\r
xTaskHandle xCreatedTask;\r
\r
/* Just to stop compiler warnings. */\r
/* Dynamically create a task - passing ulMemCheckTaskRunningCount as a \r
parameter. */\r
ulMemCheckTaskRunningCount = mainCOUNT_INITIAL_VALUE; \r
- if( xTaskCreate( vMemCheckTask, ( signed portCHAR * ) "MEM_CHECK", configMINIMAL_STACK_SIZE, ( void * ) &ulMemCheckTaskRunningCount, tskIDLE_PRIORITY, &xCreatedTask ) != pdPASS )\r
+ if( xTaskCreate( vMemCheckTask, ( signed char * ) "MEM_CHECK", configMINIMAL_STACK_SIZE, ( void * ) &ulMemCheckTaskRunningCount, tskIDLE_PRIORITY, &xCreatedTask ) != pdPASS )\r
{\r
/* Could not create the task - we have probably run out of heap. */\r
xDelayPeriod = mainERROR_FLASH_PERIOD;\r
\r
static void prvSetupHardware( void )\r
{\r
-portLONG lCount;\r
+long lCount;\r
\r
#ifdef RUN_FROM_ROM\r
{\r
portFLOAT nsecsPerClockTick;\r
- portLONG lNumWaitStates;\r
- unsigned portLONG ulCSRWaitValue;\r
+ long lNumWaitStates;\r
+ unsigned long ulCSRWaitValue;\r
\r
/* We are compiling to run from ROM (either on-chip or off-chip flash).\r
Leave the RAM/flash mapped the way they are on reset\r
based on constants. But the compiler should still produce\r
a correct wait state register value. */\r
nsecsPerClockTick = ( portFLOAT ) 1000000000 / configCPU_CLOCK_HZ;\r
- lNumWaitStates = ( portLONG )( ( configFLASH_SPEED_NSEC / nsecsPerClockTick ) + 0.5 ) - 1;\r
+ lNumWaitStates = ( long )( ( configFLASH_SPEED_NSEC / nsecsPerClockTick ) + 0.5 ) - 1;\r
\r
if( lNumWaitStates < 0 )\r
{\r
}\r
/*-----------------------------------------------------------*/\r
\r
-static portLONG prvCheckOtherTasksAreStillRunning( unsigned portLONG ulMemCheckTaskCount )\r
+static long prvCheckOtherTasksAreStillRunning( unsigned long ulMemCheckTaskCount )\r
{\r
-portLONG lReturn = ( portLONG ) pdPASS;\r
+long lReturn = ( long ) pdPASS;\r
\r
/* Check all the demo tasks (other than the flash tasks) to ensure\r
that they are all still running, and that none of them have detected\r
\r
if( xAreIntegerMathsTaskStillRunning() != pdTRUE )\r
{\r
- lReturn = ( portLONG ) pdFAIL;\r
+ lReturn = ( long ) pdFAIL;\r
}\r
\r
if( xAreComTestTasksStillRunning() != pdTRUE )\r
{\r
- lReturn = ( portLONG ) pdFAIL;\r
+ lReturn = ( long ) pdFAIL;\r
}\r
\r
if( xArePollingQueuesStillRunning() != pdTRUE )\r
{\r
- lReturn = ( portLONG ) pdFAIL;\r
+ lReturn = ( long ) pdFAIL;\r
}\r
\r
if( xAreMathsTaskStillRunning() != pdTRUE )\r
{\r
- lReturn = ( portLONG ) pdFAIL;\r
+ lReturn = ( long ) pdFAIL;\r
}\r
\r
if( xAreSemaphoreTasksStillRunning() != pdTRUE )\r
{\r
- lReturn = ( portLONG ) pdFAIL;\r
+ lReturn = ( long ) pdFAIL;\r
}\r
\r
if( xAreDynamicPriorityTasksStillRunning() != pdTRUE )\r
{\r
- lReturn = ( portLONG ) pdFAIL;\r
+ lReturn = ( long ) pdFAIL;\r
}\r
\r
if( xAreBlockingQueuesStillRunning() != pdTRUE )\r
{\r
- lReturn = ( portLONG ) pdFAIL;\r
+ lReturn = ( long ) pdFAIL;\r
}\r
\r
if( ulMemCheckTaskCount == mainCOUNT_INITIAL_VALUE )\r
{\r
/* The vMemCheckTask did not increment the counter - it must\r
have failed. */\r
- lReturn = ( portLONG ) pdFAIL;\r
+ lReturn = ( long ) pdFAIL;\r
}\r
\r
return lReturn;\r
\r
static void vMemCheckTask( void *pvParameters )\r
{\r
-unsigned portLONG *pulMemCheckTaskRunningCounter;\r
+unsigned long *pulMemCheckTaskRunningCounter;\r
void *pvMem1, *pvMem2, *pvMem3;\r
-static portLONG lErrorOccurred = pdFALSE;\r
+static long lErrorOccurred = pdFALSE;\r
\r
/* This task is dynamically created then deleted during each cycle of the\r
vErrorChecks task to check the operation of the memory allocator. Each time\r
pulMemCheckTaskRunningCounter is incremented each cycle to indicate to the\r
vErrorChecks() task that this task is still executing without error. */\r
\r
- pulMemCheckTaskRunningCounter = ( unsigned portLONG * ) pvParameters;\r
+ pulMemCheckTaskRunningCounter = ( unsigned long * ) pvParameters;\r
\r
for( ;; )\r
{\r