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-dev2">
12 - Moved device and environment specifics into separate header
13 - Added implementation of the osMemoryPool functions using FreeRTOS
14 - Removed Cortex-A example (will be available in separate pack)
16 <release version="10.2.1-dev1">
17 - Updated to FreeRTOS 10.2.1
19 <release version="10.2.1-dev0">
20 - Corrected osThreadGetStackSpace return value (bytes instead of words)
22 <release version="10.2.0" date="2019-04-12">
24 Maintenance for CMSIS 5.4.0:
25 - Updated to CMSIS RTOS2 API 2.1.3
26 - Updated Arm standard C library interface
27 - Added configuration for the Event Recorder
28 - Added TrustZone example for Armv8M using RTOS2 API
29 - Enhanced FreeRTOS component viewer
30 - Corrected osDelayUntil execution duration
31 - Corrected SysTick_Handler execution when kernel is not started
32 - Corrected critical section for osKernelGetSysTimerCount
34 <release version="10.0.1" date="2018-02-20">
36 Maintenance for CMSIS 5.3.0:
37 - Added queue registry support to CMSIS:RTOS2:FreeRTOS component.
38 - Updated CMSIS-FreeRTOS component view to display queue, mutex and semaphore objects.
39 - Updated to CMSIS RTOS2 API 2.1.2 and OS Tick API 1.0.1.
40 - Fixed context switch response latency for API calls from ISR.
42 <release version="9.1.0" date="2017-08-11">
44 Maintenance release for CMSIS 5.1.0:
45 - Added support for ARM Compiler 6
46 - Updated Cortex-A example to use IRQ Controller component
47 - Corrected stack size allocation in RTOS2 osThreadNew function
48 - Added support for OS Tick component
49 - Added documentation for configuration options (native/CMSIS-RTOS2)
50 - Debug event TaskIncrementTick level set to Detail
52 <release version="9.0.0" date="2017-03-13">
53 Initial release version:
54 - native FreeRTOS component (RTOS: Variant=FreeRTOS)
55 - CMSIS-RTOS FreeRTOS for Cortex-M and Cortex-A9 (CMSIS:RTOS:FreeRTOS, CMSIS:RTOS2:FreeRTOS)
61 <package vendor="ARM" name="CMSIS" version="5.4.0-0"/>
66 <condition id="ARMCC6">
67 <accept Tcompiler="ARMCC" Toptions="AC6"/>
68 <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
70 <condition id="ARMCC">
71 <require Tcompiler="ARMCC" Toptions="AC5"/>
74 <require Tcompiler="GCC"/>
77 <require Tcompiler="IAR"/>
80 <condition id="ARMCC GCC">
81 <accept condition="ARMCC"/>
82 <accept condition="GCC"/>
84 <condition id="ARMCC6 GCC">
85 <accept condition="ARMCC6"/>
86 <accept condition="GCC"/>
88 <condition id="ARMCC GCC IAR">
89 <accept condition="ARMCC"/>
90 <accept condition="GCC"/>
91 <accept condition="IAR"/>
93 <condition id="ARMCC6 GCC IAR">
94 <accept condition="ARMCC6"/>
95 <accept condition="GCC"/>
96 <accept condition="IAR"/>
98 <condition id="ARMCC ARMCC6 GCC IAR">
99 <accept condition="ARMCC"/>
100 <accept condition="ARMCC6"/>
101 <accept condition="GCC"/>
102 <accept condition="IAR"/>
106 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device</description>
107 <accept Dcore="Cortex-M0"/>
108 <accept Dcore="Cortex-M0+"/>
109 <accept Dcore="SC000"/>
113 <description>Cortex-M3 or SC300 processor based device</description>
114 <accept Dcore="Cortex-M3"/>
115 <accept Dcore="SC300"/>
119 <description>Cortex-M4 processor based device</description>
120 <require Dcore="Cortex-M4" Dfpu="NO_FPU"/>
123 <condition id="CM4_FP">
124 <description>Cortex-M4 processor based device using Floating Point Unit</description>
125 <require Dcore="Cortex-M4" Dfpu="FPU"/>
129 <description>Cortex-M7 processor based device</description>
130 <require Dcore="Cortex-M7" Dfpu="NO_FPU"/>
133 <condition id="CM7_FP">
134 <description>Cortex-M7 processor based device using Floating Point Unit</description>
135 <accept Dcore="Cortex-M7" Dfpu="SP_FPU"/>
136 <accept Dcore="Cortex-M7" Dfpu="DP_FPU"/>
139 <condition id="CM7_SP">
140 <description>Cortex-M7 processor based device using Floating Point Unit (SP)</description>
141 <require Dcore="Cortex-M7" Dfpu="SP_FPU"/>
144 <condition id="CM7_DP">
145 <description>Cortex-M7 processor based device using Floating Point Unit (DP)</description>
146 <require Dcore="Cortex-M7" Dfpu="DP_FPU"/>
149 <condition id="CM23">
150 <description>Cortex-M23 processor based device</description>
151 <require Dcore="Cortex-M23"/>
154 <condition id="CM23_NoTZ">
155 <description>Cortex-M23 processor based device without TrustZone</description>
156 <require condition="CM23"/>
157 <require Dtz="NO_TZ"/>
160 <condition id="CM23_TZ">
161 <description>Cortex-M23 processor based device with TrustZone</description>
162 <require condition="CM23"/>
166 <condition id="CM33">
167 <description>Cortex-M33 processor based device</description>
168 <accept Dcore="Cortex-M33"/>
171 <condition id="CM33_NoTZ">
172 <description>Cortex-M33 processor based device without TrustZone</description>
173 <require condition="CM33"/>
174 <require Dtz="NO_TZ"/>
177 <condition id="CM33_TZ">
178 <description>Cortex-M33 processor based device with TrustZone</description>
179 <require condition="CM33"/>
183 <condition id="CA9_DP">
184 <description>Cortex-A9 processor based device using Floating Point Unit (DP)</description>
185 <require Dcore="Cortex-A9" Dfpu="DP_FPU"/>
188 <condition id="CoreM">
189 <description>Cortex-M processor based device</description>
190 <accept condition="CM0"/>
191 <accept condition="CM3"/>
192 <accept condition="CM4"/>
193 <accept condition="CM4_FP"/>
194 <accept condition="CM7"/>
195 <accept condition="CM7_FP"/>
196 <accept condition="CM23"/>
197 <accept condition="CM33"/>
200 <condition id="CoreM_v6_v7">
201 <description>Cortex-M v6 and v7 processor based device</description>
202 <accept condition="CM0"/>
203 <accept condition="CM3"/>
204 <accept condition="CM4"/>
205 <accept condition="CM4_FP"/>
206 <accept condition="CM7"/>
207 <accept condition="CM7_FP"/>
210 <condition id="CoreM_v8">
211 <description>Cortex-M v8 processor based device</description>
212 <accept condition="CM23"/>
213 <accept condition="CM23_NoTZ"/>
214 <accept condition="CM23_TZ"/>
215 <accept condition="CM33"/>
216 <accept condition="CM33_NoTZ"/>
217 <accept condition="CM33_TZ"/>
220 <condition id="CoreA">
221 <description>Cortex-A processor based device</description>
222 <accept condition="CA9_DP"/>
225 <!-- ARMCC compiler -->
226 <condition id="CM0_ARMCC">
227 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 5</description>
228 <require condition="CM0"/>
229 <require condition="ARMCC"/>
232 <condition id="CM3_ARMCC">
233 <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 5</description>
234 <require condition="CM3"/>
235 <require condition="ARMCC"/>
238 <condition id="CM4_ARMCC">
239 <description>Cortex-M4 processor based device for the ARM Compiler 5</description>
240 <require condition="CM4"/>
241 <require condition="ARMCC"/>
243 <condition id="CM4_FP_ARMCC">
244 <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 5</description>
245 <require condition="CM4_FP"/>
246 <require condition="ARMCC"/>
249 <condition id="CM7_ARMCC">
250 <description>Cortex-M7 processor based device for the ARM Compiler 5</description>
251 <require condition="CM7"/>
252 <require condition="ARMCC"/>
254 <condition id="CM7_SP_ARMCC">
255 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 5</description>
256 <require condition="CM7_SP"/>
257 <require condition="ARMCC"/>
259 <condition id="CM7_DP_ARMCC">
260 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 5</description>
261 <require condition="CM7_DP"/>
262 <require condition="ARMCC"/>
265 <condition id="CA9_DP_ARMCC">
266 <description>Cortex-A9 processor based device for the ARM Compiler 5</description>
267 <require condition="CA9_DP"/>
268 <require condition="ARMCC"/>
271 <!-- ARMCC6 compiler -->
272 <condition id="CM0_ARMCC6">
273 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 6</description>
274 <require condition="CM0"/>
275 <require condition="ARMCC6"/>
278 <condition id="CM3_ARMCC6">
279 <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 6</description>
280 <require condition="CM3"/>
281 <require condition="ARMCC6"/>
284 <condition id="CM4_ARMCC6">
285 <description>Cortex-M4 processor based device for the ARM Compiler 6</description>
286 <require condition="CM4"/>
287 <require condition="ARMCC6"/>
289 <condition id="CM4_FP_ARMCC6">
290 <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 6</description>
291 <require condition="CM4_FP"/>
292 <require condition="ARMCC6"/>
295 <condition id="CM7_ARMCC6">
296 <description>Cortex-M7 processor based device for the ARM Compiler 6</description>
297 <require condition="CM7"/>
298 <require condition="ARMCC6"/>
300 <condition id="CM7_SP_ARMCC6">
301 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 6</description>
302 <require condition="CM7_SP"/>
303 <require condition="ARMCC6"/>
305 <condition id="CM7_DP_ARMCC6">
306 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 6</description>
307 <require condition="CM7_DP"/>
308 <require condition="ARMCC6"/>
311 <condition id="CM23_ARMCC6">
312 <description>Cortex-M23 processor based device for the ARM Compiler 6</description>
313 <require condition="CM23"/>
314 <require condition="ARMCC6"/>
316 <condition id="CM23_NoTZ_ARMCC6">
317 <description>Cortex-M23 processor based device without TrustZone for the ARM Compiler 6</description>
318 <require condition="CM23_NoTZ"/>
319 <require condition="ARMCC6"/>
321 <condition id="CM23_TZ_ARMCC6">
322 <description>Cortex-M23 processor based device with TrustZone for the ARM Compiler 6</description>
323 <require condition="CM23_TZ"/>
324 <require condition="ARMCC6"/>
327 <condition id="CM33_ARMCC6">
328 <description>Cortex-M33 processor based device for the ARM Compiler 6</description>
329 <require condition="CM33"/>
330 <require condition="ARMCC6"/>
332 <condition id="CM33_NoTZ_ARMCC6">
333 <description>Cortex-M33 processor based device without TrustZone for the ARM Compiler 6</description>
334 <require condition="CM33_NoTZ"/>
335 <require condition="ARMCC6"/>
337 <condition id="CM33_TZ_ARMCC6">
338 <description>Cortex-M33 processor based device with TrustZone for the ARM Compiler 6</description>
339 <require condition="CM33_TZ"/>
340 <require condition="ARMCC6"/>
343 <condition id="CA9_DP_ARMCC6">
344 <description>Cortex-A9 processor based device for the ARM Compiler 6</description>
345 <require condition="CA9_DP"/>
346 <require condition="ARMCC6"/>
349 <!-- GCC compiler -->
350 <condition id="CM0_GCC">
351 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the GCC Compiler</description>
352 <require condition="CM0"/>
353 <require condition="GCC"/>
356 <condition id="CM3_GCC">
357 <description>Cortex-M3 or SC300 processor based device for the GCC Compiler</description>
358 <require condition="CM3"/>
359 <require condition="GCC"/>
362 <condition id="CM4_GCC">
363 <description>Cortex-M4 processor based device for the GCC Compiler</description>
364 <require condition="CM4"/>
365 <require condition="GCC"/>
367 <condition id="CM4_FP_GCC">
368 <description>Cortex-M4 processor based device using Floating Point Unit for the GCC Compiler</description>
369 <require condition="CM4_FP"/>
370 <require condition="GCC"/>
373 <condition id="CM7_GCC">
374 <description>Cortex-M7 processor based device for the GCC Compiler</description>
375 <require condition="CM7"/>
376 <require condition="GCC"/>
378 <condition id="CM7_SP_GCC">
379 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the GCC Compiler</description>
380 <require condition="CM7_SP"/>
381 <require condition="GCC"/>
383 <condition id="CM7_DP_GCC">
384 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the GCC Compiler</description>
385 <require condition="CM7_DP"/>
386 <require condition="GCC"/>
389 <condition id="CM23_GCC">
390 <description>Cortex-M23 processor based device for the GCC Compiler</description>
391 <require condition="CM23"/>
392 <require condition="GCC"/>
394 <condition id="CM23_NoTZ_GCC">
395 <description>Cortex-M23 processor based device without TrustZone for the GCC Compiler</description>
396 <require condition="CM23_NoTZ"/>
397 <require condition="GCC"/>
399 <condition id="CM23_TZ_GCC">
400 <description>Cortex-M23 processor based device with TrustZone for the GCC Compiler</description>
401 <require condition="CM23_TZ"/>
402 <require condition="GCC"/>
405 <condition id="CM33_GCC">
406 <description>Cortex-M33 processor based device for the GCC Compiler</description>
407 <require condition="CM33"/>
408 <require condition="GCC"/>
410 <condition id="CM33_NoTZ_GCC">
411 <description>Cortex-M33 processor based device without TrustZone for the GCC Compiler</description>
412 <require condition="CM33_NoTZ"/>
413 <require condition="GCC"/>
415 <condition id="CM33_TZ_GCC">
416 <description>Cortex-M33 processor based device with TrustZone for the GCC Compiler</description>
417 <require condition="CM33_TZ"/>
418 <require condition="GCC"/>
421 <condition id="CA9_DP_GCC">
422 <description>Cortex-A9 processor based device for the GCC Compiler</description>
423 <require condition="CA9_DP"/>
424 <require condition="GCC"/>
427 <!-- IAR compiler -->
428 <condition id="CM0_IAR">
429 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the IAR Compiler</description>
430 <require condition="CM0"/>
431 <require condition="IAR"/>
434 <condition id="CM3_IAR">
435 <description>Cortex-M3 or SC300 processor based device for the IAR Compiler</description>
436 <require condition="CM3"/>
437 <require condition="IAR"/>
440 <condition id="CM4_IAR">
441 <description>Cortex-M4 processor based device for the IAR Compiler</description>
442 <require condition="CM4"/>
443 <require condition="IAR"/>
445 <condition id="CM4_FP_IAR">
446 <description>Cortex-M4 processor based device using Floating Point Unit for the IAR Compiler</description>
447 <require condition="CM4_FP"/>
448 <require condition="IAR"/>
451 <condition id="CM7_IAR">
452 <description>Cortex-M7 processor based device for the IAR Compiler</description>
453 <require condition="CM7"/>
454 <require condition="IAR"/>
456 <condition id="CM7_SP_IAR">
457 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the IAR Compiler</description>
458 <require condition="CM7_SP"/>
459 <require condition="IAR"/>
461 <condition id="CM7_DP_IAR">
462 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the IAR Compiler</description>
463 <require condition="CM7_DP"/>
464 <require condition="IAR"/>
467 <condition id="CM23_IAR">
468 <description>Cortex-M23 processor based device for the IAR Compiler</description>
469 <require condition="CM23"/>
470 <require condition="IAR"/>
472 <condition id="CM23_NoTZ_IAR">
473 <description>Cortex-M23 processor based device without TrustZone for the IAR Compiler</description>
474 <require condition="CM23_NoTZ"/>
475 <require condition="IAR"/>
477 <condition id="CM23_TZ_IAR">
478 <description>Cortex-M23 processor based device with TrustZone for the IAR Compiler</description>
479 <require condition="CM23_TZ"/>
480 <require condition="IAR"/>
483 <condition id="CM33_IAR">
484 <description>Cortex-M33 processor based device for the IAR Compiler</description>
485 <require condition="CM33"/>
486 <require condition="IAR"/>
488 <condition id="CM33_NoTZ_IAR">
489 <description>Cortex-M33 processor based device without TrustZone for the IAR Compiler</description>
490 <require condition="CM33_NoTZ"/>
491 <require condition="IAR"/>
493 <condition id="CM33_TZ_IAR">
494 <description>Cortex-M33 processor based device with TrustZone for the IAR Compiler</description>
495 <require condition="CM33_TZ"/>
496 <require condition="IAR"/>
499 <condition id="CA9_DP_IAR">
500 <description>Cortex-A9 processor based device for the IAR Compiler</description>
501 <require condition="CA9_DP"/>
502 <require condition="IAR"/>
505 <condition id="CMSIS RTOS2 FreeRTOS">
506 <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
509 <condition id="FreeRTOS Port Cortex-A">
510 <require condition="ARMCC ARMCC6 GCC IAR"/>
511 <require condition="CoreA"/>
513 <condition id="FreeRTOS Port Cortex-M">
514 <require condition="ARMCC ARMCC6 GCC IAR"/>
515 <require condition="CoreM_v6_v7"/>
517 <condition id="FreeRTOS Port Cortex-M v8">
518 <require condition="ARMCC6 GCC IAR"/>
519 <require condition="CoreM_v8"/>
523 <condition id="FreeRTOS">
524 <!-- All existing FreeRTOS ports for Cortex combined -->
525 <accept condition="FreeRTOS Port Cortex-A"/>
526 <accept condition="FreeRTOS Port Cortex-M"/>
527 <accept condition="FreeRTOS Port Cortex-M v8"/>
530 <condition id="FreeRTOS CM">
531 <accept condition="FreeRTOS Port Cortex-M"/>
532 <accept condition="FreeRTOS Port Cortex-M v8"/>
534 <require Cclass="Device" Cgroup="Startup"/>
535 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
536 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
539 <condition id="FreeRTOS MPU CM3 CM4">
540 <require condition="ARMCC6 GCC"/>
541 <accept condition="CM3"/>
542 <accept condition="CM4"/>
544 <require Cclass="Device" Cgroup="Startup"/>
545 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
546 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
547 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
548 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
549 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
550 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
553 <condition id="FreeRTOS MPU CM4_FP">
554 <require condition="ARMCC ARMCC6 GCC IAR"/>
555 <require condition="CM4_FP"/>
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 TZ">
567 <require condition="ARMCC6 GCC IAR"/>
568 <accept condition="CM23_TZ"/>
569 <accept condition="CM33_TZ"/>
571 <require Cclass="Device" Cgroup="Startup"/>
572 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
573 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
576 <condition id="FreeRTOS TZ MPU">
577 <require condition="ARMCC6 GCC IAR"/>
578 <accept condition="CM23_TZ"/>
579 <accept condition="CM33_TZ"/>
581 <require Cclass="Device" Cgroup="Startup"/>
582 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
583 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
584 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
585 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
586 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
587 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
590 <condition id="FreeRTOS CA">
591 <require condition="ARMCC ARMCC6 GCC IAR"/>
592 <require condition="CoreA"/>
594 <require Cclass="Device" Cgroup="Startup"/>
595 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
596 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
599 <condition id="FreeRTOS Core">
600 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
603 <condition id="FreeRTOS TrustZone">
604 <accept condition="CM23_TZ"/>
605 <accept condition="CM33_TZ"/>
606 <!-- TrustZone Secure Context is a standalone component -->
607 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
608 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
609 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Coroutines"/>
610 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
611 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
612 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
613 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
614 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
617 <condition id="FreeRTOS RTOS2 Core">
618 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
619 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
620 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
621 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
624 <condition id="FreeRTOS RTOS2 CortexM">
625 <require condition="CoreM"/>
626 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
627 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
628 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
629 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
632 <condition id="FreeRTOS RTOS2 CortexA">
633 <require condition="CoreA"/>
634 <require Cclass="Device" Cgroup="IRQ Controller"/>
635 <require Cclass="Device" Cgroup="OS Tick"/>
636 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
637 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
638 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
639 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
645 <!-- CMSIS-RTOS FreeRTOS component -->
646 <component Cclass="CMSIS" Cgroup="RTOS" Csub="FreeRTOS" Cversion="10.2.1" Capiversion="1.0.0" condition="FreeRTOS RTOS2 Core">
647 <description>CMSIS-RTOS implementation for Cortex-M based on FreeRTOS</description>
649 #define RTE_CMSIS_RTOS /* CMSIS-RTOS */
650 #define RTE_CMSIS_RTOS_FreeRTOS /* CMSIS-RTOS FreeRTOS */
653 <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include1/cmsis_os.h"/>
654 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os1.c"/>
658 <!-- CMSIS-RTOS2 FreeRTOS component -->
659 <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="10.2.1" Capiversion="2.1.3" condition="FreeRTOS RTOS2 CortexM">
660 <description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
662 #define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
663 #define RTE_CMSIS_RTOS2_FreeRTOS /* CMSIS-RTOS2 FreeRTOS */
666 <file category="doc" name="CMSIS/Documentation/General/html/index.html"/>
667 <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
668 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
669 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
670 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
672 <!-- OS Tick (SysTick) -->
673 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/os_systick.c"/>
677 <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="10.2.1" Capiversion="2.1.3" condition="FreeRTOS RTOS2 CortexA">
678 <description>CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS</description>
680 #define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
681 #define RTE_CMSIS_RTOS2_FreeRTOS /* CMSIS-RTOS2 FreeRTOS */
684 <file category="doc" name="CMSIS/Documentation/General/html/index.html"/>
685 <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
686 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
687 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
688 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
690 <file category="source" attr="config" name="CMSIS/RTOS2/FreeRTOS/Source/handlers.c" version="9.1.0"/>
694 <bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="10.2.1">
695 <description>FreeRTOS Real Time Kernel</description>
696 <doc>https://www.freertos.org/Documentation/FreeRTOS_Reference_Manual_V10.0.0.pdf</doc>
698 <component Cgroup="Core" Cvariant="Cortex-M" isDefaultVariant="true" condition="FreeRTOS CM">
699 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M</description>
701 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
704 <file category="include" name="Source/include/"/>
706 <file category="header" name="Source/include/FreeRTOS.h"/>
707 <file category="header" name="Source/include/queue.h"/>
708 <file category="header" name="Source/include/semphr.h"/>
709 <file category="header" name="Source/include/task.h"/>
711 <file category="source" name="Source/list.c"/>
712 <file category="source" name="Source/queue.c"/>
713 <file category="source" name="Source/tasks.c"/>
715 <file category="include" condition="CM0_ARMCC" name="Source/portable/RVDS/ARM_CM0/"/>
716 <file category="source" condition="CM0_ARMCC" name="Source/portable/RVDS/ARM_CM0/port.c"/>
717 <file category="include" condition="CM3_ARMCC" name="Source/portable/RVDS/ARM_CM3/"/>
718 <file category="source" condition="CM3_ARMCC" name="Source/portable/RVDS/ARM_CM3/port.c"/>
719 <file category="include" condition="CM4_ARMCC" name="Source/portable/RVDS/ARM_CM3/"/>
720 <file category="source" condition="CM4_ARMCC" name="Source/portable/RVDS/ARM_CM3/port.c"/>
721 <file category="include" condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/"/>
722 <file category="source" condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/port.c"/>
723 <file category="include" condition="CM7_ARMCC" name="Source/portable/RVDS/ARM_CM3/"/>
724 <file category="source" condition="CM7_ARMCC" name="Source/portable/RVDS/ARM_CM3/port.c"/>
725 <file category="include" condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
726 <file category="source" condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
727 <file category="include" condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
728 <file category="source" condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
730 <file category="include" condition="CM0_ARMCC6" name="Source/portable/GCC/ARM_CM0/"/>
731 <file category="source" condition="CM0_ARMCC6" name="Source/portable/GCC/ARM_CM0/port.c"/>
732 <file category="include" condition="CM3_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
733 <file category="source" condition="CM3_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
734 <file category="include" condition="CM4_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
735 <file category="source" condition="CM4_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
736 <file category="include" condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/"/>
737 <file category="source" condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/port.c"/>
738 <file category="include" condition="CM7_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
739 <file category="source" condition="CM7_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
740 <file category="include" condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
741 <file category="source" condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
742 <file category="include" condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
743 <file category="source" condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
744 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
745 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
746 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
747 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
748 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
749 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
751 <file category="include" condition="CM0_GCC" name="Source/portable/GCC/ARM_CM0/"/>
752 <file category="source" condition="CM0_GCC" name="Source/portable/GCC/ARM_CM0/port.c"/>
753 <file category="include" condition="CM3_GCC" name="Source/portable/GCC/ARM_CM3/"/>
754 <file category="source" condition="CM3_GCC" name="Source/portable/GCC/ARM_CM3/port.c"/>
755 <file category="include" condition="CM4_GCC" name="Source/portable/GCC/ARM_CM3/"/>
756 <file category="source" condition="CM4_GCC" name="Source/portable/GCC/ARM_CM3/port.c"/>
757 <file category="include" condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/"/>
758 <file category="source" condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/port.c"/>
759 <file category="include" condition="CM7_GCC" name="Source/portable/GCC/ARM_CM3/"/>
760 <file category="source" condition="CM7_GCC" name="Source/portable/GCC/ARM_CM3/port.c"/>
761 <file category="include" condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
762 <file category="source" condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
763 <file category="include" condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
764 <file category="source" condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
765 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
766 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
767 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
768 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
769 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
770 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
772 <file category="include" condition="CM0_IAR" name="Source/portable/IAR/ARM_CM0/"/>
773 <file category="source" condition="CM0_IAR" name="Source/portable/IAR/ARM_CM0/port.c"/>
774 <file category="sourceAsm" condition="CM0_IAR" name="Source/portable/IAR/ARM_CM0/portasm.s"/>
775 <file category="include" condition="CM3_IAR" name="Source/portable/IAR/ARM_CM3/"/>
776 <file category="source" condition="CM3_IAR" name="Source/portable/IAR/ARM_CM3/port.c"/>
777 <file category="sourceAsm" condition="CM3_IAR" name="Source/portable/IAR/ARM_CM3/portasm.s"/>
778 <file category="include" condition="CM4_IAR" name="Source/portable/IAR/ARM_CM3/"/>
779 <file category="source" condition="CM4_IAR" name="Source/portable/IAR/ARM_CM3/port.c"/>
780 <file category="sourceAsm" condition="CM4_IAR" name="Source/portable/IAR/ARM_CM3/portasm.s"/>
781 <file category="include" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/"/>
782 <file category="source" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/port.c"/>
783 <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/portasm.s"/>
784 <file category="include" condition="CM7_IAR" name="Source/portable/IAR/ARM_CM3/"/>
785 <file category="source" condition="CM7_IAR" name="Source/portable/IAR/ARM_CM3/port.c"/>
786 <file category="sourceAsm" condition="CM7_IAR" name="Source/portable/IAR/ARM_CM3/portasm.s"/>
787 <file category="include" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
788 <file category="source" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
789 <file category="sourceAsm" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
790 <file category="include" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
791 <file category="source" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
792 <file category="sourceAsm" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
793 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/"/>
794 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/port.c"/>
795 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s"/>
796 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
797 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
798 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
800 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
801 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
802 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
806 <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS MPU CM3 CM4">
807 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
809 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
810 #define RTE_RTOS_FreeRTOS_CORE_MPU /* RTOS FreeRTOS Core with MPU support */
813 <file category="include" name="Source/include/"/>
815 <file category="header" name="Source/include/FreeRTOS.h"/>
816 <file category="header" name="Source/include/queue.h"/>
817 <file category="header" name="Source/include/semphr.h"/>
818 <file category="header" name="Source/include/task.h"/>
820 <file category="source" name="Source/list.c"/>
821 <file category="source" name="Source/queue.c"/>
822 <file category="source" name="Source/tasks.c"/>
823 <file category="source" name="Source/portable/Common/mpu_wrappers.c"/>
825 <file category="include" condition="ARMCC6 GCC" name="Source/portable/GCC/ARM_CM3_MPU/"/>
826 <file category="source" condition="ARMCC6 GCC" name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
828 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
829 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
830 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
835 <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS MPU CM4_FP">
836 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
838 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
839 #define RTE_RTOS_FreeRTOS_CORE_MPU /* RTOS FreeRTOS Core with MPU support */
842 <file category="include" name="Source/include/"/>
844 <file category="header" name="Source/include/FreeRTOS.h"/>
845 <file category="header" name="Source/include/queue.h"/>
846 <file category="header" name="Source/include/semphr.h"/>
847 <file category="header" name="Source/include/task.h"/>
849 <file category="source" name="Source/list.c"/>
850 <file category="source" name="Source/queue.c"/>
851 <file category="source" name="Source/tasks.c"/>
852 <file category="source" name="Source/portable/Common/mpu_wrappers.c"/>
854 <file category="include" condition="ARMCC" name="Source/portable/RVDS/ARM_CM4_MPU/"/>
855 <file category="source" condition="ARMCC" name="Source/portable/RVDS/ARM_CM4_MPU/port.c"/>
857 <file category="include" condition="ARMCC6" name="Source/portable/GCC/ARM_CM4_MPU/"/>
858 <file category="source" condition="ARMCC6" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
860 <file category="include" condition="GCC" name="Source/portable/GCC/ARM_CM4_MPU/"/>
861 <file category="source" condition="GCC" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
863 <file category="include" condition="IAR" name="Source/portable/IAR/ARM_CM4F_MPU/"/>
864 <file category="source" condition="IAR" name="Source/portable/IAR/ARM_CM4F_MPU/port.c"/>
865 <file category="sourceAsm" condition="IAR" name="Source/portable/IAR/ARM_CM4F_MPU/portasm.s"/>
867 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
868 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
869 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
874 <component Cgroup="Core" Cvariant="Cortex-M Non-Secure" condition="FreeRTOS TZ">
875 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone)</description>
877 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
878 #define RTE_RTOS_FreeRTOS_CORE_TZ_NS /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
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"/>
892 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
893 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
894 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
895 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
896 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
897 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
898 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
899 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
901 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/secure/"/>
902 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
903 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
904 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
905 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/secure/"/>
906 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
907 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
908 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
910 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/secure/"/>
911 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/"/>
912 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
913 <file category="sourceAsm" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
914 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/secure/"/>
915 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/"/>
916 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
917 <file category="sourceAsm" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
919 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
920 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
921 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
926 <component Cgroup="Core" Cvariant="Cortex-M Non-Secure MPU" condition="FreeRTOS TZ MPU">
927 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone) and MPU</description>
929 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
930 #define RTE_RTOS_FreeRTOS_CORE_MPU /* RTOS FreeRTOS Core with MPU support */
931 #define RTE_RTOS_FreeRTOS_CORE_TZ_NS /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
934 <file category="include" name="Source/include/"/>
936 <file category="header" name="Source/include/FreeRTOS.h"/>
937 <file category="header" name="Source/include/queue.h"/>
938 <file category="header" name="Source/include/semphr.h"/>
939 <file category="header" name="Source/include/task.h"/>
941 <file category="source" name="Source/list.c"/>
942 <file category="source" name="Source/queue.c"/>
943 <file category="source" name="Source/tasks.c"/>
944 <file category="source" name="Source/portable/Common/mpu_wrappers.c"/>
946 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
947 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
948 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
949 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
950 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
951 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
952 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
953 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
955 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/secure/"/>
956 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
957 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
958 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
959 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/secure/"/>
960 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
961 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
962 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
964 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/secure/"/>
965 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/"/>
966 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
967 <file category="sourceAsm" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
968 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/secure/"/>
969 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/"/>
970 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
971 <file category="sourceAsm" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
973 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
974 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
975 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
979 <component Cgroup="Core" Cvariant="Cortex-A" isDefaultVariant="true" condition="FreeRTOS CA">
980 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-A</description>
982 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
985 <file category="include" name="Source/include/"/>
987 <file category="header" name="Source/include/FreeRTOS.h"/>
988 <file category="header" name="Source/include/queue.h"/>
989 <file category="header" name="Source/include/semphr.h"/>
990 <file category="header" name="Source/include/task.h"/>
992 <file category="source" name="Source/list.c"/>
993 <file category="source" name="Source/queue.c"/>
994 <file category="source" name="Source/tasks.c"/>
996 <file category="include" condition="ARMCC" name="Source/portable/RVDS/ARM_CA9/"/>
997 <file category="source" condition="ARMCC" name="Source/portable/RVDS/ARM_CA9/port.c"/>
998 <file category="sourceAsm" condition="ARMCC" name="Source/portable/RVDS/ARM_CA9/portASM.s"/>
1000 <file category="include" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/"/>
1001 <file category="source" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/port.c"/>
1002 <file category="sourceAsm" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1004 <file category="include" condition="GCC" name="Source/portable/GCC/ARM_CA9/"/>
1005 <file category="source" condition="GCC" name="Source/portable/GCC/ARM_CA9/port.c"/>
1006 <file category="sourceAsm" condition="GCC" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1008 <file category="include" condition="IAR" name="Source/portable/IAR/ARM_CA9/"/>
1009 <file category="source" condition="IAR" name="Source/portable/IAR/ARM_CA9/port.c"/>
1010 <file category="sourceAsm" condition="IAR" name="Source/portable/IAR/ARM_CA9/portASM.s"/>
1012 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1013 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1014 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1018 <component Cgroup="Config" Cvariant="CMSIS RTOS2" condition="CMSIS RTOS2 FreeRTOS">
1019 <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
1021 #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2 /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
1024 <file category="doc" name="CMSIS/Documentation/General/html/cre_freertos_proj.html#cmsis_freertos_config"/>
1025 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM/FreeRTOSConfig.h" version="10.2.0" condition="CoreM"/>
1026 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCA/FreeRTOSConfig.h" version="10.2.0" condition="CoreA"/>
1030 <component Cgroup="Config" Cvariant="FreeRTOS" condition="FreeRTOS Core">
1031 <description>FreeRTOS API configuration file</description>
1033 #define RTE_RTOS_FreeRTOS_CONFIG /* RTOS FreeRTOS Config for FreeRTOS API */
1036 <file category="doc" name="CMSIS/Documentation/General/html/cre_freertos_proj.html#native_freertos_config"/>
1037 <file category="header" attr="config" name="Config/ARMCM/FreeRTOSConfig.h" version="10.2.0" condition="CoreM"/>
1038 <file category="header" attr="config" name="Config/ARMCA/FreeRTOSConfig.h" version="10.2.0" condition="CoreA"/>
1042 <component Cgroup="Coroutines" condition="FreeRTOS Core">
1043 <description>Co-routine API</description>
1045 #define RTE_RTOS_FreeRTOS_COROUTINE /* RTOS FreeRTOS Co-routines */
1048 <file category="header" name="Source/include/croutine.h"/>
1049 <file category="source" name="Source/croutine.c"/>
1053 <component Cgroup="Event Groups" condition="FreeRTOS Core">
1054 <description>Event Group API</description>
1056 #define RTE_RTOS_FreeRTOS_EVENTGROUPS /* RTOS FreeRTOS Event Groups */
1059 <file category="header" name="Source/include/event_groups.h"/>
1060 <file category="source" name="Source/event_groups.c"/>
1064 <component Cgroup="Heap" Cvariant="Heap_1" condition="FreeRTOS Core">
1065 <description>Very simple, does not permit memory to be freed.</description>
1067 #define RTE_RTOS_FreeRTOS_HEAP_1 /* RTOS FreeRTOS Heap 1 */
1070 <file category="source" name="Source/portable/MemMang/heap_1.c"/>
1071 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1075 <component Cgroup="Heap" Cvariant="Heap_2" condition="FreeRTOS Core">
1076 <description>Permits memory to be freed, but not does coalescence adjacent free memory blocks.</description>
1078 #define RTE_RTOS_FreeRTOS_HEAP_2 /* RTOS FreeRTOS Heap 2 */
1081 <file category="source" name="Source/portable/MemMang/heap_2.c"/>
1082 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1086 <component Cgroup="Heap" Cvariant="Heap_3" condition="FreeRTOS Core">
1087 <description>Wraps the standard malloc() and free() for thread safety.</description>
1089 #define RTE_RTOS_FreeRTOS_HEAP_3 /* RTOS FreeRTOS Heap 3 */
1092 <file category="source" name="Source/portable/MemMang/heap_3.c"/>
1093 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1097 <component Cgroup="Heap" Cvariant="Heap_4" condition="FreeRTOS Core" isDefaultVariant="true">
1098 <description>Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.</description>
1100 #define RTE_RTOS_FreeRTOS_HEAP_4 /* RTOS FreeRTOS Heap 4 */
1103 <file category="source" name="Source/portable/MemMang/heap_4.c"/>
1104 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1108 <component Cgroup="Heap" Cvariant="Heap_5" condition="FreeRTOS Core">
1109 <description>Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.</description>
1111 #define RTE_RTOS_FreeRTOS_HEAP_5 /* RTOS FreeRTOS Heap 5 */
1114 <file category="source" name="Source/portable/MemMang/heap_5.c"/>
1115 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1119 <component Cgroup="Message Buffer" condition="FreeRTOS Core">
1120 <description>Message Buffer API</description>
1122 #define RTE_RTOS_FreeRTOS_MESSAGE_BUFFER /* RTOS FreeRTOS Message Buffers */
1125 <file category="header" name="Source/include/message_buffer.h"/>
1126 <file category="source" name="Source/stream_buffer.c"/>
1130 <component Cgroup="Stream Buffer" condition="FreeRTOS Core">
1131 <description>Stream Buffer API</description>
1133 #define RTE_RTOS_FreeRTOS_STREAM_BUFFER /* RTOS FreeRTOS Stream Buffers */
1136 <file category="header" name="Source/include/stream_buffer.h"/>
1137 <file category="source" name="Source/stream_buffer.c"/>
1141 <component Cgroup="Timers" condition="FreeRTOS Core">
1142 <description>Timer API</description>
1144 #define RTE_RTOS_FreeRTOS_TIMERS /* RTOS FreeRTOS Timers */
1147 <file category="header" name="Source/include/timers.h"/>
1148 <file category="source" name="Source/timers.c"/>
1152 <component Cgroup="TrustZone" condition="FreeRTOS TrustZone">
1153 <description>TrustZone Secure Context API</description>
1155 #define RTE_RTOS_FreeRTOS_TZ
1158 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM_TZ/FreeRTOSConfig.h" version="10.2.0"/>
1160 <file category="header" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1161 <file category="include" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
1162 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1163 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1164 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1165 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1166 <file category="header" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1167 <file category="include" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1168 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1169 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1170 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1171 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1173 <file category="header" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1174 <file category="include" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/"/>
1175 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1176 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1177 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1178 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1179 <file category="header" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1180 <file category="include" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/"/>
1181 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1182 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1183 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1184 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1186 <file category="header" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_port_macros.h"/>
1187 <file category="include" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/"/>
1188 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_context.c"/>
1189 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_context_port.c"/>
1190 <file category="sourceAsm" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s"/>
1191 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_heap.c"/>
1192 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_init.c"/>
1193 <file category="header" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_port_macros.h"/>
1194 <file category="include" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/"/>
1195 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_context.c"/>
1196 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_context_port.c"/>
1197 <file category="sourceAsm" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s"/>
1198 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_heap.c"/>
1199 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_init.c"/>
1206 <example name="CMSIS-RTOS2 FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky">
1207 <description>CMSIS-RTOS2 Blinky example using FreeRTOS</description>
1208 <board name="uVision Simulator" vendor="Keil"/>
1210 <environment name="uv" load="Blinky.uvprojx"/>
1213 <component Cclass="CMSIS" Cgroup="CORE"/>
1214 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1215 <component Cclass="Device" Cgroup="Startup"/>
1216 <category>Getting Started</category>
1220 <example name="Native FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Native_Blinky">
1221 <description>Blinky example using FreeRTOS natively</description>
1222 <board name="uVision Simulator" vendor="Keil"/>
1224 <environment name="uv" load="Blinky.uvprojx"/>
1227 <component Cclass="CMSIS" Cgroup="CORE"/>
1228 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1229 <component Cclass="Device" Cgroup="Startup"/>
1230 <category>Getting Started</category>
1234 <example name="TrustZone for ARMv8-M" doc="NonSecure/Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/TrustZone">
1235 <description>CMSIS-RTOS2 example with secure/non-secure thread context management using FreeRTOS</description>
1236 <board name="uVision Simulator" vendor="Keil"/>
1238 <environment name="uv" load="TrustZone.uvmpw"/>
1241 <component Cclass="CMSIS" Cgroup="CORE"/>
1242 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1243 <component Cclass="Device" Cgroup="Startup"/>
1244 <category>Getting Started</category>