Skip to content

Commit 086299f

Browse files
committed
Update documentation
- briefly describe new configuration options - update config pictures
1 parent 1b36db2 commit 086299f

3 files changed

Lines changed: 59 additions & 8 deletions

File tree

DoxyGen/src/cmsis_freertos.txt

Lines changed: 59 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,6 @@ File/Directory |Content
4848
:--------------------------|:---------------------------------------------------------------------------------
4949
\b CMSIS/Documentation | This documentation.
5050
\b CMSIS/RTOS2 | CMSIS-RTOS2 compliant implementation of FreeRTOS.
51-
\b Config | FreeRTOS configuration header file.
5251
\b License | FreeRTOS license agreement.
5352
\b Source | FreeRTOS kernel source code.
5453
\b ARM.CMSIS-FreeRTOS.pdsc | Package description file in CMSIS-Pack format.
@@ -175,7 +174,7 @@ When you have created the CMSIS-FreeRTOS project, you can configure the real-tim
175174

176175
\image html freertos_config_h_cmsis_rtos.png
177176

178-
The following settings are available:
177+
The following main settings are available:
179178

180179
Name | \#define | Description |
181180
-------------------------------|--------------------------------------|-----------------------------------------------------------------------|
@@ -187,6 +186,7 @@ Timer task priority | configTIMER_TASK_PRIORITY | Timer ta
187186
Timer queue length | configTIMER_QUEUE_LENGTH | Timer command queue length. |
188187
Preemption interrupt priority | configMAX_SYSCALL_INTERRUPT_PRIORITY | Maximum priority of interrupts that are safe to call FreeRTOS API. |
189188
Use time slicing | configUSE_TIME_SLICING | Enable setting to use time slicing. |
189+
Use tickless idle | configUSE_TICKLESS_IDLE | Enable low power tickless mode that stops tick interrupt when idle. |
190190
Idle should yield | configIDLE_SHOULD_YIELD | Control Yield behavior of the idle task. |
191191
Check for stack overflow | configCHECK_FOR_STACK_OVERFLOW | Enable or disable stack overflow checking. |
192192
Use idle hook | configUSE_IDLE_HOOK | Enable callback function call on each idle task iteration. |
@@ -212,6 +212,56 @@ Event Groups functions | configEVR_LEVEL_EVENTGROUPS | Define e
212212
Heap functions | configEVR_LEVEL_HEAP | Define event recording level bitmask for events generated from Heap functions. |
213213
Stream Buffer functions | configEVR_LEVEL_STREAMBUFFER | Define event recording level bitmask for events generated from Stream Buffer functions. |
214214

215+
<b> Memory Allocation Configuration </b>
216+
217+
The following settings are available:
218+
219+
Name | \#define | Description |
220+
---------------------------------------|--------------------------------------|------------------------------------------------------------------------------------|
221+
Support static memory allocation | configSUPPORT_STATIC_ALLOCATION | Enable or disable support for static memory allocation. |
222+
Support dynamic memory allocation | configSUPPORT_DYNAMIC_ALLOCATION | Enable or disable support for dynamic memory allocation. |
223+
Use kernel provided static memory | configKERNEL_PROVIDED_STATIC_MEMORY | When enabled, FreeRTOS kernel provides static memory for Idle and Timer tasks. |
224+
Use application allocated heap | configAPPLICATION_ALLOCATED_HEAP | When enabled, application must provide heap buffer externally. |
225+
Use separate heap for stack allocation | configSTACK_ALLOCATION_FROM_SEPARATE_HEAP | Enable or disable stack allocation for any task from a separate heap. |
226+
Use heap protector | configENABLE_HEAP_PROTECTOR | Enable or disable bounds checking and obfuscation to heap block pointers. |
227+
228+
<b> Port Specific Configuration </b>
229+
230+
The following settings are available:
231+
232+
Name | \#define | Description |
233+
----------------------------------|---------------------------------|------------------------------------------------------------------------------------|
234+
Use Floating Point Unit | configENABLE_FPU | Enable or disable support for FPU when switching execution context. |
235+
Use M-Profile Vector Extension | configENABLE_MVE | Enable or disable support for MVE when switching execution context. |
236+
Use Memory Protection Unit | configENABLE_MPU | Enable or disable support for MPU on ARMv8-M MPU enabled ports. |
237+
Use TrustZone Secure Side Only | configRUN_FREERTOS_SECURE_ONLY | Enable this setting when FreeRTOS runs on the Secure side only. |
238+
Use TrustZone Security Extension | configENABLE_TRUSTZONE | Enable TrustZone when FreeRTOS runs on the Non-Secure side and calls functions from the Secure side.|
239+
Minimal secure stack size [words] | configMINIMAL_SECURE_STACK_SIZE | Stack for idle task Secure side context in words. |
240+
241+
<b> Interrupt Controller Configuration </b>
242+
243+
\note Settings related to interrupt controller are relevant only on ARMv7-A ports where it is necessary to configure Arm Generic Interrupt Controller (GIC).
244+
245+
The following settings are available:
246+
247+
Name | \#define | Description |
248+
------------------------------------------|-------------------------------------------------|---------------------------------------------------------------|
249+
Interrupt controller base address | configINTERRUPT_CONTROLLER_BASE_ADDRESS | Sets the base address of the interrupt controller peripheral. |
250+
Interrupt controller CPU interface offset | configINTERRUPT_CONTROLLER_CPU_INTERFACE_OFFSET | Sets the offset from interrupt controller base address at which the CPU interface starts. |
251+
Interrupt controller unique priorities | configUNIQUE_INTERRUPT_PRIORITIES | Sets the number of unique priorities that can be specified in the interrupt controller peripheral. |
252+
253+
<b> Symmetric Multiprocessing Configuration </b>
254+
255+
\note Symmetric Multiprocessing Configuration (SMP) settings are only relevant if FreeRTOS port implementation supports SMP.
256+
257+
The following settings are available:
258+
259+
Name | \#define | Description |
260+
----------------------------|-----------------------------|------------------------------------------------------------------|
261+
Number of processor cores | configNUMBER_OF_CORES | Sets the number of available processor cores. |
262+
Use processor core affinity | configUSE_CORE_AFFINITY | Enables the control for task to run on specific processor cores. |
263+
Use passive idle hook | configUSE_PASSIVE_IDLE_HOOK | Enable callback function call on each idle task iteration. |
264+
215265

216266
\subsection cmsis_freertos_er Add Event Recorder Visibility
217267
- To use the Event Recorder together with FreeRTOS, add the software component <b>\::Compiler:Event Recorder</b> to your project.
@@ -357,12 +407,13 @@ Definition configEVR_SETUP_LEVEL enables setup of recording level filter for eve
357407
#define configEVR_LEVEL_STREAMBUFFER
358408
\endcode
359409

360-
Value | Description |
361-
-------|---------------------------------------------------|
362-
0x00 | Disable event generation |
363-
0x01 | Enable generation of error events |
364-
0x05 | Enable generation of error and operational events |
365-
0x0F | Enable generation of all events |
410+
Value | Description |
411+
-------|--------------------------------------------------------|
412+
0x00 | Disable event generation |
413+
0x01 | Enable generation of error events |
414+
0x05 | Enable generation of error and operational events |
415+
0x07 | Enable generation of error, API and operational events |
416+
0x0F | Enable generation of all events |
366417

367418
Definitions configEVR_LEVEL_x set the recording level bitmask for events generated by each function group. They are taken into account only when recording level filter setup is enabled. Default value is \token{0x05}.
368419

14.4 KB
Loading
36.6 KB
Loading

0 commit comments

Comments
 (0)