|
1 | 1 | /* -------------------------------------------------------------------------- |
2 | | - * Copyright (c) 2013-2023 Arm Limited. All rights reserved. |
| 2 | + * Copyright (c) 2013-2024 Arm Limited. All rights reserved. |
3 | 3 | * |
4 | 4 | * SPDX-License-Identifier: Apache-2.0 |
5 | 5 | * |
|
17 | 17 | * |
18 | 18 | * -------------------------------------------------------------------------- |
19 | 19 | * |
20 | | - * $Revision: V10.5.0 |
| 20 | + * $Revision: V10.6.0 |
21 | 21 | * |
22 | 22 | * Project: CMSIS-FreeRTOS |
23 | 23 | * Title: FreeRTOS configuration definitions |
|
51 | 51 | // <o>Minimal stack size [words] <0-65535> |
52 | 52 | // <i> Stack for idle task and default task stack in words. |
53 | 53 | // <i> Default: 128 |
54 | | -#define configMINIMAL_STACK_SIZE ((uint16_t)(128)) |
| 54 | +#define configMINIMAL_STACK_SIZE ((uint16_t)(128)) |
55 | 55 |
|
56 | 56 | // <o>Total heap size [bytes] <0-0xFFFFFFFF> |
57 | 57 | // <i> Heap memory size in bytes. |
58 | 58 | // <i> Default: 8192 |
59 | | -#define configTOTAL_HEAP_SIZE ((size_t)8192) |
| 59 | +#define configTOTAL_HEAP_SIZE ((size_t)8192) |
60 | 60 |
|
61 | 61 | // <o>Kernel tick frequency [Hz] <0-0xFFFFFFFF> |
62 | 62 | // <i> Kernel tick rate in Hz. |
63 | 63 | // <i> Default: 1000 |
64 | | -#define configTICK_RATE_HZ ((TickType_t)1000) |
| 64 | +#define configTICK_RATE_HZ ((TickType_t)1000) |
65 | 65 |
|
66 | 66 | // <o>Timer task stack depth [words] <0-65535> |
67 | 67 | // <i> Stack for timer task in words. |
68 | 68 | // <i> Default: 80 |
69 | | -#define configTIMER_TASK_STACK_DEPTH 80 |
| 69 | +#define configTIMER_TASK_STACK_DEPTH 80 |
70 | 70 |
|
71 | 71 | // <o>Timer task priority <0-56> |
72 | 72 | // <i> Timer task priority. |
73 | 73 | // <i> Default: 40 (High) |
74 | | -#define configTIMER_TASK_PRIORITY 40 |
| 74 | +#define configTIMER_TASK_PRIORITY 40 |
75 | 75 |
|
76 | 76 | // <o>Timer queue length <0-1024> |
77 | 77 | // <i> Timer command queue length. |
78 | 78 | // <i> Default: 5 |
79 | | -#define configTIMER_QUEUE_LENGTH 5 |
| 79 | +#define configTIMER_QUEUE_LENGTH 5 |
80 | 80 |
|
81 | 81 | // <o>Preemption interrupt priority |
82 | 82 | // <i> Maximum priority of interrupts that are safe to call FreeRTOS API. |
83 | 83 | // <i> Default: 16 |
84 | | -#define configMAX_SYSCALL_INTERRUPT_PRIORITY 16 |
| 84 | +#define configMAX_SYSCALL_INTERRUPT_PRIORITY 16 |
85 | 85 |
|
86 | 86 | // <q>Use time slicing |
87 | 87 | // <i> Enable setting to use timeslicing. |
88 | 88 | // <i> Default: 1 |
89 | | -#define configUSE_TIME_SLICING 1 |
| 89 | +#define configUSE_TIME_SLICING 1 |
90 | 90 |
|
91 | 91 | // <q>Use tickless idle |
92 | 92 | // <i> Enable low power tickless mode to stop the periodic tick interrupt during idle periods or |
93 | 93 | // <i> disable it to keep the tick interrupt running at all times. |
94 | 94 | // <i> Default: 0 |
95 | | -#define configUSE_TICKLESS_IDLE 0 |
| 95 | +#define configUSE_TICKLESS_IDLE 0 |
96 | 96 |
|
97 | 97 | // <q>Idle should yield |
98 | 98 | // <i> Control Yield behaviour of the idle task. |
99 | 99 | // <i> Default: 1 |
100 | | -#define configIDLE_SHOULD_YIELD 1 |
| 100 | +#define configIDLE_SHOULD_YIELD 1 |
101 | 101 |
|
102 | 102 | // <o>Check for stack overflow |
103 | 103 | // <0=>Disable <1=>Method one <2=>Method two |
104 | 104 | // <i> Enable or disable stack overflow checking. |
105 | 105 | // <i> Callback function vApplicationStackOverflowHook implementation is required when stack checking is enabled. |
106 | 106 | // <i> Default: 0 |
107 | | -#define configCHECK_FOR_STACK_OVERFLOW 2 |
| 107 | +#define configCHECK_FOR_STACK_OVERFLOW 2 |
108 | 108 |
|
109 | 109 | // <q>Use idle hook |
110 | 110 | // <i> Enable callback function call on each idle task iteration. |
111 | 111 | // <i> Callback function vApplicationIdleHook implementation is required when idle hook is enabled. |
112 | 112 | // <i> Default: 0 |
113 | | -#define configUSE_IDLE_HOOK 0 |
| 113 | +#define configUSE_IDLE_HOOK 0 |
114 | 114 |
|
115 | 115 | // <q>Use tick hook |
116 | 116 | // <i> Enable callback function call during each tick interrupt. |
117 | 117 | // <i> Callback function vApplicationTickHook implementation is required when tick hook is enabled. |
118 | 118 | // <i> Default: 0 |
119 | | -#define configUSE_TICK_HOOK 0 |
| 119 | +#define configUSE_TICK_HOOK 0 |
120 | 120 |
|
121 | 121 | // <q>Use deamon task startup hook |
122 | 122 | // <i> Enable callback function call when timer service starts. |
123 | 123 | // <i> Callback function vApplicationDaemonTaskStartupHook implementation is required when deamon task startup hook is enabled. |
124 | 124 | // <i> Default: 0 |
125 | | -#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 |
| 125 | +#define configUSE_DAEMON_TASK_STARTUP_HOOK 0 |
126 | 126 |
|
127 | 127 | // <q>Use malloc failed hook |
128 | 128 | // <i> Enable callback function call when out of dynamic memory. |
129 | 129 | // <i> Callback function vApplicationMallocFailedHook implementation is required when malloc failed hook is enabled. |
130 | 130 | // <i> Default: 0 |
131 | | -#define configUSE_MALLOC_FAILED_HOOK 0 |
| 131 | +#define configUSE_MALLOC_FAILED_HOOK 0 |
132 | 132 |
|
133 | 133 | // <o>Queue registry size |
134 | 134 | // <i> Define maximum number of queue objects registered for debug purposes. |
135 | 135 | // <i> The queue registry is used by kernel aware debuggers to locate queue and semaphore structures and display associated text names. |
136 | 136 | // <i> Default: 0 |
137 | | -#define configQUEUE_REGISTRY_SIZE 0 |
| 137 | +#define configQUEUE_REGISTRY_SIZE 0 |
138 | 138 |
|
139 | | -// <h>Event Recorder configuration |
140 | | -// <i> Initialize and setup Event Recorder level filtering. |
141 | | -// <i> Settings have no effect when Event Recorder is not present. |
| 139 | +// <h>Memory Allocation Configuration |
| 140 | +// <i> Enable and configure memory allocation specific features. |
| 141 | +// <i> To configure FreeRTOS heap size use configTOTAL_HEAP_SIZE. |
| 142 | + |
| 143 | +// <q> Support static memory allocation |
| 144 | +// <i> Enable or disable static memory allocation. |
| 145 | +// <i> When enabled RTOS objects can be created using application provided RAM. |
| 146 | +// <i> Default: 1 |
| 147 | +#define configSUPPORT_STATIC_ALLOCATION 1 |
| 148 | + |
| 149 | +// <q> Support dynamic memory allocation |
| 150 | +// <i> Enable or disable dynamic memory allocation. |
| 151 | +// <i> When enabled RTOS objects can be created using RAM automatically allocated from the FreeRTOS heap. |
| 152 | +// <i> Default: 1 |
| 153 | +#define configSUPPORT_DYNAMIC_ALLOCATION 1 |
| 154 | + |
| 155 | +// <q>Use kernel provided static memory |
| 156 | +// <i> When enabled FreeRTOS kernel provides static memory for Idle and Timer tasks. |
| 157 | +// <i> Otherwise user shall provide implementation of: |
| 158 | +// <i> - vApplicationGetIdleTaskMemory and vApplicationGetTimerTaskMemory |
| 159 | +// <i> - vApplicationGetPassiveIdleTaskMemory (when kernel uses SMP) |
| 160 | +// <i> Default: 1 |
| 161 | +#define configKERNEL_PROVIDED_STATIC_MEMORY 1 |
| 162 | + |
| 163 | +// <q>Use application allocated heap |
| 164 | +// <i> Global heap buffer must be provided externally when using application allocated heap. |
| 165 | +// <i> The buffer must be declared as: uint8_t ucHeap[ configTOTAL_HEAP_SIZE ]. |
| 166 | +// <i> Default: 0 |
| 167 | +#define configAPPLICATION_ALLOCATED_HEAP 0 |
| 168 | + |
| 169 | +// <q>Use separate heap for stack allocation |
| 170 | +// <i> Enable or disable stack allocation for any task from a separate heap. |
| 171 | +// <i> Thread-safe implementation of pvPortMallocStack and vPortFreeStack is required when using separate heap. |
| 172 | +// <i> Default: 0 |
| 173 | +#define configSTACK_ALLOCATION_FROM_SEPARATE_HEAP 0 |
| 174 | + |
| 175 | +// <q>Use heap protector |
| 176 | +// <i> Enable or disable bounds checking and obfuscation to heap block pointers. |
| 177 | +// <i> This setting only applies to Heap_4 and Heap_5. |
| 178 | +// <i> Default: 0 |
| 179 | +#define configENABLE_HEAP_PROTECTOR 0 |
| 180 | +// </h> |
| 181 | + |
| 182 | +// <h>Event Recorder Configuration |
| 183 | +// <i> Initialize and setup Event Recorder level filtering. |
| 184 | +// <i> Settings have no effect when Event Recorder is not present. |
142 | 185 |
|
143 | 186 | // <q>Initialize Event Recorder |
144 | 187 | // <i> Initialize Event Recorder before FreeRTOS kernel start. |
|
232 | 275 |
|
233 | 276 | /* Defines needed by FreeRTOS to implement CMSIS RTOS2 API. Do not change! */ |
234 | 277 | #define configCPU_CLOCK_HZ (SystemCoreClock) |
235 | | -#define configSUPPORT_STATIC_ALLOCATION 1 |
236 | | -#define configSUPPORT_DYNAMIC_ALLOCATION 1 |
237 | 278 | #define configUSE_PREEMPTION 1 |
238 | 279 | #define configUSE_TIMERS 1 |
239 | 280 | #define configUSE_MUTEXES 1 |
|
0 commit comments