| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | 
							- /*
 
-     FreeRTOS V8.2.0 - Copyright (C) 2015 Real Time Engineers Ltd.
 
-     All rights reserved
 
-     VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
 
-     This file is part of the FreeRTOS distribution.
 
-     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
 
-     Free Software Foundation >>!AND MODIFIED BY!<< the FreeRTOS exception.
 
- 	***************************************************************************
 
-     >>!   NOTE: The modification to the GPL is included to allow you to     !<<
 
-     >>!   distribute a combined work that includes FreeRTOS without being   !<<
 
-     >>!   obliged to provide the source code for proprietary components     !<<
 
-     >>!   outside of the FreeRTOS kernel.                                   !<<
 
- 	***************************************************************************
 
-     FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
 
-     WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 
-     FOR A PARTICULAR PURPOSE.  Full license text is available on the following
 
-     link: http://www.freertos.org/a00114.html
 
-     ***************************************************************************
 
-      *                                                                       *
 
-      *    FreeRTOS provides completely free yet professionally developed,    *
 
-      *    robust, strictly quality controlled, supported, and cross          *
 
-      *    platform software that is more than just the market leader, it     *
 
-      *    is the industry's de facto standard.                               *
 
-      *                                                                       *
 
-      *    Help yourself get started quickly while simultaneously helping     *
 
-      *    to support the FreeRTOS project by purchasing a FreeRTOS           *
 
-      *    tutorial book, reference manual, or both:                          *
 
-      *    http://www.FreeRTOS.org/Documentation                              *
 
-      *                                                                       *
 
-     ***************************************************************************
 
-     http://www.FreeRTOS.org/FAQHelp.html - Having a problem?  Start by reading
 
- 	the FAQ page "My application does not run, what could be wrong?".  Have you
 
- 	defined configASSERT()?
 
- 	http://www.FreeRTOS.org/support - In return for receiving this top quality
 
- 	embedded software for free we request you assist our global community by
 
- 	participating in the support forum.
 
- 	http://www.FreeRTOS.org/training - Investing in training allows your team to
 
- 	be as productive as possible as early as possible.  Now you can receive
 
- 	FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
 
- 	Ltd, and the world's leading authority on the world's leading RTOS.
 
-     http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
 
-     including FreeRTOS+Trace - an indispensable productivity tool, a DOS
 
-     compatible FAT file system, and our tiny thread aware UDP/IP stack.
 
-     http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
 
-     Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
 
-     http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
 
-     Integrity Systems ltd. to sell under the OpenRTOS brand.  Low cost OpenRTOS
 
-     licenses offer ticketed support, indemnification and commercial middleware.
 
-     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 tab == 4 spaces!
 
- */
 
- /*
 
-  * Implementation of pvPortMalloc() and vPortFree() that relies on the
 
-  * compilers own malloc() and free() implementations.
 
-  *
 
-  * This file can only be used if the linker is configured to to generate
 
-  * a heap memory area.
 
-  *
 
-  * See heap_1.c, heap_2.c and heap_4.c for alternative implementations, and the
 
-  * memory management pages of http://www.FreeRTOS.org for more information.
 
-  */
 
- #include <stdlib.h>
 
- /* Defining MPU_WRAPPERS_INCLUDED_FROM_API_FILE prevents task.h from redefining
 
- all the API functions to use the MPU wrappers.  That should only be done when
 
- task.h is included from an application file. */
 
- #define MPU_WRAPPERS_INCLUDED_FROM_API_FILE
 
- #include "FreeRTOS.h"
 
- #include "task.h"
 
- #undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
 
- /*-----------------------------------------------------------*/
 
- void *pvPortMalloc( size_t xWantedSize )
 
- {
 
- void *pvReturn;
 
- 	vTaskSuspendAll();
 
- 	{
 
- 		pvReturn = malloc( xWantedSize );
 
- 		traceMALLOC( pvReturn, xWantedSize );
 
- 	}
 
- 	( void ) xTaskResumeAll();
 
- 	#if( configUSE_MALLOC_FAILED_HOOK == 1 )
 
- 	{
 
- 		if( pvReturn == NULL )
 
- 		{
 
- 			extern void vApplicationMallocFailedHook( void );
 
- 			vApplicationMallocFailedHook();
 
- 		}
 
- 	}
 
- 	#endif
 
- 	return pvReturn;
 
- }
 
- /*-----------------------------------------------------------*/
 
- void vPortFree( void *pv )
 
- {
 
- 	if( pv )
 
- 	{
 
- 		vTaskSuspendAll();
 
- 		{
 
- 			free( pv );
 
- 			traceFREE( pv, 0 );
 
- 		}
 
- 		( void ) xTaskResumeAll();
 
- 	}
 
- }
 
 
  |