mirror of
				https://github.com/FreeRTOS/FreeRTOS-Kernel.git
				synced 2025-11-04 02:32:42 -05:00 
			
		
		
		
	Minor mods common files to fix warnings generated by Renesas compiler.
Correct the header comments in het.c and het.h (RM48/TMS570 demo) which were corrupt. Correct version numbers in RX63N Renesas compiler demo. Ensure stacks set up for tasks in the RX200 port layer end on 8 byte boundaries (was 4, which didn't matter but didn't match the definition). Replaced unqualified (unsigned) in calls to standard functions with (size_t).
This commit is contained in:
		
							parent
							
								
									236683d74d
								
							
						
					
					
						commit
						a9b8f0ca69
					
				
					 28 changed files with 649 additions and 421 deletions
				
			
		| 
						 | 
					@ -1,29 +1,3 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
    FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ***************************************************************************
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
     *    FreeRTOS tutorial books are available in pdf and paperback.        *
 | 
					 | 
				
			||||||
     *    Complete, revised, and edited pdf reference manuals are also       *
 | 
					 | 
				
			||||||
     *    available.                                                         *
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
     *    Purchasing FreeRTOS documentation will not only help you, by       *
 | 
					 | 
				
			||||||
     *    ensuring you get running as quickly as possible and with an        *
 | 
					 | 
				
			||||||
     *    in-depth knowledge of how to use FreeRTOS, it will also help       *
 | 
					 | 
				
			||||||
     *    the FreeRTOS project to continue with its mission of providing     *
 | 
					 | 
				
			||||||
     *    professional grade, cross platform, de facto standard solutions    *
 | 
					 | 
				
			||||||
     *    for microcontrollers - completely free of charge!                  *
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
     *    Thank you for using FreeRTOS, and thank you for your support!      *
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
    ***************************************************************************
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    This file is part of the FreeRTOS distribution.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,34 +56,22 @@
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
 | 
				
			||||||
    license and Real Time Engineers Ltd. contact details.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
    fully thread aware and reentrant UDP/IP stack.
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
 | 
				
			||||||
    Integrity Systems, who sell the code with commercial support, 
 | 
					    Integrity Systems, who sell the code with commercial support,
 | 
				
			||||||
    indemnification and middleware, under the OpenRTOS brand.
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
 | 
				
			||||||
    engineered and independently SIL3 certified version for use in safety and 
 | 
					    engineered and independently SIL3 certified version for use in safety and
 | 
				
			||||||
    mission critical applications that require provable dependability.
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					 | 
				
			||||||
    contact details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					 | 
				
			||||||
    licensing and training services.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#include "FreeRTOS.h"
 | 
					#include "FreeRTOS.h"
 | 
				
			||||||
#include "Task.h"
 | 
					#include "Task.h"
 | 
				
			||||||
#include "gio.h"
 | 
					#include "gio.h"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,29 +1,3 @@
 | 
				
			||||||
/*
 | 
					 | 
				
			||||||
    FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ***************************************************************************
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
     *    FreeRTOS tutorial books are available in pdf and paperback.        *
 | 
					 | 
				
			||||||
     *    Complete, revised, and edited pdf reference manuals are also       *
 | 
					 | 
				
			||||||
     *    available.                                                         *
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
     *    Purchasing FreeRTOS documentation will not only help you, by       *
 | 
					 | 
				
			||||||
     *    ensuring you get running as quickly as possible and with an        *
 | 
					 | 
				
			||||||
     *    in-depth knowledge of how to use FreeRTOS, it will also help       *
 | 
					 | 
				
			||||||
     *    the FreeRTOS project to continue with its mission of providing     *
 | 
					 | 
				
			||||||
     *    professional grade, cross platform, de facto standard solutions    *
 | 
					 | 
				
			||||||
     *    for microcontrollers - completely free of charge!                  *
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
     *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
     *    Thank you for using FreeRTOS, and thank you for your support!      *
 | 
					 | 
				
			||||||
     *                                                                       *
 | 
					 | 
				
			||||||
    ***************************************************************************
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    This file is part of the FreeRTOS distribution.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,35 +56,22 @@
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
 | 
				
			||||||
    license and Real Time Engineers Ltd. contact details.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
    fully thread aware and reentrant UDP/IP stack.
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
 | 
				
			||||||
    Integrity Systems, who sell the code with commercial support, 
 | 
					    Integrity Systems, who sell the code with commercial support,
 | 
				
			||||||
    indemnification and middleware, under the OpenRTOS brand.
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
 | 
				
			||||||
    engineered and independently SIL3 certified version for use in safety and 
 | 
					    engineered and independently SIL3 certified version for use in safety and
 | 
				
			||||||
    mission critical applications that require provable dependability.
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					 | 
				
			||||||
    contact details.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					 | 
				
			||||||
    licensing and training services.
 | 
					 | 
				
			||||||
*/
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#ifndef __HET_H__
 | 
					#ifndef __HET_H__
 | 
				
			||||||
#define __HET_H__
 | 
					#define __HET_H__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -587,7 +587,7 @@ static unsigned portLONG ulLastLoopCounter = 0, ulLastLoopCounter2 = 0;
 | 
				
			||||||
	/* Errors detected in the task itself will have latched xErrorDetected
 | 
						/* Errors detected in the task itself will have latched xErrorDetected
 | 
				
			||||||
	to true. */
 | 
						to true. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	return !xErrorDetected;
 | 
						return ( portBASE_TYPE ) !xErrorDetected;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -162,7 +162,7 @@ portTickType xTimeToBlock, xBlockedTime;
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			/* The queue is empty. Attempt to read from the queue using a block
 | 
								/* The queue is empty. Attempt to read from the queue using a block
 | 
				
			||||||
			time.  When we wake, ensure the delta in time is as expected. */
 | 
								time.  When we wake, ensure the delta in time is as expected. */
 | 
				
			||||||
			xTimeToBlock = bktPRIMARY_BLOCK_TIME << xItem;
 | 
								xTimeToBlock = ( portTickType ) ( bktPRIMARY_BLOCK_TIME << xItem );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			xTimeWhenBlocking = xTaskGetTickCount();
 | 
								xTimeWhenBlocking = xTaskGetTickCount();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -213,7 +213,7 @@ portTickType xTimeToBlock, xBlockedTime;
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			/* The queue is full. Attempt to write to the queue using a block
 | 
								/* The queue is full. Attempt to write to the queue using a block
 | 
				
			||||||
			time.  When we wake, ensure the delta in time is as expected. */
 | 
								time.  When we wake, ensure the delta in time is as expected. */
 | 
				
			||||||
			xTimeToBlock = bktPRIMARY_BLOCK_TIME << xItem;
 | 
								xTimeToBlock = ( portTickType ) bktPRIMARY_BLOCK_TIME << xItem;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			xTimeWhenBlocking = xTaskGetTickCount();
 | 
								xTimeWhenBlocking = xTaskGetTickCount();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -72,9 +72,6 @@
 | 
				
			||||||
    mission critical applications that require provable dependability.
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* INCLUDED_FROM_FREERTOS_ASM_FILE is defined before FreeRTOSConfig.h so non
 | 
					 | 
				
			||||||
assembly compatible definitions within the header file can be omitted. */
 | 
					 | 
				
			||||||
#define INCLUDED_FROM_FREERTOS_ASM_FILE
 | 
					 | 
				
			||||||
#include "FreeRTOSConfig.h"
 | 
					#include "FreeRTOSConfig.h"
 | 
				
			||||||
#include "ISR_Support.h"
 | 
					#include "ISR_Support.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -82,7 +82,7 @@ included.  Alternatively, just manually include the correct files here. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Prevent the files being included from the FreeRTOS port layer assembly
 | 
						/* Prevent the files being included from the FreeRTOS port layer assembly
 | 
				
			||||||
	source files. */
 | 
						source files. */
 | 
				
			||||||
	#ifndef INCLUDED_FROM_FREERTOS_ASM_FILE
 | 
						#ifndef __ASSEMBLER__
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		#ifdef YRDKRL78G14
 | 
							#ifdef YRDKRL78G14
 | 
				
			||||||
			#include "iodefine_RL78G14.h"
 | 
								#include "iodefine_RL78G14.h"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -113,7 +113,7 @@ multiple evaluation boards. */
 | 
				
			||||||
#define configUSE_MUTEXES				1
 | 
					#define configUSE_MUTEXES				1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Hook function definitions. */
 | 
					/* Hook function definitions. */
 | 
				
			||||||
#define configUSE_IDLE_HOOK				1
 | 
					#define configUSE_IDLE_HOOK				0
 | 
				
			||||||
#define configUSE_TICK_HOOK				0
 | 
					#define configUSE_TICK_HOOK				0
 | 
				
			||||||
#define configUSE_MALLOC_FAILED_HOOK	1
 | 
					#define configUSE_MALLOC_FAILED_HOOK	1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -19,6 +19,6 @@
 | 
				
			||||||
@REM 
 | 
					@REM 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
"C:\devtools\IAR Systems\Embedded Workbench 6.5\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\bin\rl78proc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\bin\rl78ocd.dll"  %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\bin\rl78bat.dll" --backend -B "--core" "rl78_1" "--near_const_location" "rom0" "--near_const_start" "0xf2000" "--near_const_size" "24.00" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\config\debugger\ior5f10jgc.ddf" "-d" "e1" 
 | 
					"C:\devtools\IAR Systems\Embedded Workbench 6.5\common\bin\cspybat" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\bin\rl78proc.dll" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\bin\rl78ocd.dll"  %1 --plugin "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\bin\rl78bat.dll" --backend -B "--core" "rl78_1" "--near_const_location" "rom0" "--near_const_start" "0xf2000" "--near_const_size" "51.75" "-p" "C:\devtools\IAR Systems\Embedded Workbench 6.5\rl78\config\debugger\ior5f10ele.ddf" "-d" "e1" 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -3,7 +3,7 @@
 | 
				
			||||||
<Workspace>
 | 
					<Workspace>
 | 
				
			||||||
  <ConfigDictionary>
 | 
					  <ConfigDictionary>
 | 
				
			||||||
    
 | 
					    
 | 
				
			||||||
  <CurrentConfigs><Project>RTOSDemo/RSKRL78G1C</Project></CurrentConfigs></ConfigDictionary>
 | 
					  <CurrentConfigs><Project>RTOSDemo/RL78_G1A_TB</Project></CurrentConfigs></ConfigDictionary>
 | 
				
			||||||
  <Desktop>
 | 
					  <Desktop>
 | 
				
			||||||
    <Static>
 | 
					    <Static>
 | 
				
			||||||
      <Workspace>
 | 
					      <Workspace>
 | 
				
			||||||
| 
						 | 
					@ -14,7 +14,7 @@
 | 
				
			||||||
          
 | 
					          
 | 
				
			||||||
        <Column0>263</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
 | 
					        <Column0>263</Column0><Column1>27</Column1><Column2>27</Column2><Column3>27</Column3></ColumnWidths>
 | 
				
			||||||
      </Workspace>
 | 
					      </Workspace>
 | 
				
			||||||
    <Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>684</ColumnWidth1><ColumnWidth2>182</ColumnWidth2><ColumnWidth3>45</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1218</ColumnWidth1></Debug-Log><Disassembly><MixedMode>1</MixedMode><CodeCovShow>1</CodeCovShow><InstrProfShow>1</InstrProfShow></Disassembly><Find-in-Files><ColumnWidth0>439</ColumnWidth0><ColumnWidth1>62</ColumnWidth1><ColumnWidth2>753</ColumnWidth2></Find-in-Files></Static>
 | 
					    <Build><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>684</ColumnWidth1><ColumnWidth2>182</ColumnWidth2><ColumnWidth3>45</ColumnWidth3></Build><TerminalIO/><Debug-Log><ColumnWidth0>20</ColumnWidth0><ColumnWidth1>1218</ColumnWidth1></Debug-Log><Disassembly><MixedMode>1</MixedMode><CodeCovShow>1</CodeCovShow><InstrProfShow>1</InstrProfShow></Disassembly><Find-in-Files><ColumnWidth0>439</ColumnWidth0><ColumnWidth1>62</ColumnWidth1><ColumnWidth2>753</ColumnWidth2></Find-in-Files><Select-Ambiguous-Definitions><ColumnWidth0>580</ColumnWidth0><ColumnWidth1>82</ColumnWidth1><ColumnWidth2>994</ColumnWidth2></Select-Ambiguous-Definitions></Static>
 | 
				
			||||||
    <Windows>
 | 
					    <Windows>
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
    <Wnd2>
 | 
					    <Wnd2>
 | 
				
			||||||
| 
						 | 
					@ -25,24 +25,24 @@
 | 
				
			||||||
            <Factory>Workspace</Factory>
 | 
					            <Factory>Workspace</Factory>
 | 
				
			||||||
            <Session>
 | 
					            <Session>
 | 
				
			||||||
              
 | 
					              
 | 
				
			||||||
            <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode><ExpandedNode>RTOSDemo/Demo Source</ExpandedNode><ExpandedNode>RTOSDemo/Output</ExpandedNode></NodeDict></Session>
 | 
					            <NodeDict><ExpandedNode>RTOSDemo</ExpandedNode></NodeDict></Session>
 | 
				
			||||||
          </Tab>
 | 
					          </Tab>
 | 
				
			||||||
        </Tabs>
 | 
					        </Tabs>
 | 
				
			||||||
        
 | 
					        
 | 
				
			||||||
      <SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-4654-17433</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-7454-1824</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-32199-1847</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
 | 
					      <SelectedTab>0</SelectedTab></Wnd2><Wnd3><Tabs><Tab><Identity>TabID-4654-17433</Identity><TabName>Build</TabName><Factory>Build</Factory><Session/></Tab><Tab><Identity>TabID-7454-1824</Identity><TabName>Find in Files</TabName><Factory>Find-in-Files</Factory><Session/></Tab><Tab><Identity>TabID-32199-1847</Identity><TabName>Debug Log</TabName><Factory>Debug-Log</Factory><Session/></Tab><Tab><Identity>TabID-16124-30648</Identity><TabName>Ambiguous Definitions</TabName><Factory>Select-Ambiguous-Definitions</Factory><Session/></Tab></Tabs><SelectedTab>0</SelectedTab></Wnd3></Windows>
 | 
				
			||||||
    <Editor>
 | 
					    <Editor>
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>147</YPos2><SelStart2>7550</SelStart2><SelEnd2>7550</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\demo_specific_io.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>64</YPos2><SelStart2>4262</SelStart2><SelEnd2>4262</SelEnd2></Tab><ActiveTab>1</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
 | 
					    <Pane><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\main.c</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>147</YPos2><SelStart2>7550</SelStart2><SelEnd2>7550</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\demo_specific_io.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>64</YPos2><SelStart2>4262</SelStart2><SelEnd2>4262</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\..\..\Source\portable\IAR\RL78\portmacro.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>143</YPos2><SelStart2>7699</SelStart2><SelEnd2>7699</SelEnd2></Tab><Tab><Factory>TextEditor</Factory><Filename>$WS_DIR$\FreeRTOSConfig.h</Filename><XPos>0</XPos><YPos>0</YPos><SelStart>0</SelStart><SelEnd>0</SelEnd><XPos2>0</XPos2><YPos2>107</YPos2><SelStart2>0</SelStart2><SelEnd2>0</SelEnd2></Tab><ActiveTab>3</ActiveTab></Pane><ActivePane>0</ActivePane><Sizes><Pane><X>1000000</X><Y>1000000</Y></Pane></Sizes><SplitMode>1</SplitMode></Editor>
 | 
				
			||||||
    <Positions>
 | 
					    <Positions>
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
      
 | 
					      
 | 
				
			||||||
    <Top><Row0><Sizes><Toolbar-01349048><key>iaridepm.enu1</key></Toolbar-01349048></Sizes></Row0><Row1><Sizes/></Row1><Row2><Sizes/></Row2><Row3><Sizes/></Row3><Row4><Sizes/></Row4><Row5><Sizes/></Row5><Row6><Sizes/></Row6><Row7><Sizes/></Row7><Row8><Sizes/></Row8><Row9><Sizes/></Row9><Row10><Sizes/></Row10><Row11><Sizes/></Row11><Row12><Sizes/></Row12><Row13><Sizes/></Row13><Row14><Sizes/></Row14><Row15><Sizes/></Row15><Row16><Sizes/></Row16><Row17><Sizes/></Row17><Row18><Sizes/></Row18><Row19><Sizes/></Row19><Row20><Sizes/></Row20><Row21><Sizes/></Row21><Row22><Sizes/></Row22><Row23><Sizes/></Row23><Row24><Sizes/></Row24><Row25><Sizes/></Row25><Row26><Sizes/></Row26><Row27><Sizes/></Row27><Row28><Sizes/></Row28><Row29><Sizes/></Row29><Row30><Sizes/></Row30><Row31><Sizes/></Row31><Row32><Sizes/></Row32><Row33><Sizes/></Row33><Row34><Sizes/></Row34><Row35><Sizes/></Row35><Row36><Sizes/></Row36><Row37><Sizes/></Row37><Row38><Sizes/></Row38><Row39><Sizes/></Row39><Row40><Sizes/></Row40><Row41><Sizes/></Row41><Row42><Sizes/></Row42><Row43><Sizes/></Row43><Row44><Sizes/></Row44><Row45><Sizes/></Row45><Row46><Sizes/></Row46><Row47><Sizes/></Row47><Row48><Sizes/></Row48><Row49><Sizes/></Row49><Row50><Sizes/></Row50><Row51><Sizes/></Row51><Row52><Sizes/></Row52><Row53><Sizes/></Row53><Row54><Sizes/></Row54><Row55><Sizes/></Row55><Row56><Sizes/></Row56><Row57><Sizes/></Row57><Row58><Sizes/></Row58><Row59><Sizes/></Row59><Row60><Sizes/></Row60><Row61><Sizes/></Row61><Row62><Sizes/></Row62><Row63><Sizes/></Row63><Row64><Sizes/></Row64><Row65><Sizes/></Row65><Row66><Sizes/></Row66><Row67><Sizes/></Row67><Row68><Sizes/></Row68><Row69><Sizes/></Row69><Row70><Sizes/></Row70></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>749</Bottom><Right>337</Right><x>-2</x><y>-2</y><xscreen>9625</xscreen><yscreen>6151</yscreen><sizeHorzCX>5729167</sizeHorzCX><sizeHorzCY>6263747</sizeHorzCY><sizeVertCX>201786</sizeVertCX><sizeVertCY>764766</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>189</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>191</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>194501</sizeHorzCY><sizeVertCX>7519643</sizeVertCX><sizeVertCY>7952138</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
 | 
					    <Top><Row0><Sizes><Toolbar-01349048><key>iaridepm.enu1</key></Toolbar-01349048></Sizes></Row0></Top><Left><Row0><Sizes><Wnd2><Rect><Top>-2</Top><Left>-2</Left><Bottom>749</Bottom><Right>337</Right><x>-2</x><y>-2</y><xscreen>9625</xscreen><yscreen>6151</yscreen><sizeHorzCX>5729167</sizeHorzCX><sizeHorzCY>6263747</sizeHorzCY><sizeVertCX>201786</sizeVertCX><sizeVertCY>764766</sizeVertCY></Rect></Wnd2></Sizes></Row0></Left><Right><Row0><Sizes/></Row0></Right><Bottom><Row0><Sizes><Wnd3><Rect><Top>-2</Top><Left>-2</Left><Bottom>189</Bottom><Right>1682</Right><x>-2</x><y>-2</y><xscreen>1684</xscreen><yscreen>191</yscreen><sizeHorzCX>1002381</sizeHorzCX><sizeHorzCY>194501</sizeHorzCY><sizeVertCX>7519643</sizeVertCX><sizeVertCY>7952138</sizeVertCY></Rect></Wnd3></Sizes></Row0></Bottom><Float><Sizes/></Float></Positions>
 | 
				
			||||||
  </Desktop>
 | 
					  </Desktop>
 | 
				
			||||||
</Workspace>
 | 
					</Workspace>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support, 
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and 
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef FREERTOS_CONFIG_H
 | 
					#ifndef FREERTOS_CONFIG_H
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support, 
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and 
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* 
 | 
					/* 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support, 
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and 
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support, 
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and 
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef INT_QUEUE_TIMER_H
 | 
					#ifndef INT_QUEUE_TIMER_H
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support, 
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and 
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*-----------------------------------------------------------
 | 
					/*-----------------------------------------------------------
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support, 
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and 
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* 
 | 
					/* 
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support, 
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and 
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* ****************************************************************************
 | 
					/* ****************************************************************************
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support, 
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and 
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Standard includes. */
 | 
					/* Standard includes. */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support, 
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					    
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and 
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Hardware specific includes. */
 | 
					/* Hardware specific includes. */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support,
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support,
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Standard includes. */
 | 
					/* Standard includes. */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support,
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "FreeRTOS.h"
 | 
					#include "FreeRTOS.h"
 | 
				
			||||||
| 
						 | 
					@ -65,8 +86,8 @@
 | 
				
			||||||
/* include the port-dependent configuration */
 | 
					/* include the port-dependent configuration */
 | 
				
			||||||
#include "lwipcfg_msvc.h"
 | 
					#include "lwipcfg_msvc.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Dimensions the cTxBuffer array - which is itself used to hold replies from 
 | 
					/* Dimensions the cTxBuffer array - which is itself used to hold replies from
 | 
				
			||||||
command line commands.  cTxBuffer is a shared buffer, so protected by the 
 | 
					command line commands.  cTxBuffer is a shared buffer, so protected by the
 | 
				
			||||||
xTxBufferMutex mutex. */
 | 
					xTxBufferMutex mutex. */
 | 
				
			||||||
#define lwipappsTX_BUFFER_SIZE	1024
 | 
					#define lwipappsTX_BUFFER_SIZE	1024
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -74,7 +95,7 @@ xTxBufferMutex mutex. */
 | 
				
			||||||
available. */
 | 
					available. */
 | 
				
			||||||
#define lwipappsMAX_TIME_TO_WAIT_FOR_TX_BUFFER_MS	( 100 / portTICK_RATE_MS )
 | 
					#define lwipappsMAX_TIME_TO_WAIT_FOR_TX_BUFFER_MS	( 100 / portTICK_RATE_MS )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Definitions of the various SSI callback functions within the pccSSITags 
 | 
					/* Definitions of the various SSI callback functions within the pccSSITags
 | 
				
			||||||
array.  If pccSSITags is updated, then these definitions must also be updated. */
 | 
					array.  If pccSSITags is updated, then these definitions must also be updated. */
 | 
				
			||||||
#define ssiTASK_STATS_INDEX			0
 | 
					#define ssiTASK_STATS_INDEX			0
 | 
				
			||||||
#define ssiRUN_TIME_STATS_INDEX		1
 | 
					#define ssiRUN_TIME_STATS_INDEX		1
 | 
				
			||||||
| 
						 | 
					@ -95,9 +116,9 @@ static unsigned short uslwIPAppsSSIHandler( int iIndex, char *pcBuffer, int iBuf
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* The SSI strings that are embedded in the served html files.  If this array
 | 
					/* The SSI strings that are embedded in the served html files.  If this array
 | 
				
			||||||
is changed, then the index position defined by the #defines such as 
 | 
					is changed, then the index position defined by the #defines such as
 | 
				
			||||||
ssiTASK_STATS_INDEX above must also be updated. */
 | 
					ssiTASK_STATS_INDEX above must also be updated. */
 | 
				
			||||||
static const char *pccSSITags[] = 
 | 
					static const char *pccSSITags[] =
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	"rtos_stats",
 | 
						"rtos_stats",
 | 
				
			||||||
	"run_stats"
 | 
						"run_stats"
 | 
				
			||||||
| 
						 | 
					@ -106,11 +127,11 @@ static const char *pccSSITags[] =
 | 
				
			||||||
/* Semaphore used to guard the Tx buffer. */
 | 
					/* Semaphore used to guard the Tx buffer. */
 | 
				
			||||||
static xSemaphoreHandle xTxBufferMutex = NULL;
 | 
					static xSemaphoreHandle xTxBufferMutex = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* The Tx buffer itself.  This is used to hold the text generated by the 
 | 
					/* The Tx buffer itself.  This is used to hold the text generated by the
 | 
				
			||||||
execution of command line commands, and (hopefully) the execution of 
 | 
					execution of command line commands, and (hopefully) the execution of
 | 
				
			||||||
server side include callbacks.  It is a shared buffer so protected by the
 | 
					server side include callbacks.  It is a shared buffer so protected by the
 | 
				
			||||||
xTxBufferMutex mutex.  pcLwipAppsBlockingGetTxBuffer() and 
 | 
					xTxBufferMutex mutex.  pcLwipAppsBlockingGetTxBuffer() and
 | 
				
			||||||
vLwipAppsReleaseTxBuffer() are provided to obtain and release the 
 | 
					vLwipAppsReleaseTxBuffer() are provided to obtain and release the
 | 
				
			||||||
xTxBufferMutex respectively.  pcLwipAppsBlockingGetTxBuffer() must be used with
 | 
					xTxBufferMutex respectively.  pcLwipAppsBlockingGetTxBuffer() must be used with
 | 
				
			||||||
caution as it has the potential to block. */
 | 
					caution as it has the potential to block. */
 | 
				
			||||||
static signed char cTxBuffer[ lwipappsTX_BUFFER_SIZE ];
 | 
					static signed char cTxBuffer[ lwipappsTX_BUFFER_SIZE ];
 | 
				
			||||||
| 
						 | 
					@ -143,7 +164,7 @@ static struct netif xNetIf;
 | 
				
			||||||
	/* Install the server side include handler. */
 | 
						/* Install the server side include handler. */
 | 
				
			||||||
	http_set_ssi_handler( uslwIPAppsSSIHandler, pccSSITags, sizeof( pccSSITags ) / sizeof( char * ) );
 | 
						http_set_ssi_handler( uslwIPAppsSSIHandler, pccSSITags, sizeof( pccSSITags ) / sizeof( char * ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Create the mutex used to ensure mutual exclusive access to the Tx 
 | 
						/* Create the mutex used to ensure mutual exclusive access to the Tx
 | 
				
			||||||
	buffer. */
 | 
						buffer. */
 | 
				
			||||||
	xTxBufferMutex = xSemaphoreCreateMutex();
 | 
						xTxBufferMutex = xSemaphoreCreateMutex();
 | 
				
			||||||
	configASSERT( xTxBufferMutex );
 | 
						configASSERT( xTxBufferMutex );
 | 
				
			||||||
| 
						 | 
					@ -169,7 +190,7 @@ extern char *pcMainGetTaskStatusMessage( void );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* The SSI handler function that generates text depending on the index of
 | 
						/* The SSI handler function that generates text depending on the index of
 | 
				
			||||||
	the SSI tag encountered. */
 | 
						the SSI tag encountered. */
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	switch( iIndex )
 | 
						switch( iIndex )
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		case ssiTASK_STATS_INDEX :
 | 
							case ssiTASK_STATS_INDEX :
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,29 +29,49 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
*/
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support,
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#ifndef LWIP_APPS_H
 | 
					#ifndef LWIP_APPS_H
 | 
				
			||||||
#define LWIP_APPS_H
 | 
					#define LWIP_APPS_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,8 @@
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
    FreeRTOS V7.0.2 - Copyright (C) 2011 Real Time Engineers Ltd.
 | 
					    FreeRTOS V7.4.0 - Copyright (C) 2013 Real Time Engineers Ltd.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
 | 
					    FEATURES AND PORTS ARE ADDED TO FREERTOS ALL THE TIME.  PLEASE VISIT
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
     *                                                                       *
 | 
					     *                                                                       *
 | 
				
			||||||
| 
						 | 
					@ -27,28 +29,47 @@
 | 
				
			||||||
    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
					    FreeRTOS is free software; you can redistribute it and/or modify it under
 | 
				
			||||||
    the terms of the GNU General Public License (version 2) as published by the
 | 
					    the terms of the GNU General Public License (version 2) as published by the
 | 
				
			||||||
    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
					    Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
 | 
				
			||||||
    >>>NOTE<<< The modification to the GPL is included to allow you to
 | 
					
 | 
				
			||||||
 | 
					    >>>>>>NOTE<<<<<< The modification to the GPL is included to allow you to
 | 
				
			||||||
    distribute a combined work that includes FreeRTOS without being obliged to
 | 
					    distribute a combined work that includes FreeRTOS without being obliged to
 | 
				
			||||||
    provide the source code for proprietary components outside of the FreeRTOS
 | 
					    provide the source code for proprietary components outside of the FreeRTOS
 | 
				
			||||||
    kernel.  FreeRTOS is distributed in the hope that it will be useful, but
 | 
					    kernel.
 | 
				
			||||||
    WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
 | 
					
 | 
				
			||||||
    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
					    FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 | 
				
			||||||
    more details. You should have received a copy of the GNU General Public
 | 
					    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 | 
				
			||||||
    License and the FreeRTOS license exception along with FreeRTOS; if not it
 | 
					    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
 | 
				
			||||||
    can be viewed here: http://www.freertos.org/a00114.html and also obtained
 | 
					    details. You should have received a copy of the GNU General Public License
 | 
				
			||||||
    by writing to Richard Barry, contact details for whom are available on the
 | 
					    and the FreeRTOS license exception along with FreeRTOS; if not itcan be
 | 
				
			||||||
    FreeRTOS WEB site.
 | 
					    viewed here: http://www.freertos.org/a00114.html and also obtained by
 | 
				
			||||||
 | 
					    writing to Real Time Engineers Ltd., contact details for whom are available
 | 
				
			||||||
 | 
					    on the FreeRTOS WEB site.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    1 tab == 4 spaces!
 | 
					    1 tab == 4 spaces!
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, latest information, license and
 | 
					    ***************************************************************************
 | 
				
			||||||
    contact details.
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    Having a problem?  Start by reading the FAQ "My application does   *
 | 
				
			||||||
 | 
					     *    not run, what could be wrong?"                                     *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					     *    http://www.FreeRTOS.org/FAQHelp.html                               *
 | 
				
			||||||
 | 
					     *                                                                       *
 | 
				
			||||||
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - A version that is certified for use in safety
 | 
					 | 
				
			||||||
    critical systems.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Commercial support, development, porting,
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
 | 
				
			||||||
    licensing and training services.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
 | 
				
			||||||
 | 
					    Integrity Systems, who sell the code with commercial support,
 | 
				
			||||||
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
 | 
				
			||||||
 | 
					    engineered and independently SIL3 certified version for use in safety and
 | 
				
			||||||
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
| 
						 | 
					@ -64,8 +85,8 @@
 | 
				
			||||||
 * - is not the correct page to view for information on using this lwIP demo.
 | 
					 * - is not the correct page to view for information on using this lwIP demo.
 | 
				
			||||||
 *******************************************************************************
 | 
					 *******************************************************************************
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * This project demonstrates use of the lwIP stack.  The lwIP raw API is 
 | 
					 * This project demonstrates use of the lwIP stack.  The lwIP raw API is
 | 
				
			||||||
 * demonstrated by a simple http server that comes as part of the lwIP 
 | 
					 * demonstrated by a simple http server that comes as part of the lwIP
 | 
				
			||||||
 * distribution - and executes in the tcpip task.  The lwIP sockets API
 | 
					 * distribution - and executes in the tcpip task.  The lwIP sockets API
 | 
				
			||||||
 * is demonstrated by a simple command line interpreter interface, which
 | 
					 * is demonstrated by a simple command line interpreter interface, which
 | 
				
			||||||
 * executes in its own task.
 | 
					 * executes in its own task.
 | 
				
			||||||
| 
						 | 
					@ -81,9 +102,9 @@
 | 
				
			||||||
 * executing as expected.  It maintains a status string that can be viewed on
 | 
					 * executing as expected.  It maintains a status string that can be viewed on
 | 
				
			||||||
 * the "task stats" page served by the web server.
 | 
					 * the "task stats" page served by the web server.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 * More information about this demo, including details of how to set up the 
 | 
					 * More information about this demo, including details of how to set up the
 | 
				
			||||||
 * network interface, and the command line commands that are available, is
 | 
					 * network interface, and the command line commands that are available, is
 | 
				
			||||||
 * available on the documentation page for this demo on the 
 | 
					 * available on the documentation page for this demo on the
 | 
				
			||||||
 * http://www.FreeRTOS.org web site.
 | 
					 * http://www.FreeRTOS.org web site.
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
| 
						 | 
					@ -122,8 +143,8 @@ static void prvCheckTimerCallback( xTimerHandle xTimer );
 | 
				
			||||||
extern void lwIPAppsInit( void *pvArguments );
 | 
					extern void lwIPAppsInit( void *pvArguments );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Callbacks to handle the command line commands defined by the xTaskStats and
 | 
					/* Callbacks to handle the command line commands defined by the xTaskStats and
 | 
				
			||||||
xRunTimeStats command definitions respectively.  These functions are not 
 | 
					xRunTimeStats command definitions respectively.  These functions are not
 | 
				
			||||||
necessarily reentrant!  They must be used from one task only - or at least by 
 | 
					necessarily reentrant!  They must be used from one task only - or at least by
 | 
				
			||||||
only one task at a time. */
 | 
					only one task at a time. */
 | 
				
			||||||
static portBASE_TYPE prvTaskStatsCommand( signed char *pcWriteBuffer, size_t xWriteBufferLen, const signed char * pcCommandString );
 | 
					static portBASE_TYPE prvTaskStatsCommand( signed char *pcWriteBuffer, size_t xWriteBufferLen, const signed char * pcCommandString );
 | 
				
			||||||
static portBASE_TYPE prvRunTimeStatsCommand( signed char *pcWriteBuffer, size_t xWriteBufferLen, const signed char * pcCommandString );
 | 
					static portBASE_TYPE prvRunTimeStatsCommand( signed char *pcWriteBuffer, size_t xWriteBufferLen, const signed char * pcCommandString );
 | 
				
			||||||
| 
						 | 
					@ -131,7 +152,7 @@ static portBASE_TYPE prvRunTimeStatsCommand( signed char *pcWriteBuffer, size_t
 | 
				
			||||||
/* The string that latches the current demo status. */
 | 
					/* The string that latches the current demo status. */
 | 
				
			||||||
static char *pcStatusMessage = "All tasks running without error";
 | 
					static char *pcStatusMessage = "All tasks running without error";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Variables used in the creation of the run time stats time base.  Run time 
 | 
					/* Variables used in the creation of the run time stats time base.  Run time
 | 
				
			||||||
stats record how much time each task spends in the Running state. */
 | 
					stats record how much time each task spends in the Running state. */
 | 
				
			||||||
long long llInitialRunTimeCounterValue = 0LL, llRunTimeStatsDivisor = 0LL;
 | 
					long long llInitialRunTimeCounterValue = 0LL, llRunTimeStatsDivisor = 0LL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -234,7 +255,7 @@ void vApplicationMallocFailedHook( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
const unsigned long ulLongSleep = 1000UL;
 | 
					const unsigned long ulLongSleep = 1000UL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Can be implemented if required, but probably not required in this 
 | 
						/* Can be implemented if required, but probably not required in this
 | 
				
			||||||
	environment and running this demo. */
 | 
						environment and running this demo. */
 | 
				
			||||||
	taskDISABLE_INTERRUPTS();
 | 
						taskDISABLE_INTERRUPTS();
 | 
				
			||||||
	for( ;; )
 | 
						for( ;; )
 | 
				
			||||||
| 
						 | 
					@ -248,7 +269,7 @@ void vApplicationStackOverflowHook( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
const unsigned long ulLongSleep = 1000UL;
 | 
					const unsigned long ulLongSleep = 1000UL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Can be implemented if required, but probably not required in this 
 | 
						/* Can be implemented if required, but probably not required in this
 | 
				
			||||||
	environment and running this demo. */
 | 
						environment and running this demo. */
 | 
				
			||||||
	taskDISABLE_INTERRUPTS();
 | 
						taskDISABLE_INTERRUPTS();
 | 
				
			||||||
	for( ;; )
 | 
						for( ;; )
 | 
				
			||||||
| 
						 | 
					@ -281,7 +302,7 @@ void vMainConfigureTimerForRunTimeStats( void )
 | 
				
			||||||
LARGE_INTEGER liPerformanceCounterFrequency, liInitialRunTimeValue;
 | 
					LARGE_INTEGER liPerformanceCounterFrequency, liInitialRunTimeValue;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Initialise the variables used to create the run time stats time base.
 | 
						/* Initialise the variables used to create the run time stats time base.
 | 
				
			||||||
	Run time stats record how much time each task spends in the Running 
 | 
						Run time stats record how much time each task spends in the Running
 | 
				
			||||||
	state. */
 | 
						state. */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if( QueryPerformanceFrequency( &liPerformanceCounterFrequency ) == 0 )
 | 
						if( QueryPerformanceFrequency( &liPerformanceCounterFrequency ) == 0 )
 | 
				
			||||||
| 
						 | 
					@ -309,7 +330,7 @@ unsigned long ulReturn;
 | 
				
			||||||
	/* What is the performance counter value now? */
 | 
						/* What is the performance counter value now? */
 | 
				
			||||||
	QueryPerformanceCounter( &liCurrentCount );
 | 
						QueryPerformanceCounter( &liCurrentCount );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Subtract the performance counter value reading taken when the 
 | 
						/* Subtract the performance counter value reading taken when the
 | 
				
			||||||
	application started to get a count from that reference point, then
 | 
						application started to get a count from that reference point, then
 | 
				
			||||||
	scale to a 32 bit number. */
 | 
						scale to a 32 bit number. */
 | 
				
			||||||
	ulReturn = ( unsigned long ) ( ( liCurrentCount.QuadPart - llInitialRunTimeCounterValue ) / llRunTimeStatsDivisor );
 | 
						ulReturn = ( unsigned long ) ( ( liCurrentCount.QuadPart - llInitialRunTimeCounterValue ) / llRunTimeStatsDivisor );
 | 
				
			||||||
| 
						 | 
					@ -333,7 +354,7 @@ const char *const pcHeader = "Task          State  Priority  Stack	#\r\n********
 | 
				
			||||||
	strcpy( pcWriteBuffer, pcHeader );
 | 
						strcpy( pcWriteBuffer, pcHeader );
 | 
				
			||||||
	vTaskList( pcWriteBuffer + strlen( pcHeader ) );
 | 
						vTaskList( pcWriteBuffer + strlen( pcHeader ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* There is no more data to return after this single string, so return 
 | 
						/* There is no more data to return after this single string, so return
 | 
				
			||||||
	pdFALSE. */
 | 
						pdFALSE. */
 | 
				
			||||||
	return pdFALSE;
 | 
						return pdFALSE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -354,7 +375,7 @@ const char * const pcHeader = "Task            Abs Time      % Time\r\n*********
 | 
				
			||||||
	strcpy( pcWriteBuffer, pcHeader );
 | 
						strcpy( pcWriteBuffer, pcHeader );
 | 
				
			||||||
	vTaskGetRunTimeStats( pcWriteBuffer + strlen( pcHeader ) );
 | 
						vTaskGetRunTimeStats( pcWriteBuffer + strlen( pcHeader ) );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* There is no more data to return after this single string, so return 
 | 
						/* There is no more data to return after this single string, so return
 | 
				
			||||||
	pdFALSE. */
 | 
						pdFALSE. */
 | 
				
			||||||
	return pdFALSE;
 | 
						return pdFALSE;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -134,8 +134,8 @@ vector 27. */
 | 
				
			||||||
/* The critical nesting functions defined within tasks.c. */
 | 
					/* The critical nesting functions defined within tasks.c. */
 | 
				
			||||||
extern void vTaskEnterCritical( void );
 | 
					extern void vTaskEnterCritical( void );
 | 
				
			||||||
extern void vTaskExitCritical( void );
 | 
					extern void vTaskExitCritical( void );
 | 
				
			||||||
#define portENTER_CRITICAL()	vTaskEnterCritical();
 | 
					#define portENTER_CRITICAL()	vTaskEnterCritical()
 | 
				
			||||||
#define portEXIT_CRITICAL()		vTaskExitCritical();
 | 
					#define portEXIT_CRITICAL()		vTaskExitCritical()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* As this port allows interrupt nesting... */
 | 
					/* As this port allows interrupt nesting... */
 | 
				
			||||||
unsigned long ulPortGetIPL( void ) __attribute__((naked));
 | 
					unsigned long ulPortGetIPL( void ) __attribute__((naked));
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -73,7 +73,7 @@
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*-----------------------------------------------------------
 | 
					/*-----------------------------------------------------------
 | 
				
			||||||
 * Implementation of functions defined in portable.h for the SH2A port.
 | 
					 * Implementation of functions defined in portable.h for the RX200 port.
 | 
				
			||||||
 *----------------------------------------------------------*/
 | 
					 *----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Scheduler includes. */
 | 
					/* Scheduler includes. */
 | 
				
			||||||
| 
						 | 
					@ -137,8 +137,10 @@ extern void vTaskSwitchContext( void );
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
 | 
					portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
 | 
						/* Offset to end up on 8 byte boundary. */
 | 
				
			||||||
 | 
						pxTopOfStack--;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* R0 is not included as it is the stack pointer. */
 | 
						/* R0 is not included as it is the stack pointer. */
 | 
				
			||||||
	
 | 
					 | 
				
			||||||
	*pxTopOfStack = 0x00;
 | 
						*pxTopOfStack = 0x00;
 | 
				
			||||||
	pxTopOfStack--;
 | 
						pxTopOfStack--;
 | 
				
			||||||
    *pxTopOfStack = 0x00;
 | 
					    *pxTopOfStack = 0x00;
 | 
				
			||||||
| 
						 | 
					@ -146,16 +148,16 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE
 | 
				
			||||||
 	*pxTopOfStack = portINITIAL_PSW;
 | 
					 	*pxTopOfStack = portINITIAL_PSW;
 | 
				
			||||||
	pxTopOfStack--;
 | 
						pxTopOfStack--;
 | 
				
			||||||
	*pxTopOfStack = ( portSTACK_TYPE ) pxCode;
 | 
						*pxTopOfStack = ( portSTACK_TYPE ) pxCode;
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	/* When debugging it can be useful if every register is set to a known
 | 
						/* When debugging it can be useful if every register is set to a known
 | 
				
			||||||
	value.  Otherwise code space can be saved by just setting the registers
 | 
						value.  Otherwise code space can be saved by just setting the registers
 | 
				
			||||||
	that need to be set. */
 | 
						that need to be set. */
 | 
				
			||||||
	#ifdef USE_FULL_REGISTER_INITIALISATION
 | 
						#ifdef USE_FULL_REGISTER_INITIALISATION
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		pxTopOfStack--;
 | 
							pxTopOfStack--;
 | 
				
			||||||
		*pxTopOfStack = 0xffffffff;	/* r15. */
 | 
							*pxTopOfStack = 0x12345678;	/* r15. */
 | 
				
			||||||
		pxTopOfStack--;
 | 
							pxTopOfStack--;
 | 
				
			||||||
		*pxTopOfStack = 0xeeeeeeee;
 | 
							*pxTopOfStack = 0xaaaabbbb;
 | 
				
			||||||
		pxTopOfStack--;
 | 
							pxTopOfStack--;
 | 
				
			||||||
		*pxTopOfStack = 0xdddddddd;
 | 
							*pxTopOfStack = 0xdddddddd;
 | 
				
			||||||
		pxTopOfStack--;
 | 
							pxTopOfStack--;
 | 
				
			||||||
| 
						 | 
					@ -271,7 +273,9 @@ void vTickISR( void )
 | 
				
			||||||
	
 | 
						
 | 
				
			||||||
	/* Only select a new task if the preemptive scheduler is being used. */
 | 
						/* Only select a new task if the preemptive scheduler is being used. */
 | 
				
			||||||
	#if( configUSE_PREEMPTION == 1 )
 | 
						#if( configUSE_PREEMPTION == 1 )
 | 
				
			||||||
 | 
						{
 | 
				
			||||||
		taskYIELD();
 | 
							taskYIELD();
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	#endif
 | 
						#endif
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -56,24 +56,24 @@
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
 | 
				
			||||||
    license and Real Time Engineers Ltd. contact details.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
    fully thread aware and reentrant UDP/IP stack.
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
 | 
				
			||||||
    Integrity Systems, who sell the code with commercial support, 
 | 
					    Integrity Systems, who sell the code with commercial support,
 | 
				
			||||||
    indemnification and middleware, under the OpenRTOS brand.
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
 | 
				
			||||||
    engineered and independently SIL3 certified version for use in safety and 
 | 
					    engineered and independently SIL3 certified version for use in safety and
 | 
				
			||||||
    mission critical applications that require provable dependability.
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*-----------------------------------------------------------
 | 
					/*-----------------------------------------------------------
 | 
				
			||||||
 * Implementation of functions defined in portable.h for the SH2A port.
 | 
					 * Implementation of functions defined in portable.h for the RX600 port.
 | 
				
			||||||
 *----------------------------------------------------------*/
 | 
					 *----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Scheduler includes. */
 | 
					/* Scheduler includes. */
 | 
				
			||||||
| 
						 | 
					@ -88,7 +88,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* Tasks should start with interrupts enabled and in Supervisor mode, therefore 
 | 
					/* Tasks should start with interrupts enabled and in Supervisor mode, therefore
 | 
				
			||||||
PSW is set with U and I set, and PM and IPL clear. */
 | 
					PSW is set with U and I set, and PM and IPL clear. */
 | 
				
			||||||
#define portINITIAL_PSW     ( ( portSTACK_TYPE ) 0x00030000 )
 | 
					#define portINITIAL_PSW     ( ( portSTACK_TYPE ) 0x00030000 )
 | 
				
			||||||
#define portINITIAL_FPSW    ( ( portSTACK_TYPE ) 0x00000100 )
 | 
					#define portINITIAL_FPSW    ( ( portSTACK_TYPE ) 0x00000100 )
 | 
				
			||||||
| 
						 | 
					@ -105,7 +105,7 @@ const portBASE_TYPE * p_vSoftwareInterruptEntry = &vSoftwareInterruptEntry;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * Function to start the first task executing - written in asm code as direct
 | 
					 * Function to start the first task executing - written in asm code as direct
 | 
				
			||||||
 * access to registers is required. 
 | 
					 * access to registers is required.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
static void prvStartFirstTask( void );
 | 
					static void prvStartFirstTask( void );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -118,7 +118,7 @@ static void prvYieldHandler( void );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*
 | 
					/*
 | 
				
			||||||
 * The entry point for the software interrupt handler.  This is the function
 | 
					 * The entry point for the software interrupt handler.  This is the function
 | 
				
			||||||
 * that calls the inline asm function prvYieldHandler().  It is installed in 
 | 
					 * that calls the inline asm function prvYieldHandler().  It is installed in
 | 
				
			||||||
 * the vector table, but the code that installs it is in prvYieldHandler rather
 | 
					 * the vector table, but the code that installs it is in prvYieldHandler rather
 | 
				
			||||||
 * than using a #pragma.
 | 
					 * than using a #pragma.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
| 
						 | 
					@ -133,19 +133,19 @@ extern void vTaskSwitchContext( void );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/* 
 | 
					/*
 | 
				
			||||||
 * See header file for description. 
 | 
					 * See header file for description.
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
 | 
					portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE pxCode, void *pvParameters )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	/* R0 is not included as it is the stack pointer. */
 | 
						/* R0 is not included as it is the stack pointer. */
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	*pxTopOfStack = 0x00;
 | 
						*pxTopOfStack = 0x00;
 | 
				
			||||||
	pxTopOfStack--;
 | 
						pxTopOfStack--;
 | 
				
			||||||
 	*pxTopOfStack = portINITIAL_PSW;
 | 
					 	*pxTopOfStack = portINITIAL_PSW;
 | 
				
			||||||
	pxTopOfStack--;
 | 
						pxTopOfStack--;
 | 
				
			||||||
	*pxTopOfStack = ( portSTACK_TYPE ) pxCode;
 | 
						*pxTopOfStack = ( portSTACK_TYPE ) pxCode;
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	/* When debugging it can be useful if every register is set to a known
 | 
						/* When debugging it can be useful if every register is set to a known
 | 
				
			||||||
	value.  Otherwise code space can be saved by just setting the registers
 | 
						value.  Otherwise code space can be saved by just setting the registers
 | 
				
			||||||
	that need to be set. */
 | 
						that need to be set. */
 | 
				
			||||||
| 
						 | 
					@ -186,9 +186,9 @@ portSTACK_TYPE *pxPortInitialiseStack( portSTACK_TYPE *pxTopOfStack, pdTASK_CODE
 | 
				
			||||||
		pxTopOfStack -= 15;
 | 
							pxTopOfStack -= 15;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	#endif
 | 
						#endif
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	*pxTopOfStack = ( portSTACK_TYPE ) pvParameters; /* R1 */
 | 
						*pxTopOfStack = ( portSTACK_TYPE ) pvParameters; /* R1 */
 | 
				
			||||||
	pxTopOfStack--;				
 | 
						pxTopOfStack--;
 | 
				
			||||||
	*pxTopOfStack = portINITIAL_FPSW;
 | 
						*pxTopOfStack = portINITIAL_FPSW;
 | 
				
			||||||
	pxTopOfStack--;
 | 
						pxTopOfStack--;
 | 
				
			||||||
	*pxTopOfStack = 0x12345678; /* Accumulator. */
 | 
						*pxTopOfStack = 0x12345678; /* Accumulator. */
 | 
				
			||||||
| 
						 | 
					@ -207,19 +207,19 @@ extern void vApplicationSetupTimerInterrupt( void );
 | 
				
			||||||
	if( pxCurrentTCB != NULL )
 | 
						if( pxCurrentTCB != NULL )
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		/* Call an application function to set up the timer that will generate the
 | 
							/* Call an application function to set up the timer that will generate the
 | 
				
			||||||
		tick interrupt.  This way the application can decide which peripheral to 
 | 
							tick interrupt.  This way the application can decide which peripheral to
 | 
				
			||||||
		use.  A demo application is provided to show a suitable example. */
 | 
							use.  A demo application is provided to show a suitable example. */
 | 
				
			||||||
		vApplicationSetupTimerInterrupt();
 | 
							vApplicationSetupTimerInterrupt();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		/* Enable the software interrupt. */		
 | 
							/* Enable the software interrupt. */
 | 
				
			||||||
		_IEN( _ICU_SWINT ) = 1;
 | 
							_IEN( _ICU_SWINT ) = 1;
 | 
				
			||||||
		
 | 
					
 | 
				
			||||||
		/* Ensure the software interrupt is clear. */
 | 
							/* Ensure the software interrupt is clear. */
 | 
				
			||||||
		_IR( _ICU_SWINT ) = 0;
 | 
							_IR( _ICU_SWINT ) = 0;
 | 
				
			||||||
		
 | 
					
 | 
				
			||||||
		/* Ensure the software interrupt is set to the kernel priority. */
 | 
							/* Ensure the software interrupt is set to the kernel priority. */
 | 
				
			||||||
		_IPR( _ICU_SWINT ) = configKERNEL_INTERRUPT_PRIORITY;
 | 
							_IPR( _ICU_SWINT ) = configKERNEL_INTERRUPT_PRIORITY;
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
		/* Start the first task. */
 | 
							/* Start the first task. */
 | 
				
			||||||
		prvStartFirstTask();
 | 
							prvStartFirstTask();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -240,13 +240,13 @@ static void prvStartFirstTask( void )
 | 
				
			||||||
	Just ensure the current stack is the user stack. */
 | 
						Just ensure the current stack is the user stack. */
 | 
				
			||||||
	SETPSW	U
 | 
						SETPSW	U
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Obtain the location of the stack associated with which ever task 
 | 
						/* Obtain the location of the stack associated with which ever task
 | 
				
			||||||
	pxCurrentTCB is currently pointing to. */
 | 
						pxCurrentTCB is currently pointing to. */
 | 
				
			||||||
	MOV.L	#_pxCurrentTCB, R15
 | 
						MOV.L	#_pxCurrentTCB, R15
 | 
				
			||||||
	MOV.L	[R15], R15
 | 
						MOV.L	[R15], R15
 | 
				
			||||||
	MOV.L	[R15], R0
 | 
						MOV.L	[R15], R0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Restore the registers from the stack of the task pointed to by 
 | 
						/* Restore the registers from the stack of the task pointed to by
 | 
				
			||||||
	pxCurrentTCB. */
 | 
						pxCurrentTCB. */
 | 
				
			||||||
    POP		R15
 | 
					    POP		R15
 | 
				
			||||||
    MVTACLO	R15 		/* Accumulator low 32 bits. */
 | 
					    MVTACLO	R15 		/* Accumulator low 32 bits. */
 | 
				
			||||||
| 
						 | 
					@ -271,7 +271,7 @@ void vTickISR( void )
 | 
				
			||||||
		vTaskIncrementTick();
 | 
							vTaskIncrementTick();
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	set_ipl( configKERNEL_INTERRUPT_PRIORITY );
 | 
						set_ipl( configKERNEL_INTERRUPT_PRIORITY );
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	/* Only select a new task if the preemptive scheduler is being used. */
 | 
						/* Only select a new task if the preemptive scheduler is being used. */
 | 
				
			||||||
	#if( configUSE_PREEMPTION == 1 )
 | 
						#if( configUSE_PREEMPTION == 1 )
 | 
				
			||||||
		taskYIELD();
 | 
							taskYIELD();
 | 
				
			||||||
| 
						 | 
					@ -292,18 +292,18 @@ static void prvYieldHandler( void )
 | 
				
			||||||
	SETPSW	I
 | 
						SETPSW	I
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Move the data that was automatically pushed onto the interrupt stack when
 | 
						/* Move the data that was automatically pushed onto the interrupt stack when
 | 
				
			||||||
	the interrupt occurred from the interrupt stack to the user stack.  
 | 
						the interrupt occurred from the interrupt stack to the user stack.
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	R15 is saved before it is clobbered. */
 | 
						R15 is saved before it is clobbered. */
 | 
				
			||||||
	PUSH.L	R15
 | 
						PUSH.L	R15
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	/* Read the user stack pointer. */
 | 
						/* Read the user stack pointer. */
 | 
				
			||||||
	MVFC	USP, R15
 | 
						MVFC	USP, R15
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	/* Move the address down to the data being moved. */
 | 
						/* Move the address down to the data being moved. */
 | 
				
			||||||
	SUB		#12, R15
 | 
						SUB		#12, R15
 | 
				
			||||||
	MVTC	R15, USP
 | 
						MVTC	R15, USP
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	/* Copy the data across. */
 | 
						/* Copy the data across. */
 | 
				
			||||||
	MOV.L	[ R0 ], [ R15 ] ; R15
 | 
						MOV.L	[ R0 ], [ R15 ] ; R15
 | 
				
			||||||
	MOV.L 	4[ R0 ], 4[ R15 ]  ; PC
 | 
						MOV.L 	4[ R0 ], 4[ R15 ]  ; PC
 | 
				
			||||||
| 
						 | 
					@ -311,13 +311,13 @@ static void prvYieldHandler( void )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Move the interrupt stack pointer to its new correct position. */
 | 
						/* Move the interrupt stack pointer to its new correct position. */
 | 
				
			||||||
	ADD	#12, R0
 | 
						ADD	#12, R0
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	/* All the rest of the registers are saved directly to the user stack. */
 | 
						/* All the rest of the registers are saved directly to the user stack. */
 | 
				
			||||||
	SETPSW	U
 | 
						SETPSW	U
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	/* Save the rest of the general registers (R15 has been saved already). */
 | 
						/* Save the rest of the general registers (R15 has been saved already). */
 | 
				
			||||||
	PUSHM	R1-R14
 | 
						PUSHM	R1-R14
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	/* Save the FPSW and accumulator. */
 | 
						/* Save the FPSW and accumulator. */
 | 
				
			||||||
	MVFC	FPSW, R15
 | 
						MVFC	FPSW, R15
 | 
				
			||||||
	PUSH.L	R15
 | 
						PUSH.L	R15
 | 
				
			||||||
| 
						 | 
					@ -331,7 +331,7 @@ static void prvYieldHandler( void )
 | 
				
			||||||
	MOV.L	#_pxCurrentTCB, R15
 | 
						MOV.L	#_pxCurrentTCB, R15
 | 
				
			||||||
	MOV.L	[ R15 ], R15
 | 
						MOV.L	[ R15 ], R15
 | 
				
			||||||
	MOV.L	R0, [ R15 ]
 | 
						MOV.L	R0, [ R15 ]
 | 
				
			||||||
			
 | 
					
 | 
				
			||||||
	/* Ensure the interrupt mask is set to the syscall priority while the kernel
 | 
						/* Ensure the interrupt mask is set to the syscall priority while the kernel
 | 
				
			||||||
	structures are being accessed. */
 | 
						structures are being accessed. */
 | 
				
			||||||
	MVTIPL	#configMAX_SYSCALL_INTERRUPT_PRIORITY
 | 
						MVTIPL	#configMAX_SYSCALL_INTERRUPT_PRIORITY
 | 
				
			||||||
| 
						 | 
					@ -366,7 +366,7 @@ static void prvYieldHandler( void )
 | 
				
			||||||
void vPortEndScheduler( void )
 | 
					void vPortEndScheduler( void )
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
	/* Not implemented as there is nothing to return to. */
 | 
						/* Not implemented as there is nothing to return to. */
 | 
				
			||||||
	
 | 
					
 | 
				
			||||||
	/* The following line is just to prevent the symbol getting optimised away. */
 | 
						/* The following line is just to prevent the symbol getting optimised away. */
 | 
				
			||||||
	( void ) vTaskSwitchContext();
 | 
						( void ) vTaskSwitchContext();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1314,7 +1314,7 @@ static void prvCopyDataToQueue( xQUEUE *pxQueue, const void *pvItemToQueue, port
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else if( xPosition == queueSEND_TO_BACK )
 | 
						else if( xPosition == queueSEND_TO_BACK )
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		memcpy( ( void * ) pxQueue->pcWriteTo, pvItemToQueue, ( unsigned ) pxQueue->uxItemSize );
 | 
							memcpy( ( void * ) pxQueue->pcWriteTo, pvItemToQueue, ( size_t ) pxQueue->uxItemSize );
 | 
				
			||||||
		pxQueue->pcWriteTo += pxQueue->uxItemSize;
 | 
							pxQueue->pcWriteTo += pxQueue->uxItemSize;
 | 
				
			||||||
		if( pxQueue->pcWriteTo >= pxQueue->pcTail )
 | 
							if( pxQueue->pcWriteTo >= pxQueue->pcTail )
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
| 
						 | 
					@ -1323,7 +1323,7 @@ static void prvCopyDataToQueue( xQUEUE *pxQueue, const void *pvItemToQueue, port
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	else
 | 
						else
 | 
				
			||||||
	{
 | 
						{
 | 
				
			||||||
		memcpy( ( void * ) pxQueue->pcReadFrom, pvItemToQueue, ( unsigned ) pxQueue->uxItemSize );
 | 
							memcpy( ( void * ) pxQueue->pcReadFrom, pvItemToQueue, ( size_t ) pxQueue->uxItemSize );
 | 
				
			||||||
		pxQueue->pcReadFrom -= pxQueue->uxItemSize;
 | 
							pxQueue->pcReadFrom -= pxQueue->uxItemSize;
 | 
				
			||||||
		if( pxQueue->pcReadFrom < pxQueue->pcHead )
 | 
							if( pxQueue->pcReadFrom < pxQueue->pcHead )
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
| 
						 | 
					@ -1344,7 +1344,7 @@ static void prvCopyDataFromQueue( xQUEUE * const pxQueue, const void *pvBuffer )
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
			pxQueue->pcReadFrom = pxQueue->pcHead;
 | 
								pxQueue->pcReadFrom = pxQueue->pcHead;
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		memcpy( ( void * ) pvBuffer, ( void * ) pxQueue->pcReadFrom, ( unsigned ) pxQueue->uxItemSize );
 | 
							memcpy( ( void * ) pvBuffer, ( void * ) pxQueue->pcReadFrom, ( size_t ) pxQueue->uxItemSize );
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
/*-----------------------------------------------------------*/
 | 
					/*-----------------------------------------------------------*/
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -56,19 +56,19 @@
 | 
				
			||||||
    ***************************************************************************
 | 
					    ***************************************************************************
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org - Documentation, books, training, latest versions, 
 | 
					    http://www.FreeRTOS.org - Documentation, books, training, latest versions,
 | 
				
			||||||
    license and Real Time Engineers Ltd. contact details.
 | 
					    license and Real Time Engineers Ltd. contact details.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
					    http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 | 
				
			||||||
    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
					    including FreeRTOS+Trace - an indispensable productivity tool, and our new
 | 
				
			||||||
    fully thread aware and reentrant UDP/IP stack.
 | 
					    fully thread aware and reentrant UDP/IP stack.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High 
 | 
					    http://www.OpenRTOS.com - Real Time Engineers ltd license FreeRTOS to High
 | 
				
			||||||
    Integrity Systems, who sell the code with commercial support, 
 | 
					    Integrity Systems, who sell the code with commercial support,
 | 
				
			||||||
    indemnification and middleware, under the OpenRTOS brand.
 | 
					    indemnification and middleware, under the OpenRTOS brand.
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    http://www.SafeRTOS.com - High Integrity Systems also provide a safety 
 | 
					    http://www.SafeRTOS.com - High Integrity Systems also provide a safety
 | 
				
			||||||
    engineered and independently SIL3 certified version for use in safety and 
 | 
					    engineered and independently SIL3 certified version for use in safety and
 | 
				
			||||||
    mission critical applications that require provable dependability.
 | 
					    mission critical applications that require provable dependability.
 | 
				
			||||||
*/
 | 
					*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -204,7 +204,7 @@ PRIVILEGED_DATA static volatile portTickType xNextTaskUnblockTime				= ( portTic
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	PRIVILEGED_DATA static char pcStatsString[ 50 ] ;
 | 
						PRIVILEGED_DATA static char pcStatsString[ 50 ] ;
 | 
				
			||||||
	PRIVILEGED_DATA static unsigned long ulTaskSwitchedInTime = 0UL;	/*< Holds the value of a timer/counter the last time a task was switched in. */
 | 
						PRIVILEGED_DATA static unsigned long ulTaskSwitchedInTime = 0UL;	/*< Holds the value of a timer/counter the last time a task was switched in. */
 | 
				
			||||||
	PRIVILEGED_DATA static unsigned long ulTotalRunTime;				/*< Holds the total amount of execution time as defined by the run time counter clock. */
 | 
						PRIVILEGED_DATA static unsigned long ulTotalRunTime = 0UL;				/*< Holds the total amount of execution time as defined by the run time counter clock. */
 | 
				
			||||||
	static void prvGenerateRunTimeStatsForTasksInList( const signed char *pcWriteBuffer, xList *pxList, unsigned long ulTotalRunTimeDiv100 ) PRIVILEGED_FUNCTION;
 | 
						static void prvGenerateRunTimeStatsForTasksInList( const signed char *pcWriteBuffer, xList *pxList, unsigned long ulTotalRunTimeDiv100 ) PRIVILEGED_FUNCTION;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					@ -709,6 +709,14 @@ tskTCB * pxNewTCB;
 | 
				
			||||||
			if( ( void * ) xTaskToDelete == NULL )
 | 
								if( ( void * ) xTaskToDelete == NULL )
 | 
				
			||||||
			{
 | 
								{
 | 
				
			||||||
				portYIELD_WITHIN_API();
 | 
									portYIELD_WITHIN_API();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									/* Ensure the task goes no further if it takes a few
 | 
				
			||||||
 | 
									instructions for the yield to occur. */
 | 
				
			||||||
 | 
									for( ;; )
 | 
				
			||||||
 | 
									{
 | 
				
			||||||
 | 
										/* Nothing to do here, just ensuring the task does not
 | 
				
			||||||
 | 
										execute further before the yield has taken effect. */
 | 
				
			||||||
 | 
									}
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
| 
						 | 
					@ -1030,13 +1038,13 @@ tskTCB * pxNewTCB;
 | 
				
			||||||
				{
 | 
									{
 | 
				
			||||||
					portYIELD_WITHIN_API();
 | 
										portYIELD_WITHIN_API();
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									/* Remove compiler warning about unused variables when the port
 | 
				
			||||||
 | 
									optimised task selection is not being used. */
 | 
				
			||||||
 | 
									( void ) uxPriorityUsedOnEntry;
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		taskEXIT_CRITICAL();
 | 
							taskEXIT_CRITICAL();
 | 
				
			||||||
 | 
					 | 
				
			||||||
		/* Remove compiler warning about unused parameter when the port
 | 
					 | 
				
			||||||
		optimised task selection is not being used. */
 | 
					 | 
				
			||||||
		( void ) uxPriorityUsedOnEntry;
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif /* INCLUDE_vTaskPrioritySet */
 | 
					#endif /* INCLUDE_vTaskPrioritySet */
 | 
				
			||||||
| 
						 | 
					@ -2151,6 +2159,7 @@ static portTASK_FUNCTION( prvIdleTask, pvParameters )
 | 
				
			||||||
		#if ( configUSE_TICKLESS_IDLE != 0 )
 | 
							#if ( configUSE_TICKLESS_IDLE != 0 )
 | 
				
			||||||
		{
 | 
							{
 | 
				
			||||||
		portTickType xExpectedIdleTime;
 | 
							portTickType xExpectedIdleTime;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			/* It is not desirable to suspend then resume the scheduler on
 | 
								/* It is not desirable to suspend then resume the scheduler on
 | 
				
			||||||
			each iteration of the idle task.  Therefore, a preliminary
 | 
								each iteration of the idle task.  Therefore, a preliminary
 | 
				
			||||||
			test of the expected idle time is performed without the
 | 
								test of the expected idle time is performed without the
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue