NXP LPC LWIP port documentation  v1.10
LWIP port for LPC devices
C:/dev/git/lwip_work/lpc43xx/lwip_lpc/nxpcommon/examples/lpc177x_8x/ea1788/ea1788_tcpecho_freertos/source/FreeRTOSConfig.h
00001 /*
00002     FreeRTOS V7.1.0 - Copyright (C) 2011 Real Time Engineers Ltd.
00003   
00004 
00005     ***************************************************************************
00006      *                                                                       *
00007      *    FreeRTOS tutorial books are available in pdf and paperback.        *
00008      *    Complete, revised, and edited pdf reference manuals are also       *
00009      *    available.                                                         *
00010      *                                                                       *
00011      *    Purchasing FreeRTOS documentation will not only help you, by       *
00012      *    ensuring you get running as quickly as possible and with an        *
00013      *    in-depth knowledge of how to use FreeRTOS, it will also help       *
00014      *    the FreeRTOS project to continue with its mission of providing     *
00015      *    professional grade, cross platform, de facto standard solutions    *
00016      *    for microcontrollers - completely free of charge!                  *
00017      *                                                                       *
00018      *    >>> See http://www.FreeRTOS.org/Documentation for details. <<<     *
00019      *                                                                       *
00020      *    Thank you for using FreeRTOS, and thank you for your support!      *
00021      *                                                                       *
00022     ***************************************************************************
00023 
00024 
00025     This file is part of the FreeRTOS distribution.
00026 
00027     FreeRTOS is free software; you can redistribute it and/or modify it under
00028     the terms of the GNU General Public License (version 2) as published by the
00029     Free Software Foundation AND MODIFIED BY the FreeRTOS exception.
00030     >>>NOTE<<< The modification to the GPL is included to allow you to
00031     distribute a combined work that includes FreeRTOS without being obliged to
00032     provide the source code for proprietary components outside of the FreeRTOS
00033     kernel.  FreeRTOS is distributed in the hope that it will be useful, but
00034     WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
00035     or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
00036     more details. You should have received a copy of the GNU General Public
00037     License and the FreeRTOS license exception along with FreeRTOS; if not it
00038     can be viewed here: http://www.freertos.org/a00114.html and also obtained
00039     by writing to Richard Barry, contact details for whom are available on the
00040     FreeRTOS WEB site.
00041 
00042     1 tab == 4 spaces!
00043 
00044     http://www.FreeRTOS.org - Documentation, latest information, license and
00045     contact details.
00046 
00047     http://www.SafeRTOS.com - A version that is certified for use in safety
00048     critical systems.
00049 
00050     http://www.OpenRTOS.com - Commercial support, development, porting,
00051     licensing and training services.
00052 */
00053 
00054 #ifndef FREERTOS_CONFIG_H
00055 #define FREERTOS_CONFIG_H
00056 
00057 #include "system_LPC177x_8x.h"
00058 
00059 /*-----------------------------------------------------------
00060  * Application specific definitions.
00061  *
00062  * These definitions should be adjusted for your particular hardware and
00063  * application requirements.
00064  *
00065  * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
00066  * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
00067  *----------------------------------------------------------*/
00068 
00069 #define configUSE_PREEMPTION    1
00070 #define configUSE_IDLE_HOOK     1
00071 #define configMAX_PRIORITIES    ( ( unsigned portBASE_TYPE ) 8 )
00072 #define configUSE_TICK_HOOK     1
00073 #define configCPU_CLOCK_HZ      ( ( unsigned long ) SystemCoreClock )
00074 #define configTICK_RATE_HZ      ( ( portTickType ) 1000 )
00075 #define configMINIMAL_STACK_SIZE  ( ( unsigned short ) 1024 )
00076 #define configTOTAL_HEAP_SIZE   ( ( size_t ) ( 0x00008000 ) )
00077 #define configMAX_TASK_NAME_LEN   ( 20 )
00078 #define configUSE_TRACE_FACILITY  1
00079 #define configUSE_16_BIT_TICKS    0
00080 #define configIDLE_SHOULD_YIELD   1
00081 #define configUSE_CO_ROUTINES     0
00082 #define configUSE_MUTEXES     1
00083 
00084 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
00085 
00086 #define configUSE_COUNTING_SEMAPHORES   1
00087 #define configUSE_ALTERNATIVE_API     0
00088 #define configCHECK_FOR_STACK_OVERFLOW  2
00089 #define configUSE_RECURSIVE_MUTEXES   1
00090 #define configQUEUE_REGISTRY_SIZE   10
00091 #define configGENERATE_RUN_TIME_STATS 0
00092 
00093 /* Set the following definitions to 1 to include the API function, or zero
00094 to exclude the API function. */
00095 
00096 #define INCLUDE_vTaskPrioritySet      1
00097 #define INCLUDE_uxTaskPriorityGet     1
00098 #define INCLUDE_vTaskDelete         1
00099 #define INCLUDE_vTaskCleanUpResources   0
00100 #define INCLUDE_vTaskSuspend        1
00101 #define INCLUDE_vTaskDelayUntil       1
00102 #define INCLUDE_vTaskDelay          1
00103 #define INCLUDE_uxTaskGetStackHighWaterMark 1
00104 
00105 /* Use the system definition, if there is one */
00106 #ifdef __NVIC_PRIO_BITS
00107   #define configPRIO_BITS       __NVIC_PRIO_BITS
00108 #else
00109   #define configPRIO_BITS       5        /* 32 priority levels */
00110 #endif
00111 
00112 /* The lowest priority. */
00113 #define configKERNEL_INTERRUPT_PRIORITY   ( 31 << (8 - configPRIO_BITS) )
00114 /* Priority 5, or 160 as only the top three bits are implemented. */
00115 #define configMAX_SYSCALL_INTERRUPT_PRIORITY  ( 5 << (8 - configPRIO_BITS) )
00116                           
00117 /*-----------------------------------------------------------
00118  * Macros required to setup the timer for the run time stats.
00119  *-----------------------------------------------------------*/
00120 #ifdef __ICCARM__
00121   #include "LPC17xx.h"
00122   extern void vConfigureTimerForRunTimeStats( void );
00123   #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vConfigureTimerForRunTimeStats()
00124   #define portGET_RUN_TIME_COUNTER_VALUE() TIM0->TC
00125 #endif
00126 
00127 
00128 #endif /* FREERTOS_CONFIG_H */