/* FreeRTOS.org V5.0.3 - Copyright (C) 2003-2008 Richard Barry. This file is part of the FreeRTOS.org distribution. FreeRTOS.org is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. FreeRTOS.org 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 along with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA A special exception to the GPL can be applied should you wish to distribute a combined work that includes FreeRTOS.org, without being obliged to provide the source code for any proprietary components. See the licensing section of http://www.FreeRTOS.org for full details of how and when the exception can be applied. *************************************************************************** *************************************************************************** * * * SAVE TIME AND MONEY! We can port FreeRTOS.org to your own hardware, * * and even write all or part of your application on your behalf. * * See http://www.OpenRTOS.com for details of the services we provide to * * expedite your project. * * * *************************************************************************** *************************************************************************** Please ensure to read the configuration and relevant port sections of the online documentation. 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 /*----------------------------------------------------------- * 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 configUSE_TICK_HOOK 0 #define configCPU_CLOCK_HZ ( ( unsigned portLONG ) 72000000 ) #define configTICK_RATE_HZ ( ( portTickType ) 1000 ) #define configMINIMAL_STACK_SIZE ( ( unsigned portSHORT ) 70 ) #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 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 #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 5 ) #define configMAX_CO_ROUTINE_PRIORITIES ( 2 ) /* 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 /* 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 200 /* 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) ) #define TMR0_BASE_ADDR 0x40004000 #define T0TCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x04)) #define T0CTCR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x70)) #define T0PR (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x0C)) #define T0TC (*(volatile unsigned long *)(TMR0_BASE_ADDR + 0x08)) #define TCR_COUNT_RESET ( 0x02 ) #define TCR_COUNT_ENABLE ( 0x01 ) #define CTCR_CTM_TIMER ( 0x00 ) #define _PCLKSEL0 (*(volatile unsigned long *)(SCB_BASE_ADDR + 0x1A8)) extern void vConfigureTimerForRunTimeStats( void ); #define portCONFIGURE_TIMER_FOR_RUN_TIME_STATS() vConfigureTimerForRunTimeStats() #define portGET_RUN_TIME_COUNTER_VALUE() T0TC typedef struct { long xColumn; char *pcMessage; } xLCDMessage; #endif /* FREERTOS_CONFIG_H */