| /* |
| FreeRTOS V6.0.5 - Copyright (C) 2010 Real Time Engineers Ltd. |
| |
| *************************************************************************** |
| * * |
| * If you are: * |
| * * |
| * + New to FreeRTOS, * |
| * + Wanting to learn FreeRTOS or multitasking in general quickly * |
| * + Looking for basic training, * |
| * + Wanting to improve your FreeRTOS skills and productivity * |
| * * |
| * then take a look at the FreeRTOS eBook * |
| * * |
| * "Using the FreeRTOS Real Time Kernel - a Practical Guide" * |
| * http://www.FreeRTOS.org/Documentation * |
| * * |
| * A pdf reference manual is also available. Both are usually delivered * |
| * to your inbox within 20 minutes to two hours when purchased between 8am * |
| * and 8pm GMT (although please allow up to 24 hours in case of * |
| * exceptional circumstances). Thank you for your support! * |
| * * |
| *************************************************************************** |
| |
| 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 exception 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. See the GNU General Public License for |
| more details. You should have received a copy of the GNU General Public |
| License and the FreeRTOS license exception along with FreeRTOS; if not it |
| can be viewed here: http://www.freertos.org/a00114.html and also obtained |
| by writing to Richard Barry, contact details for whom are available on the |
| FreeRTOS WEB site. |
| |
| 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 FREERTOS_CONFIG_H |
| #define FREERTOS_CONFIG_H |
| |
| #include "LPC17xx.h" |
| |
| /*----------------------------------------------------------- |
| * Application specific definitions. |
| * |
| * These definitions should be adjusted for your particular hardware and |
| * application requirements. |
| * |
| * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE |
| * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE. |
| *----------------------------------------------------------*/ |
| |
| #define configUSE_PREEMPTION 1 |
| #define configUSE_IDLE_HOOK 0 |
| #define configMAX_PRIORITIES ((unsigned portBASE_TYPE) 5) |
| #define configUSE_TICK_HOOK 1 |
| #define configCPU_CLOCK_HZ ((unsigned long) 100000000) |
| #define configTICK_RATE_HZ ((portTickType ) 1000) |
| #define configMINIMAL_STACK_SIZE ((unsigned short) 80) |
| #define configTOTAL_HEAP_SIZE ((size_t) (19 * 1024)) |
| #define configMAX_TASK_NAME_LEN (12) |
| #define configUSE_TRACE_FACILITY 1 |
| #define configUSE_16_BIT_TICKS 0 |
| #define configIDLE_SHOULD_YIELD 0 |
| #define configUSE_CO_ROUTINES 0 |
| #define configUSE_MUTEXES 1 |
| |
| #define configMAX_CO_ROUTINE_PRIORITIES (2) |
| |
| #define configUSE_COUNTING_SEMAPHORES 0 |
| #define configUSE_ALTERNATIVE_API 0 |
| #define configCHECK_FOR_STACK_OVERFLOW 2 |
| #define configUSE_RECURSIVE_MUTEXES 1 |
| #define configQUEUE_REGISTRY_SIZE 10 |
| #define configGENERATE_RUN_TIME_STATS 1 |
| |
| /* Set the following definitions to 1 to include the API function, or zero |
| to exclude the API function. */ |
| |
| #define INCLUDE_vTaskPrioritySet 1 |
| #define INCLUDE_uxTaskPriorityGet 1 |
| #define INCLUDE_vTaskDelete 1 |
| #define INCLUDE_vTaskCleanUpResources 0 |
| #define INCLUDE_vTaskSuspend 1 |
| #define INCLUDE_vTaskDelayUntil 1 |
| #define INCLUDE_vTaskDelay 1 |
| #define INCLUDE_uxTaskGetStackHighWaterMark 1 |
| |
| /*----------------------------------------------------------- |
| * Ethernet configuration. |
| *-----------------------------------------------------------*/ |
| |
| /* MAC address configuration. */ |
| #define configMAC_ADDR0 0x00 |
| #define configMAC_ADDR1 0x12 |
| #define configMAC_ADDR2 0x13 |
| #define configMAC_ADDR3 0x10 |
| #define configMAC_ADDR4 0x15 |
| #define configMAC_ADDR5 0x11 |
| |
| /* IP address configuration. */ |
| #define configIP_ADDR0 192 |
| #define configIP_ADDR1 168 |
| #define configIP_ADDR2 0 |
| #define configIP_ADDR3 201 |
| |
| /* Netmask configuration. */ |
| #define configNET_MASK0 255 |
| #define configNET_MASK1 255 |
| #define configNET_MASK2 255 |
| #define configNET_MASK3 0 |
| |
| /* Use the system definition, if there is one */ |
| #ifdef __NVIC_PRIO_BITS |
| #define configPRIO_BITS __NVIC_PRIO_BITS |
| #else |
| #define configPRIO_BITS 5 /* 32 priority levels */ |
| #endif |
| |
| /* The lowest priority. */ |
| #define configKERNEL_INTERRUPT_PRIORITY (31 << (8 - configPRIO_BITS)) |
| /* Priority 5, or 160 as only the top three bits are implemented. */ |
| #define configMAX_SYSCALL_INTERRUPT_PRIORITY (5 << (8 - configPRIO_BITS)) |
| |
| /* Priorities passed to NVIC_SetPriority() do not require shifting as the |
| function does the shifting itself. Note these priorities need to be equal to |
| or lower than configMAX_SYSCALL_INTERRUPT_PRIORITY - therefore the numeric |
| value needs to be equal to or greater than 5 (on the Cortex M3 the lower the |
| numeric value the higher the interrupt priority). */ |
| #define configEMAC_INTERRUPT_PRIORITY 5 |
| #define configCAN_INTERRUPT_PRIORITY 5 |
| #define configUSB_INTERRUPT_PRIORITY 6 |
| |
| |
| |
| /*----------------------------------------------------------- |
| * Macros required to setup the timer for the run time stats. |
| *-----------------------------------------------------------*/ |
| extern void vConfigureTimerForRunTimeStats(void); |
| #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vConfigureTimerForRunTimeStats() |
| #define portGET_RUN_TIME_COUNTER_VALUE() TIM0->TC |
| |
| #endif /* FREERTOS_CONFIG_H */ |