]> git.sur5r.net Git - freertos/blob - Demo/NEC_78K0R_IAR/FreeRTOSConfig.h
Ready for V5.2.0 release.
[freertos] / Demo / NEC_78K0R_IAR / FreeRTOSConfig.h
1 /*\r
2         FreeRTOS.org V5.2.0 - Copyright (C) 2003-2009 Richard Barry.\r
3 \r
4         This file is part of the FreeRTOS.org distribution.\r
5 \r
6         FreeRTOS.org is free software; you can redistribute it and/or modify it \r
7         under the terms of the GNU General Public License (version 2) as published\r
8         by the Free Software Foundation and modified by the FreeRTOS exception.\r
9 \r
10         FreeRTOS.org is distributed in the hope that it will be useful, but WITHOUT\r
11         ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or \r
12         FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for \r
13         more details.\r
14 \r
15         You should have received a copy of the GNU General Public License along \r
16         with FreeRTOS.org; if not, write to the Free Software Foundation, Inc., 59 \r
17         Temple Place, Suite 330, Boston, MA  02111-1307  USA.\r
18 \r
19         A special exception to the GPL is included to allow you to distribute a \r
20         combined work that includes FreeRTOS.org without being obliged to provide\r
21         the source code for any proprietary components.  See the licensing section\r
22         of http://www.FreeRTOS.org for full details.\r
23 \r
24 \r
25         ***************************************************************************\r
26         *                                                                         *\r
27         * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *\r
28         *                                                                         *\r
29         * This is a concise, step by step, 'hands on' guide that describes both   *\r
30         * general multitasking concepts and FreeRTOS specifics. It presents and   *\r
31         * explains numerous examples that are written using the FreeRTOS API.     *\r
32         * Full source code for all the examples is provided in an accompanying    *\r
33         * .zip file.                                                              *\r
34         *                                                                         *\r
35         ***************************************************************************\r
36 \r
37         1 tab == 4 spaces!\r
38 \r
39         Please ensure to read the configuration and relevant port sections of the\r
40         online documentation.\r
41 \r
42         http://www.FreeRTOS.org - Documentation, latest information, license and\r
43         contact details.\r
44 \r
45         http://www.SafeRTOS.com - A version that is certified for use in safety\r
46         critical systems.\r
47 \r
48         http://www.OpenRTOS.com - Commercial support, development, porting,\r
49         licensing and training services.\r
50 */\r
51 \r
52 #ifndef FREERTOS_CONFIG_H\r
53 #define FREERTOS_CONFIG_H\r
54 \r
55 /*\r
56  * 78K0R Clock Source Configuration\r
57  * 1 = use internal High Speed Clock Source (typically 8Mhz on the 78K0R/Kx3)\r
58  * 0 = use external Clock Source\r
59  */\r
60 #define configCLOCK_SOURCE              0\r
61 \r
62 /*\r
63  * 78K0R Memory Model\r
64  * 1 = use far memory mode\r
65  * 0 = use near memory mode\r
66  *\r
67  * This setting must match the setting in the IAR project options.\r
68  */\r
69 #define configMEMORY_MODE               1\r
70 \r
71 /*\r
72  * Application specific definitions.\r
73  *\r
74  * These definitions should be adjusted for your particular hardware and\r
75  * application requirements.\r
76  *\r
77  * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
78  * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.\r
79  */\r
80 \r
81 #define configUSE_PREEMPTION            1\r
82 \r
83         /* Only use following section for C files */\r
84         #ifdef __IAR_SYSTEMS_ICC__\r
85         \r
86                 #pragma language=extended\r
87                 #pragma system_include\r
88         \r
89                 #include <intrinsics.h>\r
90         \r
91                 #define configUSE_IDLE_HOOK                             0\r
92                 #define configUSE_TICK_HOOK                             0\r
93                 #define configTICK_RATE_HZ                              ( ( portTickType ) 1000 )\r
94                 #define configMAX_PRIORITIES                    ( ( unsigned portBASE_TYPE ) 4 )\r
95                 #define configMINIMAL_STACK_SIZE                ( ( unsigned portSHORT ) 100 )\r
96                 #define configMAX_TASK_NAME_LEN                 ( 10 )\r
97                 #define configUSE_TRACE_FACILITY                0\r
98                 #define configUSE_16_BIT_TICKS                  1\r
99                 #define configIDLE_SHOULD_YIELD                 1\r
100                 #define configCHECK_FOR_STACK_OVERFLOW  2\r
101                 #define configUSE_MUTEXES                               1\r
102         \r
103                 /* Co-routine definitions. */\r
104                 #define configUSE_CO_ROUTINES                   0\r
105                 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
106         \r
107                 /* Set the following definitions to 1 to include the API function, or zero\r
108                 to exclude the API function. */\r
109                 #define INCLUDE_vTaskPrioritySet                1\r
110                 #define INCLUDE_uxTaskPriorityGet               1\r
111                 #define INCLUDE_vTaskDelete                             1\r
112                 #define INCLUDE_vTaskCleanUpResources   0\r
113                 #define INCLUDE_vTaskSuspend                    1\r
114                 #define INCLUDE_vTaskDelayUntil                 1\r
115                 #define INCLUDE_vTaskDelay                              1\r
116         \r
117                 #if configCLOCK_SOURCE == 0\r
118                         #define configCPU_CLOCK_HZ                      ( ( unsigned portLONG ) 20000000 )  /* using the external clock source */\r
119                 #else\r
120                         #define configCPU_CLOCK_HZ                      ( ( unsigned portLONG ) 8000000 )   /* using the internal high speed clock */\r
121                 #endif /* configCLOCK_SOURCE */\r
122         \r
123                 /* Definitions that are specific to the project being used. */\r
124                 #ifdef __IAR_78K0R_Kx3__\r
125                 \r
126                         /* Device specific includes. */\r
127                         #include <io78f1166_a0.h>\r
128                         #include <io78f1166_a0_ext.h>\r
129                 \r
130                         #define configTOTAL_HEAP_SIZE                   ( (size_t ) ( 7000 ) )\r
131                 \r
132                 #endif /* __IAR_78K0R_Kx3__ */\r
133                 \r
134                 #ifdef __IAR_78K0R_Kx3L__\r
135                 \r
136                         /* Device specific includes. */\r
137                         #include <io78f1009_64.h>\r
138                         #include <io78f1009_64_ext.h>\r
139                 \r
140                         #define configTOTAL_HEAP_SIZE                   ( (size_t ) ( 2500 ) )\r
141                 \r
142                 #endif /* _IAR_78K0R_Kx3L__ */\r
143         \r
144         #endif /* __IAR_SYSTEMS_ICC__ */\r
145 \r
146 #endif /* FREERTOS_CONFIG_H */\r
147 \r