1 <?xml version="1.0" encoding="utf-8"?>
3 <package schemaVersion="1.4" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
5 <name>CMSIS-FreeRTOS</name>
6 <description>Bundle of FreeRTOS for Cortex-M and Cortex-A</description>
7 <url>http://www.keil.com/pack/</url>
8 <license>License/license.txt</license>
11 <release version="10.2.1-dev3">
12 - Reworked component conditions
14 <release version="10.2.1-dev2">
15 - Moved device and environment specifics into separate header
16 - Added implementation of the osMemoryPool functions using FreeRTOS
17 - Removed Cortex-A example (will be available in separate pack)
19 <release version="10.2.1-dev1">
20 - Updated to FreeRTOS 10.2.1
22 <release version="10.2.1-dev0">
23 - Corrected osThreadGetStackSpace return value (bytes instead of words)
25 <release version="10.2.0" date="2019-04-12">
27 Maintenance for CMSIS 5.4.0:
28 - Updated to CMSIS RTOS2 API 2.1.3
29 - Updated Arm standard C library interface
30 - Added configuration for the Event Recorder
31 - Added TrustZone example for Armv8M using RTOS2 API
32 - Enhanced FreeRTOS component viewer
33 - Corrected osDelayUntil execution duration
34 - Corrected SysTick_Handler execution when kernel is not started
35 - Corrected critical section for osKernelGetSysTimerCount
37 <release version="10.0.1" date="2018-02-20">
39 Maintenance for CMSIS 5.3.0:
40 - Added queue registry support to CMSIS:RTOS2:FreeRTOS component.
41 - Updated CMSIS-FreeRTOS component view to display queue, mutex and semaphore objects.
42 - Updated to CMSIS RTOS2 API 2.1.2 and OS Tick API 1.0.1.
43 - Fixed context switch response latency for API calls from ISR.
45 <release version="9.1.0" date="2017-08-11">
47 Maintenance release for CMSIS 5.1.0:
48 - Added support for ARM Compiler 6
49 - Updated Cortex-A example to use IRQ Controller component
50 - Corrected stack size allocation in RTOS2 osThreadNew function
51 - Added support for OS Tick component
52 - Added documentation for configuration options (native/CMSIS-RTOS2)
53 - Debug event TaskIncrementTick level set to Detail
55 <release version="9.0.0" date="2017-03-13">
56 Initial release version:
57 - native FreeRTOS component (RTOS: Variant=FreeRTOS)
58 - CMSIS-RTOS FreeRTOS for Cortex-M and Cortex-A9 (CMSIS:RTOS:FreeRTOS, CMSIS:RTOS2:FreeRTOS)
64 <package vendor="ARM" name="CMSIS" version="5.4.0-0"/>
69 <condition id="ARMCC6">
70 <accept Tcompiler="ARMCC" Toptions="AC6"/>
71 <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
73 <condition id="ARMCC">
74 <require Tcompiler="ARMCC" Toptions="AC5"/>
77 <require Tcompiler="GCC"/>
80 <require Tcompiler="IAR"/>
83 <condition id="ARMCC GCC">
84 <accept condition="ARMCC"/>
85 <accept condition="GCC"/>
87 <condition id="ARMCC6 GCC">
88 <accept condition="ARMCC6"/>
89 <accept condition="GCC"/>
91 <condition id="ARMCC GCC IAR">
92 <accept condition="ARMCC"/>
93 <accept condition="GCC"/>
94 <accept condition="IAR"/>
96 <condition id="ARMCC6 GCC IAR">
97 <accept condition="ARMCC6"/>
98 <accept condition="GCC"/>
99 <accept condition="IAR"/>
101 <condition id="ARMCC ARMCC6 GCC IAR">
102 <accept condition="ARMCC"/>
103 <accept condition="ARMCC6"/>
104 <accept condition="GCC"/>
105 <accept condition="IAR"/>
109 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device</description>
110 <accept Dcore="Cortex-M0"/>
111 <accept Dcore="Cortex-M0+"/>
112 <accept Dcore="SC000"/>
116 <description>Cortex-M3 or SC300 processor based device</description>
117 <accept Dcore="Cortex-M3"/>
118 <accept Dcore="SC300"/>
122 <description>Cortex-M4 processor based device</description>
123 <require Dcore="Cortex-M4" Dfpu="NO_FPU"/>
126 <condition id="CM4_FP">
127 <description>Cortex-M4 processor based device using Floating Point Unit</description>
128 <require Dcore="Cortex-M4" Dfpu="FPU"/>
132 <description>Cortex-M7 processor based device</description>
133 <require Dcore="Cortex-M7" Dfpu="NO_FPU"/>
136 <condition id="CM7_FP">
137 <description>Cortex-M7 processor based device using Floating Point Unit</description>
138 <accept Dcore="Cortex-M7" Dfpu="SP_FPU"/>
139 <accept Dcore="Cortex-M7" Dfpu="DP_FPU"/>
142 <condition id="CM7_SP">
143 <description>Cortex-M7 processor based device using Floating Point Unit (SP)</description>
144 <require Dcore="Cortex-M7" Dfpu="SP_FPU"/>
147 <condition id="CM7_DP">
148 <description>Cortex-M7 processor based device using Floating Point Unit (DP)</description>
149 <require Dcore="Cortex-M7" Dfpu="DP_FPU"/>
152 <condition id="CM23">
153 <description>Cortex-M23 processor based device</description>
154 <require Dcore="Cortex-M23"/>
157 <condition id="CM23_NoTZ">
158 <description>Cortex-M23 processor based device without TrustZone</description>
159 <require condition="CM23"/>
160 <require Dtz="NO_TZ"/>
163 <condition id="CM23_TZ">
164 <description>Cortex-M23 processor based device with TrustZone</description>
165 <require condition="CM23"/>
169 <condition id="CM33">
170 <description>Cortex-M33 processor based device</description>
171 <accept Dcore="Cortex-M33"/>
174 <condition id="CM33_NoTZ">
175 <description>Cortex-M33 processor based device without TrustZone</description>
176 <require condition="CM33"/>
177 <require Dtz="NO_TZ"/>
180 <condition id="CM33_TZ">
181 <description>Cortex-M33 processor based device with TrustZone</description>
182 <require condition="CM33"/>
186 <condition id="CA9_DP">
187 <description>Cortex-A9 processor based device using Floating Point Unit (DP)</description>
188 <require Dcore="Cortex-A9" Dfpu="DP_FPU"/>
191 <condition id="CoreM">
192 <description>Cortex-M processor based device</description>
193 <accept condition="CM0"/>
194 <accept condition="CM3"/>
195 <accept condition="CM4"/>
196 <accept condition="CM4_FP"/>
197 <accept condition="CM7"/>
198 <accept condition="CM7_FP"/>
199 <accept condition="CM23"/>
200 <accept condition="CM33"/>
203 <condition id="CoreM_v6_v7">
204 <description>Cortex-M v6 and v7 processor based device</description>
205 <accept condition="CM0"/>
206 <accept condition="CM3"/>
207 <accept condition="CM4"/>
208 <accept condition="CM4_FP"/>
209 <accept condition="CM7"/>
210 <accept condition="CM7_FP"/>
213 <condition id="CoreM_v8">
214 <description>Cortex-M v8 processor based device</description>
215 <accept condition="CM23"/>
216 <accept condition="CM23_NoTZ"/>
217 <accept condition="CM23_TZ"/>
218 <accept condition="CM33"/>
219 <accept condition="CM33_NoTZ"/>
220 <accept condition="CM33_TZ"/>
223 <condition id="CoreA">
224 <description>Cortex-A processor based device</description>
225 <accept condition="CA9_DP"/>
228 <!-- ARMCC compiler -->
229 <condition id="CM0_ARMCC">
230 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 5</description>
231 <require condition="CM0"/>
232 <require condition="ARMCC"/>
235 <condition id="CM3_ARMCC">
236 <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 5</description>
237 <require condition="CM3"/>
238 <require condition="ARMCC"/>
241 <condition id="CM4_ARMCC">
242 <description>Cortex-M4 processor based device for the ARM Compiler 5</description>
243 <require condition="CM4"/>
244 <require condition="ARMCC"/>
246 <condition id="CM4_FP_ARMCC">
247 <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 5</description>
248 <require condition="CM4_FP"/>
249 <require condition="ARMCC"/>
252 <condition id="CM7_ARMCC">
253 <description>Cortex-M7 processor based device for the ARM Compiler 5</description>
254 <require condition="CM7"/>
255 <require condition="ARMCC"/>
257 <condition id="CM7_SP_ARMCC">
258 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 5</description>
259 <require condition="CM7_SP"/>
260 <require condition="ARMCC"/>
262 <condition id="CM7_DP_ARMCC">
263 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 5</description>
264 <require condition="CM7_DP"/>
265 <require condition="ARMCC"/>
268 <condition id="CA9_DP_ARMCC">
269 <description>Cortex-A9 processor based device for the ARM Compiler 5</description>
270 <require condition="CA9_DP"/>
271 <require condition="ARMCC"/>
274 <!-- ARMCC6 compiler -->
275 <condition id="CM0_ARMCC6">
276 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 6</description>
277 <require condition="CM0"/>
278 <require condition="ARMCC6"/>
281 <condition id="CM3_ARMCC6">
282 <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 6</description>
283 <require condition="CM3"/>
284 <require condition="ARMCC6"/>
287 <condition id="CM4_ARMCC6">
288 <description>Cortex-M4 processor based device for the ARM Compiler 6</description>
289 <require condition="CM4"/>
290 <require condition="ARMCC6"/>
292 <condition id="CM4_FP_ARMCC6">
293 <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 6</description>
294 <require condition="CM4_FP"/>
295 <require condition="ARMCC6"/>
298 <condition id="CM7_ARMCC6">
299 <description>Cortex-M7 processor based device for the ARM Compiler 6</description>
300 <require condition="CM7"/>
301 <require condition="ARMCC6"/>
303 <condition id="CM7_SP_ARMCC6">
304 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 6</description>
305 <require condition="CM7_SP"/>
306 <require condition="ARMCC6"/>
308 <condition id="CM7_DP_ARMCC6">
309 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 6</description>
310 <require condition="CM7_DP"/>
311 <require condition="ARMCC6"/>
314 <condition id="CM23_ARMCC6">
315 <description>Cortex-M23 processor based device for the ARM Compiler 6</description>
316 <require condition="CM23"/>
317 <require condition="ARMCC6"/>
319 <condition id="CM23_NoTZ_ARMCC6">
320 <description>Cortex-M23 processor based device without TrustZone for the ARM Compiler 6</description>
321 <require condition="CM23_NoTZ"/>
322 <require condition="ARMCC6"/>
324 <condition id="CM23_TZ_ARMCC6">
325 <description>Cortex-M23 processor based device with TrustZone for the ARM Compiler 6</description>
326 <require condition="CM23_TZ"/>
327 <require condition="ARMCC6"/>
330 <condition id="CM33_ARMCC6">
331 <description>Cortex-M33 processor based device for the ARM Compiler 6</description>
332 <require condition="CM33"/>
333 <require condition="ARMCC6"/>
335 <condition id="CM33_NoTZ_ARMCC6">
336 <description>Cortex-M33 processor based device without TrustZone for the ARM Compiler 6</description>
337 <require condition="CM33_NoTZ"/>
338 <require condition="ARMCC6"/>
340 <condition id="CM33_TZ_ARMCC6">
341 <description>Cortex-M33 processor based device with TrustZone for the ARM Compiler 6</description>
342 <require condition="CM33_TZ"/>
343 <require condition="ARMCC6"/>
346 <condition id="CA9_DP_ARMCC6">
347 <description>Cortex-A9 processor based device for the ARM Compiler 6</description>
348 <require condition="CA9_DP"/>
349 <require condition="ARMCC6"/>
352 <!-- GCC compiler -->
353 <condition id="CM0_GCC">
354 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the GCC Compiler</description>
355 <require condition="CM0"/>
356 <require condition="GCC"/>
359 <condition id="CM3_GCC">
360 <description>Cortex-M3 or SC300 processor based device for the GCC Compiler</description>
361 <require condition="CM3"/>
362 <require condition="GCC"/>
365 <condition id="CM4_GCC">
366 <description>Cortex-M4 processor based device for the GCC Compiler</description>
367 <require condition="CM4"/>
368 <require condition="GCC"/>
370 <condition id="CM4_FP_GCC">
371 <description>Cortex-M4 processor based device using Floating Point Unit for the GCC Compiler</description>
372 <require condition="CM4_FP"/>
373 <require condition="GCC"/>
376 <condition id="CM7_GCC">
377 <description>Cortex-M7 processor based device for the GCC Compiler</description>
378 <require condition="CM7"/>
379 <require condition="GCC"/>
381 <condition id="CM7_SP_GCC">
382 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the GCC Compiler</description>
383 <require condition="CM7_SP"/>
384 <require condition="GCC"/>
386 <condition id="CM7_DP_GCC">
387 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the GCC Compiler</description>
388 <require condition="CM7_DP"/>
389 <require condition="GCC"/>
392 <condition id="CM23_GCC">
393 <description>Cortex-M23 processor based device for the GCC Compiler</description>
394 <require condition="CM23"/>
395 <require condition="GCC"/>
397 <condition id="CM23_NoTZ_GCC">
398 <description>Cortex-M23 processor based device without TrustZone for the GCC Compiler</description>
399 <require condition="CM23_NoTZ"/>
400 <require condition="GCC"/>
402 <condition id="CM23_TZ_GCC">
403 <description>Cortex-M23 processor based device with TrustZone for the GCC Compiler</description>
404 <require condition="CM23_TZ"/>
405 <require condition="GCC"/>
408 <condition id="CM33_GCC">
409 <description>Cortex-M33 processor based device for the GCC Compiler</description>
410 <require condition="CM33"/>
411 <require condition="GCC"/>
413 <condition id="CM33_NoTZ_GCC">
414 <description>Cortex-M33 processor based device without TrustZone for the GCC Compiler</description>
415 <require condition="CM33_NoTZ"/>
416 <require condition="GCC"/>
418 <condition id="CM33_TZ_GCC">
419 <description>Cortex-M33 processor based device with TrustZone for the GCC Compiler</description>
420 <require condition="CM33_TZ"/>
421 <require condition="GCC"/>
424 <condition id="CA9_DP_GCC">
425 <description>Cortex-A9 processor based device for the GCC Compiler</description>
426 <require condition="CA9_DP"/>
427 <require condition="GCC"/>
430 <!-- IAR compiler -->
431 <condition id="CM0_IAR">
432 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the IAR Compiler</description>
433 <require condition="CM0"/>
434 <require condition="IAR"/>
437 <condition id="CM3_IAR">
438 <description>Cortex-M3 or SC300 processor based device for the IAR Compiler</description>
439 <require condition="CM3"/>
440 <require condition="IAR"/>
443 <condition id="CM4_IAR">
444 <description>Cortex-M4 processor based device for the IAR Compiler</description>
445 <require condition="CM4"/>
446 <require condition="IAR"/>
448 <condition id="CM4_FP_IAR">
449 <description>Cortex-M4 processor based device using Floating Point Unit for the IAR Compiler</description>
450 <require condition="CM4_FP"/>
451 <require condition="IAR"/>
454 <condition id="CM7_IAR">
455 <description>Cortex-M7 processor based device for the IAR Compiler</description>
456 <require condition="CM7"/>
457 <require condition="IAR"/>
459 <condition id="CM7_SP_IAR">
460 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the IAR Compiler</description>
461 <require condition="CM7_SP"/>
462 <require condition="IAR"/>
464 <condition id="CM7_DP_IAR">
465 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the IAR Compiler</description>
466 <require condition="CM7_DP"/>
467 <require condition="IAR"/>
470 <condition id="CM23_IAR">
471 <description>Cortex-M23 processor based device for the IAR Compiler</description>
472 <require condition="CM23"/>
473 <require condition="IAR"/>
475 <condition id="CM23_NoTZ_IAR">
476 <description>Cortex-M23 processor based device without TrustZone for the IAR Compiler</description>
477 <require condition="CM23_NoTZ"/>
478 <require condition="IAR"/>
480 <condition id="CM23_TZ_IAR">
481 <description>Cortex-M23 processor based device with TrustZone for the IAR Compiler</description>
482 <require condition="CM23_TZ"/>
483 <require condition="IAR"/>
486 <condition id="CM33_IAR">
487 <description>Cortex-M33 processor based device for the IAR Compiler</description>
488 <require condition="CM33"/>
489 <require condition="IAR"/>
491 <condition id="CM33_NoTZ_IAR">
492 <description>Cortex-M33 processor based device without TrustZone for the IAR Compiler</description>
493 <require condition="CM33_NoTZ"/>
494 <require condition="IAR"/>
496 <condition id="CM33_TZ_IAR">
497 <description>Cortex-M33 processor based device with TrustZone for the IAR Compiler</description>
498 <require condition="CM33_TZ"/>
499 <require condition="IAR"/>
502 <condition id="CA9_DP_IAR">
503 <description>Cortex-A9 processor based device for the IAR Compiler</description>
504 <require condition="CA9_DP"/>
505 <require condition="IAR"/>
508 <!-- FreeRTOS ports for the Arm Cortex core -->
509 <condition id="FreeRTOS Port Cortex-A">
510 <description>Requirements for FreeRTOS port for Cortex-A</description>
511 <require condition="ARMCC ARMCC6 GCC IAR"/>
512 <require condition="CoreA"/>
514 <condition id="FreeRTOS Port Cortex-M">
515 <description>Requirements for FreeRTOS port for Cortex-M v6 and v7</description>
516 <require condition="ARMCC ARMCC6 GCC IAR"/>
517 <require condition="CoreM_v6_v7"/>
519 <condition id="FreeRTOS Port Cortex-M v8">
520 <description>Requirements for FreeRTOS port for Cortex-M v8</description>
521 <require condition="ARMCC6 GCC IAR"/>
522 <require condition="CoreM_v8"/>
524 <condition id="FreeRTOS Port">
525 <description>FreeRTOS ports for Arm Cortex combined</description>
526 <accept condition="FreeRTOS Port Cortex-A"/>
527 <accept condition="FreeRTOS Port Cortex-M"/>
528 <accept condition="FreeRTOS Port Cortex-M v8"/>
531 <!-- Conditions for RTOS::FreeRTOS components -->
532 <condition id="FreeRTOS Core CA">
533 <description>Requirements for FreeRTOS Core for Cortex-A</description>
534 <require condition="FreeRTOS Port Cortex-A"/>
536 <require Cclass="Device" Cgroup="Startup"/>
537 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
538 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
541 <condition id="FreeRTOS Core CM">
542 <description>Requirements for FreeRTOS Core for Cortex-M</description>
543 <accept condition="FreeRTOS Port Cortex-M"/>
544 <accept condition="FreeRTOS Port Cortex-M v8"/>
546 <require Cclass="Device" Cgroup="Startup"/>
547 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
548 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
551 <condition id="FreeRTOS Core MPU CM3 CM4">
552 <description>Requirements for FreeRTOS Core with MPU support for CM3 and CM4</description>
553 <require condition="ARMCC6 GCC"/>
554 <accept condition="CM3"/>
555 <accept condition="CM4"/>
557 <require Cclass="Device" Cgroup="Startup"/>
558 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
559 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
560 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
561 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
562 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
563 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
566 <condition id="FreeRTOS Core MPU CM4_FP">
567 <description>Requirements for FreeRTOS Core with MPU support for CM4 with FPU</description>
568 <require condition="ARMCC ARMCC6 GCC IAR"/>
569 <require condition="CM4_FP"/>
571 <require Cclass="Device" Cgroup="Startup"/>
572 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
573 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
574 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
575 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
576 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
577 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
580 <condition id="FreeRTOS Core TZ">
581 <description>Requirements for FreeRTOS Core with TrustZone support</description>
582 <require condition="ARMCC6 GCC IAR"/>
583 <accept condition="CM23_TZ"/>
584 <accept condition="CM33_TZ"/>
586 <require Cclass="Device" Cgroup="Startup"/>
587 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
588 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
591 <condition id="FreeRTOS Core TZ MPU">
592 <description>Requirements for FreeRTOS Core with TrustZone and MPU support</description>
593 <require condition="ARMCC6 GCC IAR"/>
594 <accept condition="CM23_TZ"/>
595 <accept condition="CM33_TZ"/>
597 <require Cclass="Device" Cgroup="Startup"/>
598 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
599 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
600 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
601 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
602 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
603 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
606 <condition id="FreeRTOS Config Native">
607 <description>Components required for FreeRTOS Config Native variant</description>
608 <require condition="FreeRTOS Port"/>
610 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
613 <condition id="FreeRTOS Config CMSIS RTOS2">
614 <description>Components required for FreeRTOS Config CMSIS RTOS2 variant</description>
615 <require condition="FreeRTOS Port"/>
617 <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
620 <condition id="FreeRTOS Coroutines">
621 <description>Components required for FreeRTOS Coroutines</description>
622 <require condition="FreeRTOS Port"/>
624 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
627 <condition id="FreeRTOS Event Groups">
628 <description>Components required for FreeRTOS Event Groups</description>
629 <require condition="FreeRTOS Port"/>
631 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
634 <condition id="FreeRTOS Heap">
635 <description>Components required for FreeRTOS Heap</description>
636 <require condition="FreeRTOS Port"/>
638 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
641 <condition id="FreeRTOS Message Buffer">
642 <description>Components required for FreeRTOS Message Buffer</description>
643 <require condition="FreeRTOS Port"/>
645 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
648 <condition id="FreeRTOS Stream Buffer">
649 <description>Components required for FreeRTOS Stream Buffer</description>
650 <require condition="FreeRTOS Port"/>
652 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
655 <condition id="FreeRTOS Timers">
656 <description>Components required for FreeRTOS Timers</description>
657 <require condition="FreeRTOS Port"/>
659 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
662 <condition id="FreeRTOS TrustZone">
663 <description>Components required for FreeRTOS TrustZone</description>
664 <accept condition="CM23_TZ"/>
665 <accept condition="CM33_TZ"/>
666 <!-- TrustZone Secure Context is a standalone component -->
667 <deny Cclass="CMSIS" Cgroup="RTOS" Csub="FreeRTOS"/>
668 <deny Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
670 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
671 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
672 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Coroutines"/>
673 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
674 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
675 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
676 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
677 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
680 <condition id="CMSIS RTOS FreeRTOS">
681 <description>Components required for CMSIS RTOS API on top of FreeRTOS</description>
682 <require condition="FreeRTOS Port"/>
684 <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
687 <condition id="CMSIS RTOS2 FreeRTOS CortexM">
688 <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-M</description>
689 <accept condition="FreeRTOS Port Cortex-M"/>
690 <accept condition="FreeRTOS Port Cortex-M v8"/>
692 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
693 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
694 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
695 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
698 <condition id="CMSIS RTOS2 FreeRTOS CortexA">
699 <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-A</description>
700 <require condition="FreeRTOS Port Cortex-A"/>
702 <require Cclass="Device" Cgroup="IRQ Controller"/>
703 <require Cclass="Device" Cgroup="OS Tick"/>
704 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
705 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
706 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
707 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
713 <!-- CMSIS-RTOS FreeRTOS component -->
714 <component Cclass="CMSIS" Cgroup="RTOS" Csub="FreeRTOS" Cversion="10.2.1" Capiversion="1.0.0" condition="CMSIS RTOS FreeRTOS">
715 <description>CMSIS-RTOS implementation for Cortex-M based on FreeRTOS</description>
717 #define RTE_CMSIS_RTOS /* CMSIS-RTOS */
718 #define RTE_CMSIS_RTOS_FreeRTOS /* CMSIS-RTOS FreeRTOS */
721 <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include1/cmsis_os.h"/>
722 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os1.c"/>
726 <!-- CMSIS-RTOS2 FreeRTOS component -->
727 <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="10.2.1" Capiversion="2.1.3" condition="CMSIS RTOS2 FreeRTOS CortexM">
728 <description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
730 #define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
731 #define RTE_CMSIS_RTOS2_FreeRTOS /* CMSIS-RTOS2 FreeRTOS */
734 <file category="doc" name="CMSIS/Documentation/General/html/index.html"/>
735 <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
736 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
737 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
738 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
740 <!-- OS Tick (SysTick) -->
741 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/os_systick.c"/>
745 <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="10.2.1" Capiversion="2.1.3" condition="CMSIS RTOS2 FreeRTOS CortexA">
746 <description>CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS</description>
748 #define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
749 #define RTE_CMSIS_RTOS2_FreeRTOS /* CMSIS-RTOS2 FreeRTOS */
752 <file category="doc" name="CMSIS/Documentation/General/html/index.html"/>
753 <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
754 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
755 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
756 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
758 <file category="source" attr="config" name="CMSIS/RTOS2/FreeRTOS/Source/handlers.c" version="9.1.0"/>
762 <bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="10.2.1">
763 <description>FreeRTOS Real Time Kernel</description>
764 <doc>https://www.freertos.org/Documentation/FreeRTOS_Reference_Manual_V10.0.0.pdf</doc>
766 <component Cgroup="Core" Cvariant="Cortex-M" isDefaultVariant="true" condition="FreeRTOS Core CM">
767 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M</description>
769 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
772 <file category="include" name="Source/include/"/>
774 <file category="header" name="Source/include/FreeRTOS.h"/>
775 <file category="header" name="Source/include/queue.h"/>
776 <file category="header" name="Source/include/semphr.h"/>
777 <file category="header" name="Source/include/task.h"/>
779 <file category="source" name="Source/list.c"/>
780 <file category="source" name="Source/queue.c"/>
781 <file category="source" name="Source/tasks.c"/>
783 <file category="include" condition="CM0_ARMCC" name="Source/portable/RVDS/ARM_CM0/"/>
784 <file category="source" condition="CM0_ARMCC" name="Source/portable/RVDS/ARM_CM0/port.c"/>
785 <file category="include" condition="CM3_ARMCC" name="Source/portable/RVDS/ARM_CM3/"/>
786 <file category="source" condition="CM3_ARMCC" name="Source/portable/RVDS/ARM_CM3/port.c"/>
787 <file category="include" condition="CM4_ARMCC" name="Source/portable/RVDS/ARM_CM3/"/>
788 <file category="source" condition="CM4_ARMCC" name="Source/portable/RVDS/ARM_CM3/port.c"/>
789 <file category="include" condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/"/>
790 <file category="source" condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/port.c"/>
791 <file category="include" condition="CM7_ARMCC" name="Source/portable/RVDS/ARM_CM3/"/>
792 <file category="source" condition="CM7_ARMCC" name="Source/portable/RVDS/ARM_CM3/port.c"/>
793 <file category="include" condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
794 <file category="source" condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
795 <file category="include" condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
796 <file category="source" condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
798 <file category="include" condition="CM0_ARMCC6" name="Source/portable/GCC/ARM_CM0/"/>
799 <file category="source" condition="CM0_ARMCC6" name="Source/portable/GCC/ARM_CM0/port.c"/>
800 <file category="include" condition="CM3_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
801 <file category="source" condition="CM3_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
802 <file category="include" condition="CM4_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
803 <file category="source" condition="CM4_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
804 <file category="include" condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/"/>
805 <file category="source" condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/port.c"/>
806 <file category="include" condition="CM7_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
807 <file category="source" condition="CM7_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
808 <file category="include" condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
809 <file category="source" condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
810 <file category="include" condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
811 <file category="source" condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
812 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
813 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
814 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
815 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
816 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
817 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
819 <file category="include" condition="CM0_GCC" name="Source/portable/GCC/ARM_CM0/"/>
820 <file category="source" condition="CM0_GCC" name="Source/portable/GCC/ARM_CM0/port.c"/>
821 <file category="include" condition="CM3_GCC" name="Source/portable/GCC/ARM_CM3/"/>
822 <file category="source" condition="CM3_GCC" name="Source/portable/GCC/ARM_CM3/port.c"/>
823 <file category="include" condition="CM4_GCC" name="Source/portable/GCC/ARM_CM3/"/>
824 <file category="source" condition="CM4_GCC" name="Source/portable/GCC/ARM_CM3/port.c"/>
825 <file category="include" condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/"/>
826 <file category="source" condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/port.c"/>
827 <file category="include" condition="CM7_GCC" name="Source/portable/GCC/ARM_CM3/"/>
828 <file category="source" condition="CM7_GCC" name="Source/portable/GCC/ARM_CM3/port.c"/>
829 <file category="include" condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
830 <file category="source" condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
831 <file category="include" condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
832 <file category="source" condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
833 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
834 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
835 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
836 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
837 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
838 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
840 <file category="include" condition="CM0_IAR" name="Source/portable/IAR/ARM_CM0/"/>
841 <file category="source" condition="CM0_IAR" name="Source/portable/IAR/ARM_CM0/port.c"/>
842 <file category="sourceAsm" condition="CM0_IAR" name="Source/portable/IAR/ARM_CM0/portasm.s"/>
843 <file category="include" condition="CM3_IAR" name="Source/portable/IAR/ARM_CM3/"/>
844 <file category="source" condition="CM3_IAR" name="Source/portable/IAR/ARM_CM3/port.c"/>
845 <file category="sourceAsm" condition="CM3_IAR" name="Source/portable/IAR/ARM_CM3/portasm.s"/>
846 <file category="include" condition="CM4_IAR" name="Source/portable/IAR/ARM_CM3/"/>
847 <file category="source" condition="CM4_IAR" name="Source/portable/IAR/ARM_CM3/port.c"/>
848 <file category="sourceAsm" condition="CM4_IAR" name="Source/portable/IAR/ARM_CM3/portasm.s"/>
849 <file category="include" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/"/>
850 <file category="source" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/port.c"/>
851 <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/portasm.s"/>
852 <file category="include" condition="CM7_IAR" name="Source/portable/IAR/ARM_CM3/"/>
853 <file category="source" condition="CM7_IAR" name="Source/portable/IAR/ARM_CM3/port.c"/>
854 <file category="sourceAsm" condition="CM7_IAR" name="Source/portable/IAR/ARM_CM3/portasm.s"/>
855 <file category="include" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
856 <file category="source" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
857 <file category="sourceAsm" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
858 <file category="include" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
859 <file category="source" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
860 <file category="sourceAsm" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
861 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/"/>
862 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/port.c"/>
863 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s"/>
864 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
865 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
866 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
868 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
869 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
870 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
874 <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS Core MPU CM3 CM4">
875 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
877 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
878 #define RTE_RTOS_FreeRTOS_CORE_MPU /* RTOS FreeRTOS Core with MPU support */
881 <file category="include" name="Source/include/"/>
883 <file category="header" name="Source/include/FreeRTOS.h"/>
884 <file category="header" name="Source/include/queue.h"/>
885 <file category="header" name="Source/include/semphr.h"/>
886 <file category="header" name="Source/include/task.h"/>
888 <file category="source" name="Source/list.c"/>
889 <file category="source" name="Source/queue.c"/>
890 <file category="source" name="Source/tasks.c"/>
891 <file category="source" name="Source/portable/Common/mpu_wrappers.c"/>
893 <file category="include" condition="ARMCC6 GCC" name="Source/portable/GCC/ARM_CM3_MPU/"/>
894 <file category="source" condition="ARMCC6 GCC" name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
896 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
897 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
898 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
903 <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS Core MPU CM4_FP">
904 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
906 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
907 #define RTE_RTOS_FreeRTOS_CORE_MPU /* RTOS FreeRTOS Core with MPU support */
910 <file category="include" name="Source/include/"/>
912 <file category="header" name="Source/include/FreeRTOS.h"/>
913 <file category="header" name="Source/include/queue.h"/>
914 <file category="header" name="Source/include/semphr.h"/>
915 <file category="header" name="Source/include/task.h"/>
917 <file category="source" name="Source/list.c"/>
918 <file category="source" name="Source/queue.c"/>
919 <file category="source" name="Source/tasks.c"/>
920 <file category="source" name="Source/portable/Common/mpu_wrappers.c"/>
922 <file category="include" condition="ARMCC" name="Source/portable/RVDS/ARM_CM4_MPU/"/>
923 <file category="source" condition="ARMCC" name="Source/portable/RVDS/ARM_CM4_MPU/port.c"/>
925 <file category="include" condition="ARMCC6" name="Source/portable/GCC/ARM_CM4_MPU/"/>
926 <file category="source" condition="ARMCC6" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
928 <file category="include" condition="GCC" name="Source/portable/GCC/ARM_CM4_MPU/"/>
929 <file category="source" condition="GCC" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
931 <file category="include" condition="IAR" name="Source/portable/IAR/ARM_CM4F_MPU/"/>
932 <file category="source" condition="IAR" name="Source/portable/IAR/ARM_CM4F_MPU/port.c"/>
933 <file category="sourceAsm" condition="IAR" name="Source/portable/IAR/ARM_CM4F_MPU/portasm.s"/>
935 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
936 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
937 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
942 <component Cgroup="Core" Cvariant="Cortex-M Non-Secure" condition="FreeRTOS Core TZ">
943 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone)</description>
945 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
946 #define RTE_RTOS_FreeRTOS_CORE_TZ_NS /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
949 <file category="include" name="Source/include/"/>
951 <file category="header" name="Source/include/FreeRTOS.h"/>
952 <file category="header" name="Source/include/queue.h"/>
953 <file category="header" name="Source/include/semphr.h"/>
954 <file category="header" name="Source/include/task.h"/>
956 <file category="source" name="Source/list.c"/>
957 <file category="source" name="Source/queue.c"/>
958 <file category="source" name="Source/tasks.c"/>
960 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
961 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
962 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
963 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
964 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
965 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
966 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
967 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
969 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/secure/"/>
970 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
971 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
972 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
973 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/secure/"/>
974 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
975 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
976 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
978 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/secure/"/>
979 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/"/>
980 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
981 <file category="sourceAsm" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
982 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/secure/"/>
983 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/"/>
984 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
985 <file category="sourceAsm" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
987 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
988 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
989 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
994 <component Cgroup="Core" Cvariant="Cortex-M Non-Secure MPU" condition="FreeRTOS Core TZ MPU">
995 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone) and MPU</description>
997 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
998 #define RTE_RTOS_FreeRTOS_CORE_MPU /* RTOS FreeRTOS Core with MPU support */
999 #define RTE_RTOS_FreeRTOS_CORE_TZ_NS /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
1002 <file category="include" name="Source/include/"/>
1004 <file category="header" name="Source/include/FreeRTOS.h"/>
1005 <file category="header" name="Source/include/queue.h"/>
1006 <file category="header" name="Source/include/semphr.h"/>
1007 <file category="header" name="Source/include/task.h"/>
1009 <file category="source" name="Source/list.c"/>
1010 <file category="source" name="Source/queue.c"/>
1011 <file category="source" name="Source/tasks.c"/>
1012 <file category="source" name="Source/portable/Common/mpu_wrappers.c"/>
1014 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
1015 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
1016 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
1017 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
1018 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1019 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1020 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1021 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1023 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/secure/"/>
1024 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
1025 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
1026 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
1027 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/secure/"/>
1028 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1029 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1030 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1032 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/secure/"/>
1033 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/"/>
1034 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
1035 <file category="sourceAsm" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
1036 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/secure/"/>
1037 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1038 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1039 <file category="sourceAsm" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1041 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1042 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1043 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1047 <component Cgroup="Core" Cvariant="Cortex-A" isDefaultVariant="true" condition="FreeRTOS Core CA">
1048 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-A</description>
1050 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
1053 <file category="include" name="Source/include/"/>
1055 <file category="header" name="Source/include/FreeRTOS.h"/>
1056 <file category="header" name="Source/include/queue.h"/>
1057 <file category="header" name="Source/include/semphr.h"/>
1058 <file category="header" name="Source/include/task.h"/>
1060 <file category="source" name="Source/list.c"/>
1061 <file category="source" name="Source/queue.c"/>
1062 <file category="source" name="Source/tasks.c"/>
1064 <file category="include" condition="ARMCC" name="Source/portable/RVDS/ARM_CA9/"/>
1065 <file category="source" condition="ARMCC" name="Source/portable/RVDS/ARM_CA9/port.c"/>
1066 <file category="sourceAsm" condition="ARMCC" name="Source/portable/RVDS/ARM_CA9/portASM.s"/>
1068 <file category="include" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/"/>
1069 <file category="source" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/port.c"/>
1070 <file category="sourceAsm" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1072 <file category="include" condition="GCC" name="Source/portable/GCC/ARM_CA9/"/>
1073 <file category="source" condition="GCC" name="Source/portable/GCC/ARM_CA9/port.c"/>
1074 <file category="sourceAsm" condition="GCC" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1076 <file category="include" condition="IAR" name="Source/portable/IAR/ARM_CA9/"/>
1077 <file category="source" condition="IAR" name="Source/portable/IAR/ARM_CA9/port.c"/>
1078 <file category="sourceAsm" condition="IAR" name="Source/portable/IAR/ARM_CA9/portASM.s"/>
1080 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1081 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1082 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1086 <component Cgroup="Config" Cvariant="CMSIS RTOS2" condition="FreeRTOS Config CMSIS RTOS2">
1087 <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
1089 #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2 /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
1092 <file category="doc" name="CMSIS/Documentation/General/html/cre_freertos_proj.html#cmsis_freertos_config"/>
1093 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM/FreeRTOSConfig.h" version="10.2.0" condition="CoreM"/>
1094 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCA/FreeRTOSConfig.h" version="10.2.0" condition="CoreA"/>
1098 <component Cgroup="Config" Cvariant="FreeRTOS" condition="FreeRTOS Config Native">
1099 <description>FreeRTOS API configuration file</description>
1101 #define RTE_RTOS_FreeRTOS_CONFIG /* RTOS FreeRTOS Config for FreeRTOS API */
1104 <file category="doc" name="CMSIS/Documentation/General/html/cre_freertos_proj.html#native_freertos_config"/>
1105 <file category="header" attr="config" name="Config/ARMCM/FreeRTOSConfig.h" version="10.2.0" condition="CoreM"/>
1106 <file category="header" attr="config" name="Config/ARMCA/FreeRTOSConfig.h" version="10.2.0" condition="CoreA"/>
1110 <component Cgroup="Coroutines" condition="FreeRTOS Coroutines">
1111 <description>Co-routine API</description>
1113 #define RTE_RTOS_FreeRTOS_COROUTINE /* RTOS FreeRTOS Co-routines */
1116 <file category="header" name="Source/include/croutine.h"/>
1117 <file category="source" name="Source/croutine.c"/>
1121 <component Cgroup="Event Groups" condition="FreeRTOS Event Groups">
1122 <description>Event Group API</description>
1124 #define RTE_RTOS_FreeRTOS_EVENTGROUPS /* RTOS FreeRTOS Event Groups */
1127 <file category="header" name="Source/include/event_groups.h"/>
1128 <file category="source" name="Source/event_groups.c"/>
1132 <component Cgroup="Heap" Cvariant="Heap_1" condition="FreeRTOS Heap">
1133 <description>Very simple, does not permit memory to be freed.</description>
1135 #define RTE_RTOS_FreeRTOS_HEAP_1 /* RTOS FreeRTOS Heap 1 */
1138 <file category="source" name="Source/portable/MemMang/heap_1.c"/>
1139 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1143 <component Cgroup="Heap" Cvariant="Heap_2" condition="FreeRTOS Heap">
1144 <description>Permits memory to be freed, but not does coalescence adjacent free memory blocks.</description>
1146 #define RTE_RTOS_FreeRTOS_HEAP_2 /* RTOS FreeRTOS Heap 2 */
1149 <file category="source" name="Source/portable/MemMang/heap_2.c"/>
1150 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1154 <component Cgroup="Heap" Cvariant="Heap_3" condition="FreeRTOS Heap">
1155 <description>Wraps the standard malloc() and free() for thread safety.</description>
1157 #define RTE_RTOS_FreeRTOS_HEAP_3 /* RTOS FreeRTOS Heap 3 */
1160 <file category="source" name="Source/portable/MemMang/heap_3.c"/>
1161 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1165 <component Cgroup="Heap" Cvariant="Heap_4" condition="FreeRTOS Heap" isDefaultVariant="true">
1166 <description>Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.</description>
1168 #define RTE_RTOS_FreeRTOS_HEAP_4 /* RTOS FreeRTOS Heap 4 */
1171 <file category="source" name="Source/portable/MemMang/heap_4.c"/>
1172 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1176 <component Cgroup="Heap" Cvariant="Heap_5" condition="FreeRTOS Heap">
1177 <description>Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.</description>
1179 #define RTE_RTOS_FreeRTOS_HEAP_5 /* RTOS FreeRTOS Heap 5 */
1182 <file category="source" name="Source/portable/MemMang/heap_5.c"/>
1183 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1187 <component Cgroup="Message Buffer" condition="FreeRTOS Message Buffer">
1188 <description>Message Buffer API</description>
1190 #define RTE_RTOS_FreeRTOS_MESSAGE_BUFFER /* RTOS FreeRTOS Message Buffers */
1193 <file category="header" name="Source/include/message_buffer.h"/>
1194 <file category="source" name="Source/stream_buffer.c"/>
1198 <component Cgroup="Stream Buffer" condition="FreeRTOS Stream Buffer">
1199 <description>Stream Buffer API</description>
1201 #define RTE_RTOS_FreeRTOS_STREAM_BUFFER /* RTOS FreeRTOS Stream Buffers */
1204 <file category="header" name="Source/include/stream_buffer.h"/>
1205 <file category="source" name="Source/stream_buffer.c"/>
1209 <component Cgroup="Timers" condition="FreeRTOS Timers">
1210 <description>Timer API</description>
1212 #define RTE_RTOS_FreeRTOS_TIMERS /* RTOS FreeRTOS Timers */
1215 <file category="header" name="Source/include/timers.h"/>
1216 <file category="source" name="Source/timers.c"/>
1220 <component Cgroup="TrustZone" condition="FreeRTOS TrustZone">
1221 <description>TrustZone Secure Context API</description>
1223 #define RTE_RTOS_FreeRTOS_TZ
1226 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM_TZ/FreeRTOSConfig.h" version="10.2.0"/>
1228 <file category="header" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1229 <file category="include" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
1230 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1231 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1232 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1233 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1234 <file category="header" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1235 <file category="include" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1236 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1237 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1238 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1239 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1241 <file category="header" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1242 <file category="include" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/"/>
1243 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1244 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1245 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1246 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1247 <file category="header" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1248 <file category="include" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/"/>
1249 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1250 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1251 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1252 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1254 <file category="header" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_port_macros.h"/>
1255 <file category="include" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/"/>
1256 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_context.c"/>
1257 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_context_port.c"/>
1258 <file category="sourceAsm" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s"/>
1259 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_heap.c"/>
1260 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_init.c"/>
1261 <file category="header" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_port_macros.h"/>
1262 <file category="include" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/"/>
1263 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_context.c"/>
1264 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_context_port.c"/>
1265 <file category="sourceAsm" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s"/>
1266 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_heap.c"/>
1267 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_init.c"/>
1274 <example name="CMSIS-RTOS2 FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky">
1275 <description>CMSIS-RTOS2 Blinky example using FreeRTOS</description>
1276 <board name="uVision Simulator" vendor="Keil"/>
1278 <environment name="uv" load="Blinky.uvprojx"/>
1281 <component Cclass="CMSIS" Cgroup="CORE"/>
1282 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1283 <component Cclass="Device" Cgroup="Startup"/>
1284 <category>Getting Started</category>
1288 <example name="Native FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Native_Blinky">
1289 <description>Blinky example using FreeRTOS natively</description>
1290 <board name="uVision Simulator" vendor="Keil"/>
1292 <environment name="uv" load="Blinky.uvprojx"/>
1295 <component Cclass="CMSIS" Cgroup="CORE"/>
1296 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1297 <component Cclass="Device" Cgroup="Startup"/>
1298 <category>Getting Started</category>
1302 <example name="TrustZone for ARMv8-M" doc="NonSecure/Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/TrustZone">
1303 <description>CMSIS-RTOS2 example with secure/non-secure thread context management using FreeRTOS</description>
1304 <board name="uVision Simulator" vendor="Keil"/>
1306 <environment name="uv" load="TrustZone.uvmpw"/>
1309 <component Cclass="CMSIS" Cgroup="CORE"/>
1310 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1311 <component Cclass="Device" Cgroup="Startup"/>
1312 <category>Getting Started</category>