]> git.sur5r.net Git - freertos/blob - Demo/msp430_IAR/FreeRTOSConfig.h
Update to V5.1.2.
[freertos] / Demo / msp430_IAR / FreeRTOSConfig.h
1 /*\r
2         FreeRTOS.org V5.1.2 - 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\r
7         it under the terms of the GNU General Public License as published by\r
8         the Free Software Foundation; either version 2 of the License, or\r
9         (at your option) any later version.\r
10 \r
11         FreeRTOS.org is distributed in the hope that it will be useful,\r
12         but WITHOUT ANY WARRANTY; without even the implied warranty of\r
13         MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
14         GNU General Public License for more details.\r
15 \r
16         You should have received a copy of the GNU General Public License\r
17         along with FreeRTOS.org; if not, write to the Free Software\r
18         Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA\r
19 \r
20         A special exception to the GPL can be applied should you wish to distribute\r
21         a combined work that includes FreeRTOS.org, without being obliged to provide\r
22         the source code for any proprietary components.  See the licensing section\r
23         of http://www.FreeRTOS.org for full details of how and when the exception\r
24         can be applied.\r
25 \r
26     ***************************************************************************\r
27     ***************************************************************************\r
28     *                                                                         *\r
29     * Get the FreeRTOS eBook!  See http://www.FreeRTOS.org/Documentation      *\r
30         *                                                                         *\r
31         * This is a concise, step by step, 'hands on' guide that describes both   *\r
32         * general multitasking concepts and FreeRTOS specifics. It presents and   *\r
33         * explains numerous examples that are written using the FreeRTOS API.     *\r
34         * Full source code for all the examples is provided in an accompanying    *\r
35         * .zip file.                                                              *\r
36     *                                                                         *\r
37     ***************************************************************************\r
38     ***************************************************************************\r
39 \r
40         Please ensure to read the configuration and relevant port sections of the\r
41         online documentation.\r
42 \r
43         http://www.FreeRTOS.org - Documentation, latest information, license and\r
44         contact details.\r
45 \r
46         http://www.SafeRTOS.com - A version that is certified for use in safety\r
47         critical systems.\r
48 \r
49         http://www.OpenRTOS.com - Commercial support, development, porting,\r
50         licensing and training services.\r
51 */\r
52 \r
53 #ifndef FREERTOS_CONFIG_H\r
54 #define FREERTOS_CONFIG_H\r
55 \r
56 #include <msp430x44x.h>\r
57 \r
58 /*\r
59 Two interrupt examples are provided -\r
60 \r
61  + Method 1 does everything in C code.\r
62  + Method 2 uses an assembly file wrapper.\r
63 \r
64 Code size:\r
65 Method 1 uses assembly macros to save and restore the task context, whereas\r
66 method 2 uses functions. This means method 1 will be faster, but method 2 will\r
67 use less code space.\r
68 \r
69 Simplicity:\r
70 Method 1 is very simplistic, whereas method 2 is more elaborate. This\r
71 elaboration results in the code space saving, but also requires a slightly more\r
72 complex procedure to define interrupt service routines.\r
73 \r
74 Interrupt efficiency:\r
75 Method 1 uses the compiler generated function prologue and epilogue code to save\r
76 and restore the necessary registers within an interrupt service routine (other\r
77 than the RTOS tick ISR). Should a context switch be required from within the ISR\r
78 the entire processor context is saved. This can result in some registers being saved\r
79 twice - once by the compiler generated code, and then again by the FreeRTOS code.\r
80 Method 2 saves and restores all the processor registers within each interrupt service\r
81 routine, whether or not a context switch actually occurs. This means no registers\r
82 ever get saved twice, but imposes an overhead on the occasions that no context switch\r
83 occurs.\r
84 */\r
85 \r
86 #define configINTERRUPT_EXAMPLE_METHOD 1\r
87 \r
88 /*-----------------------------------------------------------\r
89  * Application specific definitions.\r
90  *\r
91  * These definitions should be adjusted for your particular hardware and\r
92  * application requirements.\r
93  *\r
94  * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
95  * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.\r
96  *\r
97  * See http://www.freertos.org/a00110.html.\r
98  *----------------------------------------------------------*/\r
99 \r
100 #define configUSE_PREEMPTION            1\r
101 #define configUSE_IDLE_HOOK                     1\r
102 #define configUSE_TICK_HOOK                     0\r
103 #define configCPU_CLOCK_HZ                      ( ( unsigned portLONG ) 7995392 ) /* Clock setup from main.c in the demo application. */\r
104 #define configTICK_RATE_HZ                      ( ( portTickType ) 1000 )\r
105 #define configMAX_PRIORITIES            ( ( unsigned portBASE_TYPE ) 4 )\r
106 #define configMINIMAL_STACK_SIZE        ( ( unsigned portSHORT ) 50 )\r
107 #define configTOTAL_HEAP_SIZE           ( ( size_t ) ( 1700 ) )\r
108 #define configMAX_TASK_NAME_LEN         ( 8 )\r
109 #define configUSE_TRACE_FACILITY        0\r
110 #define configUSE_16_BIT_TICKS          1\r
111 #define configIDLE_SHOULD_YIELD         1\r
112 \r
113 /* Co-routine definitions. */\r
114 #define configUSE_CO_ROUTINES           0\r
115 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
116 \r
117 /* Set the following definitions to 1 to include the API function, or zero\r
118 to exclude the API function. */\r
119 \r
120 #define INCLUDE_vTaskPrioritySet                        0\r
121 #define INCLUDE_uxTaskPriorityGet                       0\r
122 #define INCLUDE_vTaskDelete                                     1\r
123 #define INCLUDE_vTaskCleanUpResources           0\r
124 #define INCLUDE_vTaskSuspend                            0\r
125 #define INCLUDE_vTaskDelayUntil                         1\r
126 #define INCLUDE_vTaskDelay                                      1\r
127 #define INCLUDE_uxTaskGetStackHighWaterMark 0\r
128 \r
129 #endif /* FREERTOS_CONFIG_H */\r