]> git.sur5r.net Git - freertos/blob - FreeRTOS/Demo/msp430_IAR/FreeRTOSConfig.h
Update version number in readiness for V10.3.0 release. Sync SVN with reviewed releas...
[freertos] / FreeRTOS / Demo / msp430_IAR / FreeRTOSConfig.h
1 /*\r
2  * FreeRTOS Kernel V10.3.0\r
3  * Copyright (C) 2020 Amazon.com, Inc. or its affiliates.  All Rights Reserved.\r
4  *\r
5  * Permission is hereby granted, free of charge, to any person obtaining a copy of\r
6  * this software and associated documentation files (the "Software"), to deal in\r
7  * the Software without restriction, including without limitation the rights to\r
8  * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\r
9  * the Software, and to permit persons to whom the Software is furnished to do so,\r
10  * subject to the following conditions:\r
11  *\r
12  * The above copyright notice and this permission notice shall be included in all\r
13  * copies or substantial portions of the Software.\r
14  *\r
15  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\r
16  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\r
17  * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\r
18  * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\r
19  * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\r
20  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\r
21  *\r
22  * http://www.FreeRTOS.org\r
23  * http://aws.amazon.com/freertos\r
24  *\r
25  * 1 tab == 4 spaces!\r
26  */\r
27 \r
28 #ifndef FREERTOS_CONFIG_H\r
29 #define FREERTOS_CONFIG_H\r
30 \r
31 #include <msp430x44x.h>\r
32 \r
33 /*\r
34 Two interrupt examples are provided -\r
35 \r
36  + Method 1 does everything in C code.\r
37  + Method 2 uses an assembly file wrapper.\r
38 \r
39 Code size:\r
40 Method 1 uses assembly macros to save and restore the task context, whereas\r
41 method 2 uses functions. This means method 1 will be faster, but method 2 will\r
42 use less code space.\r
43 \r
44 Simplicity:\r
45 Method 1 is very simplistic, whereas method 2 is more elaborate. This\r
46 elaboration results in the code space saving, but also requires a slightly more\r
47 complex procedure to define interrupt service routines.\r
48 \r
49 Interrupt efficiency:\r
50 Method 1 uses the compiler generated function prologue and epilogue code to save\r
51 and restore the necessary registers within an interrupt service routine (other\r
52 than the RTOS tick ISR). Should a context switch be required from within the ISR\r
53 the entire processor context is saved. This can result in some registers being saved\r
54 twice - once by the compiler generated code, and then again by the FreeRTOS code.\r
55 Method 2 saves and restores all the processor registers within each interrupt service\r
56 routine, whether or not a context switch actually occurs. This means no registers\r
57 ever get saved twice, but imposes an overhead on the occasions that no context switch\r
58 occurs.\r
59 */\r
60 \r
61 #define configINTERRUPT_EXAMPLE_METHOD 1\r
62 \r
63 /*-----------------------------------------------------------\r
64  * Application specific definitions.\r
65  *\r
66  * These definitions should be adjusted for your particular hardware and\r
67  * application requirements.\r
68  *\r
69  * THESE PARAMETERS ARE DESCRIBED WITHIN THE 'CONFIGURATION' SECTION OF THE\r
70  * FreeRTOS API DOCUMENTATION AVAILABLE ON THE FreeRTOS.org WEB SITE.\r
71  *\r
72  * See http://www.freertos.org/a00110.html\r
73  *----------------------------------------------------------*/\r
74 \r
75 #define configUSE_PREEMPTION            1\r
76 #define configUSE_IDLE_HOOK                     1\r
77 #define configUSE_TICK_HOOK                     0\r
78 #define configCPU_CLOCK_HZ                      ( ( unsigned long ) 7995392 ) /* Clock setup from main.c in the demo application. */\r
79 #define configTICK_RATE_HZ                      ( ( TickType_t ) 1000 )\r
80 #define configMAX_PRIORITIES            ( 4 )\r
81 #define configMINIMAL_STACK_SIZE        ( ( unsigned short ) 50 )\r
82 #define configTOTAL_HEAP_SIZE           ( ( size_t ) ( 1700 ) )\r
83 #define configMAX_TASK_NAME_LEN         ( 8 )\r
84 #define configUSE_TRACE_FACILITY        0\r
85 #define configUSE_16_BIT_TICKS          1\r
86 #define configIDLE_SHOULD_YIELD         1\r
87 \r
88 /* Co-routine definitions. */\r
89 #define configUSE_CO_ROUTINES           0\r
90 #define configMAX_CO_ROUTINE_PRIORITIES ( 2 )\r
91 \r
92 /* Set the following definitions to 1 to include the API function, or zero\r
93 to exclude the API function. */\r
94 \r
95 #define INCLUDE_vTaskPrioritySet                        0\r
96 #define INCLUDE_uxTaskPriorityGet                       0\r
97 #define INCLUDE_vTaskDelete                                     1\r
98 #define INCLUDE_vTaskCleanUpResources           0\r
99 #define INCLUDE_vTaskSuspend                            0\r
100 #define INCLUDE_vTaskDelayUntil                         1\r
101 #define INCLUDE_vTaskDelay                                      1\r
102 #define INCLUDE_uxTaskGetStackHighWaterMark 0\r
103 \r
104 #endif /* FREERTOS_CONFIG_H */\r