blob: 82d0dad8a5418bdd4612fd440185a32a7dae6794 [file] [log] [blame]
Richard Barryeef99002009-02-03 19:46:32 +00001/*
Richard Barryf625cf92009-10-05 11:01:09 +00002 FreeRTOS V6.0.0 - Copyright (C) 2009 Real Time Engineers Ltd.
Richard Barryeef99002009-02-03 19:46:32 +00003
Richard Barryf625cf92009-10-05 11:01:09 +00004 This file is part of the FreeRTOS distribution.
Richard Barryeef99002009-02-03 19:46:32 +00005
Richard Barryf625cf92009-10-05 11:01:09 +00006 FreeRTOS is free software; you can redistribute it and/or modify it under
7 the terms of the GNU General Public License (version 2) as published by the
8 Free Software Foundation and modified by the FreeRTOS exception.
9 **NOTE** The exception to the GPL is included to allow you to distribute a
10 combined work that includes FreeRTOS without being obliged to provide the
11 source code for proprietary components outside of the FreeRTOS kernel.
12 Alternative commercial license and support terms are also available upon
13 request. See the licensing section of http://www.FreeRTOS.org for full
14 license details.
Richard Barryeef99002009-02-03 19:46:32 +000015
Richard Barryf625cf92009-10-05 11:01:09 +000016 FreeRTOS is distributed in the hope that it will be useful, but WITHOUT
17 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
18 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
19 more details.
Richard Barryeef99002009-02-03 19:46:32 +000020
Richard Barryf625cf92009-10-05 11:01:09 +000021 You should have received a copy of the GNU General Public License along
22 with FreeRTOS; if not, write to the Free Software Foundation, Inc., 59
23 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
Richard Barryeef99002009-02-03 19:46:32 +000024
Richard Barry2f40ad72009-03-14 19:20:12 +000025
Richard Barryf625cf92009-10-05 11:01:09 +000026 ***************************************************************************
27 * *
28 * The FreeRTOS eBook and reference manual are available to purchase for a *
29 * small fee. Help yourself get started quickly while also helping the *
30 * FreeRTOS project! See http://www.FreeRTOS.org/Documentation for details *
31 * *
32 ***************************************************************************
Richard Barry2f40ad72009-03-14 19:20:12 +000033
Richard Barryf625cf92009-10-05 11:01:09 +000034 1 tab == 4 spaces!
Richard Barryeef99002009-02-03 19:46:32 +000035
Richard Barryf625cf92009-10-05 11:01:09 +000036 Please ensure to read the configuration and relevant port sections of the
37 online documentation.
Richard Barryeef99002009-02-03 19:46:32 +000038
Richard Barryf625cf92009-10-05 11:01:09 +000039 http://www.FreeRTOS.org - Documentation, latest information, license and
40 contact details.
Richard Barryeef99002009-02-03 19:46:32 +000041
Richard Barryf625cf92009-10-05 11:01:09 +000042 http://www.SafeRTOS.com - A version that is certified for use in safety
43 critical systems.
Richard Barryeef99002009-02-03 19:46:32 +000044
Richard Barryf625cf92009-10-05 11:01:09 +000045 http://www.OpenRTOS.com - Commercial support, development, porting,
46 licensing and training services.
Richard Barryeef99002009-02-03 19:46:32 +000047*/
48
49#ifndef FREERTOS_CONFIG_H
50#define FREERTOS_CONFIG_H
51
Richard Barry299557f2009-02-04 13:07:16 +000052/*
Richard Barry617ddbb2009-02-05 10:40:24 +000053 * 78K0R Clock Source Configuration
Richard Barryeef99002009-02-03 19:46:32 +000054 * 1 = use internal High Speed Clock Source (typically 8Mhz on the 78K0R/Kx3)
55 * 0 = use external Clock Source
56 */
57#define configCLOCK_SOURCE 0
58
Richard Barry299557f2009-02-04 13:07:16 +000059/*
Richard Barry617ddbb2009-02-05 10:40:24 +000060 * 78K0R Memory Model
Richard Barryeef99002009-02-03 19:46:32 +000061 * 1 = use far memory mode
62 * 0 = use near memory mode
63 *
64 * This setting must match the setting in the IAR project options.
65 */
Richard Barry52ba0e62009-02-09 20:21:35 +000066#define configMEMORY_MODE 1
Richard Barryeef99002009-02-03 19:46:32 +000067
68/*
69 * Application specific definitions.
70 *
71 * These definitions should be adjusted for your particular hardware and
72 * application requirements.
73 *
74 * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE
75 * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.
76 */
77
78#define configUSE_PREEMPTION 1
79
Richard Barry8c1495a2009-02-06 13:21:35 +000080 /* Only use following section for C files */
81 #ifdef __IAR_SYSTEMS_ICC__
82
83 #pragma language=extended
84 #pragma system_include
85
86 #include <intrinsics.h>
87
88 #define configUSE_IDLE_HOOK 0
89 #define configUSE_TICK_HOOK 0
90 #define configTICK_RATE_HZ ( ( portTickType ) 1000 )
91 #define configMAX_PRIORITIES ( ( unsigned portBASE_TYPE ) 4 )
Richard Barryf625cf92009-10-05 11:01:09 +000092 #define configMINIMAL_STACK_SIZE ( ( unsigned short ) 100 )
Richard Barry8c1495a2009-02-06 13:21:35 +000093 #define configMAX_TASK_NAME_LEN ( 10 )
94 #define configUSE_TRACE_FACILITY 0
95 #define configUSE_16_BIT_TICKS 1
96 #define configIDLE_SHOULD_YIELD 1
97 #define configCHECK_FOR_STACK_OVERFLOW 2
98 #define configUSE_MUTEXES 1
99
100 /* Co-routine definitions. */
101 #define configUSE_CO_ROUTINES 0
102 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )
103
104 /* Set the following definitions to 1 to include the API function, or zero
105 to exclude the API function. */
106 #define INCLUDE_vTaskPrioritySet 1
107 #define INCLUDE_uxTaskPriorityGet 1
108 #define INCLUDE_vTaskDelete 1
109 #define INCLUDE_vTaskCleanUpResources 0
110 #define INCLUDE_vTaskSuspend 1
111 #define INCLUDE_vTaskDelayUntil 1
112 #define INCLUDE_vTaskDelay 1
113
Richard Barryaac296a2009-02-07 17:41:36 +0000114 #if configCLOCK_SOURCE == 0
Richard Barryf625cf92009-10-05 11:01:09 +0000115 #define configCPU_CLOCK_HZ ( ( unsigned long ) 20000000 ) /* using the external clock source */
Richard Barry8c1495a2009-02-06 13:21:35 +0000116 #else
Richard Barryf625cf92009-10-05 11:01:09 +0000117 #define configCPU_CLOCK_HZ ( ( unsigned long ) 8000000 ) /* using the internal high speed clock */
Richard Barry8c1495a2009-02-06 13:21:35 +0000118 #endif /* configCLOCK_SOURCE */
119
120 /* Definitions that are specific to the project being used. */
121 #ifdef __IAR_78K0R_Kx3__
122
123 /* Device specific includes. */
124 #include <io78f1166_a0.h>
125 #include <io78f1166_a0_ext.h>
126
127 #define configTOTAL_HEAP_SIZE ( (size_t ) ( 7000 ) )
128
129 #endif /* __IAR_78K0R_Kx3__ */
130
131 #ifdef __IAR_78K0R_Kx3L__
132
133 /* Device specific includes. */
134 #include <io78f1009_64.h>
135 #include <io78f1009_64_ext.h>
136
Richard Barry9323cea2009-02-07 18:20:32 +0000137 #define configTOTAL_HEAP_SIZE ( (size_t ) ( 2500 ) )
Richard Barry8c1495a2009-02-06 13:21:35 +0000138
139 #endif /* _IAR_78K0R_Kx3L__ */
140
141 #endif /* __IAR_SYSTEMS_ICC__ */
Richard Barryeef99002009-02-03 19:46:32 +0000142
143#endif /* FREERTOS_CONFIG_H */
144