]> begriffs open source - cmsis-freertos/blob - ARM.CMSIS-FreeRTOS.pdsc
Merge branch 'develop'
[cmsis-freertos] / ARM.CMSIS-FreeRTOS.pdsc
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <package schemaVersion="1.4" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
4   <vendor>ARM</vendor>
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>
9
10   <releases>
11     <release version="10.4.6" date="2021-11-16">
12       FreeRTOS 10.4.3
13       Updates and bugfixes:
14       - Updated osSemaphoreGetCount to use uxSemaphoreGetCountFromISR instead of uxQueueMessagesWaitingFromISR
15       - Correct typecasting of argument usStackDepth for xTaskCreate in function osThreadNew (#51)
16       - Fix mutex allocation for Arm Standard C library and allow it only when the kernel is running
17     </release>
18     <release version="10.4.3" date="2021-09-28">
19       FreeRTOS 10.4.3
20       Updates and bugfixes:
21       - Corrected timeout handling in osThreadFlagsWait (#50)
22       - Enable full static memory allocation for timer object (#48)
23       - Fix vQueueAddToRegistry function call issue when arguments are NULL (#49)
24       - Added workaround for xEventGroupClearBitsFromISR no yield problem
25       - Added FreeRTOS kernel state check to osKernelInitialize and osKernelState
26       - Make source code more verbose with documented limitations (#41)
27       - Fix osMemoryPoolNew expression use (#42)
28     </release>
29     <release version="10.3.1" date="2020-04-30">
30       FreeRTOS 10.3.1
31       Maintenance for CMSIS 5.7.0:
32       - Enhanced kernel configuration handling and checking when using CMSIS-RTOS2 API
33       - Added CMSIS-RTOS2 Blinky example for IAR using EWARM simulator
34       - Modified pack description to avoid component identification issues
35     </release>
36     <release version="10.3.0" date="2019-12-04">
37       FreeRTOS 10.2.1
38       Maintenance for CMSIS 5.4.0:
39        - Added osMemoryPool functions using FreeRTOS
40        - Corrected osEventFlagsWait flag comparison when using osFlagsWaitAll
41        - Corrected osThreadGetStackSpace return value (bytes instead of words)
42        - Removed Cortex-A examples (available in device specific packs)
43     </release>
44     <release version="10.2.0" date="2019-04-12">
45       FreeRTOS 10.2.0
46       Maintenance for CMSIS 5.4.0:
47       - Updated to CMSIS RTOS2 API 2.1.3
48       - Updated Arm standard C library interface
49       - Added configuration for the Event Recorder
50       - Added TrustZone example for Armv8M using RTOS2 API
51       - Enhanced FreeRTOS component viewer
52       - Corrected osDelayUntil execution duration
53       - Corrected SysTick_Handler execution when kernel is not started
54       - Corrected critical section for osKernelGetSysTimerCount
55     </release>
56     <release version="10.0.1" date="2018-02-20">
57       FreeRTOS 10.0.0
58       Maintenance for CMSIS 5.3.0:
59        - Added queue registry support to CMSIS:RTOS2:FreeRTOS component.
60        - Updated CMSIS-FreeRTOS component view to display queue, mutex and semaphore objects.
61        - Updated to CMSIS RTOS2 API 2.1.2 and OS Tick API 1.0.1.
62        - Fixed context switch response latency for API calls from ISR.
63     </release>
64     <release version="9.1.0" date="2017-08-11">
65       FreeRTOS 9.0.0
66       Maintenance release for CMSIS 5.1.0:
67       - Added support for ARM Compiler 6
68       - Updated Cortex-A example to use IRQ Controller component
69       - Corrected stack size allocation in RTOS2 osThreadNew function
70       - Added support for OS Tick component
71       - Added documentation for configuration options (native/CMSIS-RTOS2)
72       - Debug event TaskIncrementTick level set to Detail
73     </release>
74     <release version="9.0.0" date="2017-03-13">
75       Initial release version:
76       - native FreeRTOS component (RTOS: Variant=FreeRTOS)
77       - CMSIS-RTOS FreeRTOS for Cortex-M and Cortex-A9 (CMSIS:RTOS:FreeRTOS, CMSIS:RTOS2:FreeRTOS)
78     </release>
79   </releases>
80
81   <requirements>
82     <packages>
83       <package vendor="ARM" name="CMSIS" version="5.4.0-0"/>
84     </packages>
85   </requirements>
86
87   <conditions>
88     <condition id="ARMCC6">
89       <accept Tcompiler="ARMCC" Toptions="AC6"/>
90       <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
91     </condition>
92     <condition id="ARMCC">
93       <require Tcompiler="ARMCC" Toptions="AC5"/>
94     </condition>
95     <condition id="GCC">
96       <require Tcompiler="GCC"/>
97     </condition>
98     <condition id="IAR">
99       <require Tcompiler="IAR"/>
100     </condition>
101
102     <condition id="CM0">
103       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device</description>
104       <accept Dcore="Cortex-M0"/>
105       <accept Dcore="Cortex-M0+"/>
106       <accept Dcore="SC000"/>
107     </condition>
108
109     <condition id="CM3">
110       <description>Cortex-M3 or SC300 processor based device</description>
111       <accept Dcore="Cortex-M3"/>
112       <accept Dcore="SC300"/>
113     </condition>
114
115     <condition id="CM4">
116       <description>Cortex-M4 processor based device</description>
117       <require Dcore="Cortex-M4" Dfpu="NO_FPU"/>
118     </condition>
119
120     <condition id="CM4_FP">
121       <description>Cortex-M4 processor based device using Floating Point Unit</description>
122       <require Dcore="Cortex-M4" Dfpu="FPU"/>
123     </condition>
124
125     <condition id="CM7">
126       <description>Cortex-M7 processor based device</description>
127       <require Dcore="Cortex-M7" Dfpu="NO_FPU"/>
128     </condition>
129
130     <condition id="CM7_FP">
131       <description>Cortex-M7 processor based device using Floating Point Unit</description>
132       <accept Dcore="Cortex-M7" Dfpu="SP_FPU"/>
133       <accept Dcore="Cortex-M7" Dfpu="DP_FPU"/>
134     </condition>
135
136     <condition id="CM7_SP">
137       <description>Cortex-M7 processor based device using Floating Point Unit (SP)</description>
138       <require Dcore="Cortex-M7" Dfpu="SP_FPU"/>
139     </condition>
140
141     <condition id="CM7_DP">
142       <description>Cortex-M7 processor based device using Floating Point Unit (DP)</description>
143       <require Dcore="Cortex-M7" Dfpu="DP_FPU"/>
144     </condition>
145
146     <condition id="CM23">
147       <description>Cortex-M23 processor based device</description>
148       <require Dcore="Cortex-M23"/>
149     </condition>
150
151     <condition id="CM23_NoTZ">
152       <description>Cortex-M23 processor based device without TrustZone</description>
153       <require condition="CM23"/>
154       <require Dtz="NO_TZ"/>
155     </condition>
156
157     <condition id="CM23_TZ">
158       <description>Cortex-M23 processor based device with TrustZone</description>
159       <require condition="CM23"/>
160       <require Dtz="TZ"/>
161     </condition>
162
163     <condition id="CM33">
164       <description>Cortex-M33 processor based device</description>
165       <accept Dcore="Cortex-M33"/>
166     </condition>
167
168     <condition id="CM33_NoTZ">
169       <description>Cortex-M33 processor based device without TrustZone</description>
170       <require condition="CM33"/>
171       <require Dtz="NO_TZ"/>
172     </condition>
173
174     <condition id="CM33_TZ">
175       <description>Cortex-M33 processor based device with TrustZone</description>
176       <require condition="CM33"/>
177       <require Dtz="TZ"/>
178     </condition>
179
180     <condition id="CM55">
181       <description>Cortex-M55 processor based device</description>
182       <accept Dcore="Cortex-M55"/>
183     </condition>
184
185     <condition id="CM55_NoTZ">
186       <description>Cortex-M55 processor based device without TrustZone</description>
187       <require condition="CM55"/>
188       <require Dtz="NO_TZ"/>
189     </condition>
190
191     <condition id="CM55_TZ">
192       <description>Cortex-M55 processor based device with TrustZone</description>
193       <require condition="CM55"/>
194       <require Dtz="TZ"/>
195     </condition>
196
197     <condition id="CA9_DP">
198       <description>Cortex-A9 processor based device using Floating Point Unit (DP)</description>
199       <require Dcore="Cortex-A9" Dfpu="DP_FPU"/>
200     </condition>
201
202     <condition id="CoreM">
203       <description>Cortex-M processor based device</description>
204       <accept condition="CM0"/>
205       <accept condition="CM3"/>
206       <accept condition="CM4"/>
207       <accept condition="CM4_FP"/>
208       <accept condition="CM7"/>
209       <accept condition="CM7_FP"/>
210       <accept condition="CM23"/>
211       <accept condition="CM33"/>
212       <accept condition="CM55"/>
213     </condition>
214
215     <condition id="CoreA">
216       <description>Cortex-A processor based device</description>
217       <accept condition="CA9_DP"/>
218     </condition>
219
220     <!-- ARMCC compiler -->
221     <condition id="CM0_ARMCC">
222       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 5</description>
223       <require condition="CM0"/>
224       <require condition="ARMCC"/>
225     </condition>
226
227     <condition id="CM3_ARMCC">
228       <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 5</description>
229       <require condition="CM3"/>
230       <require condition="ARMCC"/>
231     </condition>
232
233     <condition id="CM4_ARMCC">
234       <description>Cortex-M4 processor based device for the ARM Compiler 5</description>
235       <require condition="CM4"/>
236       <require condition="ARMCC"/>
237     </condition>
238     <condition id="CM4_FP_ARMCC">
239       <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 5</description>
240       <require condition="CM4_FP"/>
241       <require condition="ARMCC"/>
242     </condition>
243
244     <condition id="CM7_ARMCC">
245       <description>Cortex-M7 processor based device for the ARM Compiler 5</description>
246       <require condition="CM7"/>
247       <require condition="ARMCC"/>
248     </condition>
249     <condition id="CM7_SP_ARMCC">
250       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 5</description>
251       <require condition="CM7_SP"/>
252       <require condition="ARMCC"/>
253     </condition>
254     <condition id="CM7_DP_ARMCC">
255       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 5</description>
256       <require condition="CM7_DP"/>
257       <require condition="ARMCC"/>
258     </condition>
259
260     <condition id="CA9_DP_ARMCC">
261       <description>Cortex-A9 processor based device using Floating Point Unit (DP) for the ARM Compiler 5</description>
262       <require condition="CA9_DP"/>
263       <require condition="ARMCC"/>
264     </condition>
265
266     <!-- ARMCC6 compiler -->
267     <condition id="CM0_ARMCC6">
268       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 6</description>
269       <require condition="CM0"/>
270       <require condition="ARMCC6"/>
271     </condition>
272
273     <condition id="CM3_ARMCC6">
274       <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 6</description>
275       <require condition="CM3"/>
276       <require condition="ARMCC6"/>
277     </condition>
278
279     <condition id="CM4_ARMCC6">
280       <description>Cortex-M4 processor based device for the ARM Compiler 6</description>
281       <require condition="CM4"/>
282       <require condition="ARMCC6"/>
283     </condition>
284     <condition id="CM4_FP_ARMCC6">
285       <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 6</description>
286       <require condition="CM4_FP"/>
287       <require condition="ARMCC6"/>
288     </condition>
289
290     <condition id="CM7_ARMCC6">
291       <description>Cortex-M7 processor based device for the ARM Compiler 6</description>
292       <require condition="CM7"/>
293       <require condition="ARMCC6"/>
294     </condition>
295     <condition id="CM7_SP_ARMCC6">
296       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 6</description>
297       <require condition="CM7_SP"/>
298       <require condition="ARMCC6"/>
299     </condition>
300     <condition id="CM7_DP_ARMCC6">
301       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 6</description>
302       <require condition="CM7_DP"/>
303       <require condition="ARMCC6"/>
304     </condition>
305
306     <condition id="CM23_ARMCC6">
307       <description>Cortex-M23 processor based device for the ARM Compiler 6</description>
308       <require condition="CM23"/>
309       <require condition="ARMCC6"/>
310     </condition>
311     <condition id="CM23_NoTZ_ARMCC6">
312       <description>Cortex-M23 processor based device without TrustZone for the ARM Compiler 6</description>
313       <require condition="CM23_NoTZ"/>
314       <require condition="ARMCC6"/>
315     </condition>
316     <condition id="CM23_TZ_ARMCC6">
317       <description>Cortex-M23 processor based device with TrustZone for the ARM Compiler 6</description>
318       <require condition="CM23_TZ"/>
319       <require condition="ARMCC6"/>
320     </condition>
321
322     <condition id="CM33_ARMCC6">
323       <description>Cortex-M33 processor based device for the ARM Compiler 6</description>
324       <require condition="CM33"/>
325       <require condition="ARMCC6"/>
326     </condition>
327     <condition id="CM33_NoTZ_ARMCC6">
328       <description>Cortex-M33 processor based device without TrustZone for the ARM Compiler 6</description>
329       <require condition="CM33_NoTZ"/>
330       <require condition="ARMCC6"/>
331     </condition>
332     <condition id="CM33_TZ_ARMCC6">
333       <description>Cortex-M33 processor based device with TrustZone for the ARM Compiler 6</description>
334       <require condition="CM33_TZ"/>
335       <require condition="ARMCC6"/>
336     </condition>
337
338     <condition id="CM55_ARMCC6">
339       <description>Cortex-M55 processor based device for the ARM Compiler 6</description>
340       <require condition="CM55"/>
341       <require condition="ARMCC6"/>
342     </condition>
343     <condition id="CM55_NoTZ_ARMCC6">
344       <description>Cortex-M55 processor based device without TrustZone for the ARM Compiler 6</description>
345       <require condition="CM55_NoTZ"/>
346       <require condition="ARMCC6"/>
347     </condition>
348     <condition id="CM55_TZ_ARMCC6">
349       <description>Cortex-M55 processor based device with TrustZone for the ARM Compiler 6</description>
350       <require condition="CM55_TZ"/>
351       <require condition="ARMCC6"/>
352     </condition>
353
354     <condition id="CA9_DP_ARMCC6">
355       <description>Cortex-A9 processor based device using Floating Point Unit (DP) for the ARM Compiler 6</description>
356       <require condition="CA9_DP"/>
357       <require condition="ARMCC6"/>
358     </condition>
359
360     <!-- GCC compiler -->
361     <condition id="CM0_GCC">
362       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the GCC Compiler</description>
363       <require condition="CM0"/>
364       <require condition="GCC"/>
365     </condition>
366
367     <condition id="CM3_GCC">
368       <description>Cortex-M3 or SC300 processor based device for the GCC Compiler</description>
369       <require condition="CM3"/>
370       <require condition="GCC"/>
371     </condition>
372
373     <condition id="CM4_GCC">
374       <description>Cortex-M4 processor based device for the GCC Compiler</description>
375       <require condition="CM4"/>
376       <require condition="GCC"/>
377     </condition>
378     <condition id="CM4_FP_GCC">
379       <description>Cortex-M4 processor based device using Floating Point Unit for the GCC Compiler</description>
380       <require condition="CM4_FP"/>
381       <require condition="GCC"/>
382     </condition>
383
384     <condition id="CM7_GCC">
385       <description>Cortex-M7 processor based device for the GCC Compiler</description>
386       <require condition="CM7"/>
387       <require condition="GCC"/>
388     </condition>
389     <condition id="CM7_SP_GCC">
390       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the GCC Compiler</description>
391       <require condition="CM7_SP"/>
392       <require condition="GCC"/>
393     </condition>
394     <condition id="CM7_DP_GCC">
395       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the GCC Compiler</description>
396       <require condition="CM7_DP"/>
397       <require condition="GCC"/>
398     </condition>
399
400     <condition id="CM23_GCC">
401       <description>Cortex-M23 processor based device for the GCC Compiler</description>
402       <require condition="CM23"/>
403       <require condition="GCC"/>
404     </condition>
405     <condition id="CM23_NoTZ_GCC">
406       <description>Cortex-M23 processor based device without TrustZone for the GCC Compiler</description>
407       <require condition="CM23_NoTZ"/>
408       <require condition="GCC"/>
409     </condition>
410     <condition id="CM23_TZ_GCC">
411       <description>Cortex-M23 processor based device with TrustZone for the GCC Compiler</description>
412       <require condition="CM23_TZ"/>
413       <require condition="GCC"/>
414     </condition>
415
416     <condition id="CM33_GCC">
417       <description>Cortex-M33 processor based device for the GCC Compiler</description>
418       <require condition="CM33"/>
419       <require condition="GCC"/>
420     </condition>
421     <condition id="CM33_NoTZ_GCC">
422       <description>Cortex-M33 processor based device without TrustZone for the GCC Compiler</description>
423       <require condition="CM33_NoTZ"/>
424       <require condition="GCC"/>
425     </condition>
426     <condition id="CM33_TZ_GCC">
427       <description>Cortex-M33 processor based device with TrustZone for the GCC Compiler</description>
428       <require condition="CM33_TZ"/>
429       <require condition="GCC"/>
430     </condition>
431
432     <condition id="CM55_GCC">
433       <description>Cortex-M55 processor based device for the GCC Compiler</description>
434       <require condition="CM55"/>
435       <require condition="GCC"/>
436     </condition>
437     <condition id="CM55_NoTZ_GCC">
438       <description>Cortex-M33 processor based device without TrustZone for the GCC Compiler</description>
439       <require condition="CM55_NoTZ"/>
440       <require condition="GCC"/>
441     </condition>
442     <condition id="CM55_TZ_GCC">
443       <description>Cortex-M55 processor based device with TrustZone for the GCC Compiler</description>
444       <require condition="CM55_TZ"/>
445       <require condition="GCC"/>
446     </condition>
447
448     <condition id="CA9_DP_GCC">
449       <description>Cortex-A9 processor based device using Floating Point Unit (DP) for the GCC Compiler</description>
450       <require condition="CA9_DP"/>
451       <require condition="GCC"/>
452     </condition>
453
454     <!-- IAR compiler -->
455     <condition id="CM0_IAR">
456       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the IAR Compiler</description>
457       <require condition="CM0"/>
458       <require condition="IAR"/>
459     </condition>
460
461     <condition id="CM3_IAR">
462       <description>Cortex-M3 or SC300 processor based device for the IAR Compiler</description>
463       <require condition="CM3"/>
464       <require condition="IAR"/>
465     </condition>
466
467     <condition id="CM4_IAR">
468       <description>Cortex-M4 processor based device for the IAR Compiler</description>
469       <require condition="CM4"/>
470       <require condition="IAR"/>
471     </condition>
472     <condition id="CM4_FP_IAR">
473       <description>Cortex-M4 processor based device using Floating Point Unit for the IAR Compiler</description>
474       <require condition="CM4_FP"/>
475       <require condition="IAR"/>
476     </condition>
477
478     <condition id="CM7_IAR">
479       <description>Cortex-M7 processor based device for the IAR Compiler</description>
480       <require condition="CM7"/>
481       <require condition="IAR"/>
482     </condition>
483     <condition id="CM7_SP_IAR">
484       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the IAR Compiler</description>
485       <require condition="CM7_SP"/>
486       <require condition="IAR"/>
487     </condition>
488     <condition id="CM7_DP_IAR">
489       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the IAR Compiler</description>
490       <require condition="CM7_DP"/>
491       <require condition="IAR"/>
492     </condition>
493
494     <condition id="CM23_IAR">
495       <description>Cortex-M23 processor based device for the IAR Compiler</description>
496       <require condition="CM23"/>
497       <require condition="IAR"/>
498     </condition>
499     <condition id="CM23_NoTZ_IAR">
500       <description>Cortex-M23 processor based device without TrustZone for the IAR Compiler</description>
501       <require condition="CM23_NoTZ"/>
502       <require condition="IAR"/>
503     </condition>
504     <condition id="CM23_TZ_IAR">
505       <description>Cortex-M23 processor based device with TrustZone for the IAR Compiler</description>
506       <require condition="CM23_TZ"/>
507       <require condition="IAR"/>
508     </condition>
509
510     <condition id="CM33_IAR">
511       <description>Cortex-M33 processor based device for the IAR Compiler</description>
512       <require condition="CM33"/>
513       <require condition="IAR"/>
514     </condition>
515     <condition id="CM33_NoTZ_IAR">
516       <description>Cortex-M33 processor based device without TrustZone for the IAR Compiler</description>
517       <require condition="CM33_NoTZ"/>
518       <require condition="IAR"/>
519     </condition>
520     <condition id="CM33_TZ_IAR">
521       <description>Cortex-M33 processor based device with TrustZone for the IAR Compiler</description>
522       <require condition="CM33_TZ"/>
523       <require condition="IAR"/>
524     </condition>
525
526     <condition id="CM55_IAR">
527       <description>Cortex-M55 processor based device for the IAR Compiler</description>
528       <require condition="CM55"/>
529       <require condition="IAR"/>
530     </condition>
531     <condition id="CM55_NoTZ_IAR">
532       <description>Cortex-M55 processor based device without TrustZone for the IAR Compiler</description>
533       <require condition="CM55_NoTZ"/>
534       <require condition="IAR"/>
535     </condition>
536     <condition id="CM55_TZ_IAR">
537       <description>Cortex-M55 processor based device with TrustZone for the IAR Compiler</description>
538       <require condition="CM55_TZ"/>
539       <require condition="IAR"/>
540     </condition>
541
542     <condition id="CA9_DP_IAR">
543       <description>Cortex-A9 processor based device using Floating Point Unit (DP) for the IAR Compiler</description>
544       <require condition="CA9_DP"/>
545       <require condition="IAR"/>
546     </condition>
547
548     <!-- FreeRTOS ports for the Arm Cortex core -->
549     <condition id="FreeRTOS Port Cortex-M0">
550       <description>Requirements for FreeRTOS port for Cortex-M0 and Cortex-M0+</description>
551       <accept condition="CM0_ARMCC"/>
552       <accept condition="CM0_ARMCC6"/>
553       <accept condition="CM0_GCC"/>
554       <accept condition="CM0_IAR"/>
555     </condition>
556     <condition id="FreeRTOS Port Cortex-M3">
557       <description>Requirements for FreeRTOS port for Cortex-M3</description>
558       <accept condition="CM3_ARMCC"/>
559       <accept condition="CM3_ARMCC6"/>
560       <accept condition="CM3_GCC"/>
561       <accept condition="CM3_IAR"/>
562     </condition>
563     <condition id="FreeRTOS Port Cortex-M3 MPU">
564       <description>Requirements for FreeRTOS port for Cortex-M3 using MPU</description>
565       <accept condition="CM3_ARMCC6"/>
566       <accept condition="CM3_GCC"/>
567     </condition>
568     <condition id="FreeRTOS Port Cortex-M4">
569       <description>Requirements for FreeRTOS port for Cortex-M4</description>
570       <accept condition="CM4_ARMCC"/>
571       <accept condition="CM4_ARMCC6"/>
572       <accept condition="CM4_GCC"/>
573       <accept condition="CM4_IAR"/>
574     </condition>
575     <condition id="FreeRTOS Port Cortex-M4 MPU">
576       <description>Requirements for FreeRTOS port for Cortex-M4 using MPU</description>
577       <accept condition="CM4_ARMCC6"/>
578       <accept condition="CM4_GCC"/>
579     </condition>
580     <condition id="FreeRTOS Port Cortex-M4 FPU">
581       <description>Requirements for FreeRTOS port for Cortex-M4 using FPU</description>
582       <accept condition="CM4_FP_ARMCC"/>
583       <accept condition="CM4_FP_ARMCC6"/>
584       <accept condition="CM4_FP_GCC"/>
585       <accept condition="CM4_FP_IAR"/>
586     </condition>
587     <condition id="FreeRTOS Port Cortex-M4 FPU MPU">
588       <description>Requirements for FreeRTOS port for Cortex-M4 using FPU and MPU</description>
589       <accept condition="CM4_FP_ARMCC"/>
590       <accept condition="CM4_FP_ARMCC6"/>
591       <accept condition="CM4_FP_GCC"/>
592       <accept condition="CM4_FP_IAR"/>
593     </condition>
594     <condition id="FreeRTOS Port Cortex-M7">
595       <description>Requirements for FreeRTOS port for Cortex-M7</description>
596       <accept condition="CM7_ARMCC"/>
597       <accept condition="CM7_ARMCC6"/>
598       <accept condition="CM7_GCC"/>
599       <accept condition="CM7_IAR"/>
600     </condition>
601     <condition id="FreeRTOS Port Cortex-M7 FPU SP">
602       <description>Requirements for FreeRTOS port for Cortex-M7 using FPU (SP)</description>
603       <accept condition="CM7_SP_ARMCC"/>
604       <accept condition="CM7_SP_ARMCC6"/>
605       <accept condition="CM7_SP_GCC"/>
606       <accept condition="CM7_SP_IAR"/>
607     </condition>
608     <condition id="FreeRTOS Port Cortex-M7 FPU DP">
609       <description>Requirements for FreeRTOS port for Cortex-M7 using FPU (DP)</description>
610       <accept condition="CM7_DP_ARMCC"/>
611       <accept condition="CM7_DP_ARMCC6"/>
612       <accept condition="CM7_DP_GCC"/>
613       <accept condition="CM7_DP_IAR"/>
614     </condition>
615     <condition id="FreeRTOS Port Cortex-M23">
616       <description>Requirements for FreeRTOS port for Cortex-M23</description>
617       <accept condition="CM23_ARMCC6"/>
618       <accept condition="CM23_GCC"/>
619       <accept condition="CM23_IAR"/>
620     </condition>
621     <condition id="FreeRTOS Port Cortex-M23 NoTZ">
622       <description>Requirements for FreeRTOS port for Cortex-M23 without TrustZone</description>
623       <accept condition="CM23_NoTZ_ARMCC6"/>
624       <accept condition="CM23_NoTZ_GCC"/>
625       <accept condition="CM23_NoTZ_IAR"/>
626     </condition>
627     <condition id="FreeRTOS Port Cortex-M23 TZ">
628       <description>Requirements for FreeRTOS port for Cortex-M23 with TrustZone</description>
629       <accept condition="CM23_TZ_ARMCC6"/>
630       <accept condition="CM23_TZ_GCC"/>
631       <accept condition="CM23_TZ_IAR"/>
632     </condition>
633     <condition id="FreeRTOS Port Cortex-M33">
634       <description>Requirements for FreeRTOS port for Cortex-M33</description>
635       <accept condition="CM33_ARMCC6"/>
636       <accept condition="CM33_GCC"/>
637       <accept condition="CM33_IAR"/>
638     </condition>
639     <condition id="FreeRTOS Port Cortex-M33 NoTZ">
640       <description>Requirements for FreeRTOS port for Cortex-M33 without TrustZone</description>
641       <accept condition="CM33_NoTZ_ARMCC6"/>
642       <accept condition="CM33_NoTZ_GCC"/>
643       <accept condition="CM33_NoTZ_IAR"/>
644     </condition>
645     <condition id="FreeRTOS Port Cortex-M33 TZ">
646       <description>Requirements for FreeRTOS port for Cortex-M33 with TrustZone</description>
647       <accept condition="CM33_TZ_ARMCC6"/>
648       <accept condition="CM33_TZ_GCC"/>
649       <accept condition="CM33_TZ_IAR"/>
650     </condition>
651     <condition id="FreeRTOS Port Cortex-M55 NoTZ">
652       <description>Requirements for FreeRTOS port for Cortex-M55 without TrustZone</description>
653       <accept condition="CM55_NoTZ_ARMCC6"/>
654       <accept condition="CM55_NoTZ_GCC"/>
655       <accept condition="CM55_NoTZ_IAR"/>
656     </condition>
657     <condition id="FreeRTOS Port Cortex-M55 TZ">
658       <description>Requirements for FreeRTOS port for Cortex-M55 with TrustZone</description>
659       <accept condition="CM55_TZ_ARMCC6"/>
660       <accept condition="CM55_TZ_GCC"/>
661       <accept condition="CM55_TZ_IAR"/>
662     </condition>
663     <condition id="FreeRTOS Port Cortex-A9 FPU DP">
664       <description>Requirements for FreeRTOS port for Cortex-A9 using FPU (DP)</description>
665       <accept condition="CA9_DP_ARMCC"/>
666       <accept condition="CA9_DP_ARMCC6"/>
667       <accept condition="CA9_DP_GCC"/>
668       <accept condition="CA9_DP_IAR"/>
669     </condition>
670
671     <condition id="FreeRTOS Port Cortex-M v6_v7">
672       <description>Requirements for FreeRTOS port for Cortex-M v6 and v7</description>
673       <accept condition="FreeRTOS Port Cortex-M0"/>
674       <accept condition="FreeRTOS Port Cortex-M3"/>
675       <accept condition="FreeRTOS Port Cortex-M4"/>
676       <accept condition="FreeRTOS Port Cortex-M4 FPU"/>
677       <accept condition="FreeRTOS Port Cortex-M7"/>
678       <accept condition="FreeRTOS Port Cortex-M7 FPU SP"/>
679       <accept condition="FreeRTOS Port Cortex-M7 FPU DP"/>
680     </condition>
681     <condition id="FreeRTOS Port Cortex-M v6_v7 MPU">
682       <description>Requirements for FreeRTOS port for Cortex-M v6 and v7 using MPU</description>
683       <accept condition="FreeRTOS Port Cortex-M3 MPU"/>
684       <accept condition="FreeRTOS Port Cortex-M4 MPU"/>
685       <accept condition="FreeRTOS Port Cortex-M4 FPU MPU"/>
686     </condition>
687     <condition id="FreeRTOS Port Cortex-M v8">
688       <description>Requirements for FreeRTOS port for Cortex-M v8</description>
689       <accept condition="FreeRTOS Port Cortex-M23"/>
690       <accept condition="FreeRTOS Port Cortex-M23 NoTZ"/>
691       <accept condition="FreeRTOS Port Cortex-M23 TZ"/>
692       <accept condition="FreeRTOS Port Cortex-M33"/>
693       <accept condition="FreeRTOS Port Cortex-M33 NoTZ"/>
694       <accept condition="FreeRTOS Port Cortex-M33 TZ"/>
695       <accept condition="FreeRTOS Port Cortex-M55 NoTZ"/>
696       <accept condition="FreeRTOS Port Cortex-M55 TZ"/>
697     </condition>
698     <condition id="FreeRTOS Port Cortex-M v8 TZ">
699       <description>Requirements for FreeRTOS port for Cortex-M v8 with TrustZone</description>
700       <accept condition="FreeRTOS Port Cortex-M23 TZ"/>
701       <accept condition="FreeRTOS Port Cortex-M33 TZ"/>
702       <accept condition="FreeRTOS Port Cortex-M55 TZ"/>
703     </condition>
704     <condition id="FreeRTOS Port Cortex-A">
705       <description>Requirements for FreeRTOS port for Cortex-A</description>
706       <accept condition="FreeRTOS Port Cortex-A9 FPU DP"/>
707     </condition>
708     <condition id="FreeRTOS Port Cortex-M">
709       <description>Requirements for FreeRTOS port for Cortex-M</description>
710       <accept condition="FreeRTOS Port Cortex-M v6_v7"/>
711       <accept condition="FreeRTOS Port Cortex-M v8"/>
712     </condition>
713     <condition id="FreeRTOS Port">
714       <description>FreeRTOS ports for Arm Cortex combined</description>
715       <accept condition="FreeRTOS Port Cortex-A"/>
716       <accept condition="FreeRTOS Port Cortex-M"/>
717     </condition>
718
719     <!-- Conditions for RTOS::FreeRTOS components -->
720     <condition id="FreeRTOS Message or Stream Buffer API">
721       <description>FreeRTOS Message or Stream Buffer component</description>
722       <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
723       <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
724     </condition>
725
726     <condition id="FreeRTOS Core CA">
727       <description>Requirements for FreeRTOS Core for Cortex-A</description>
728       <require condition="FreeRTOS Port Cortex-A"/>
729
730       <require Cclass="Device" Cgroup="Startup"/>
731       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
732       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
733     </condition>
734
735     <condition id="FreeRTOS Core CM">
736       <description>Requirements for FreeRTOS Core for Cortex-M</description>
737       <require condition="FreeRTOS Port Cortex-M"/>
738
739       <require Cclass="Device" Cgroup="Startup"/>
740       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
741       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
742     </condition>
743
744     <condition id="FreeRTOS Core CM v6_v7 MPU">
745     <description>Requirements for FreeRTOS Core with MPU support for Cortex-M v6 and v7</description>
746       <require condition="FreeRTOS Port Cortex-M v6_v7 MPU"/>
747
748       <require Cclass="Device" Cgroup="Startup"/>
749       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
750       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
751       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
752       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
753       <require condition="FreeRTOS Message or Stream Buffer API"/>
754     </condition>
755
756     <condition id="FreeRTOS Core TZ">
757       <description>Requirements for FreeRTOS Core with TrustZone support</description>
758       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
759
760       <require Cclass="Device" Cgroup="Startup"/>
761       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
762       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
763     </condition>
764
765     <condition id="FreeRTOS Core TZ MPU">
766       <description>Requirements for FreeRTOS Core with TrustZone and MPU support</description>
767       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
768
769       <require Cclass="Device" Cgroup="Startup"/>
770       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
771       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
772       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
773       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
774       <require condition="FreeRTOS Message or Stream Buffer API"/>
775     </condition>
776
777     <condition id="FreeRTOS Config Native">
778       <description>Components required for FreeRTOS Config Native variant</description>
779       <require condition="FreeRTOS Port"/>
780
781       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
782     </condition>
783
784     <condition id="FreeRTOS Config CMSIS RTOS2">
785       <description>Components required for FreeRTOS Config CMSIS RTOS2 variant</description>
786       <require condition="FreeRTOS Port"/>
787
788       <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
789     </condition>
790
791     <condition id="FreeRTOS Coroutines">
792       <description>Components required for FreeRTOS Coroutines</description>
793       <require condition="FreeRTOS Port"/>
794
795       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
796     </condition>
797
798     <condition id="FreeRTOS Event Groups">
799       <description>Components required for FreeRTOS Event Groups</description>
800       <require condition="FreeRTOS Port"/>
801
802       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
803     </condition>
804
805     <condition id="FreeRTOS Heap">
806       <description>Components required for FreeRTOS Heap</description>
807       <require condition="FreeRTOS Port"/>
808
809       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
810     </condition>
811
812     <condition id="FreeRTOS Message Buffer">
813       <description>Components required for FreeRTOS Message Buffer</description>
814       <require condition="FreeRTOS Port"/>
815
816       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
817     </condition>
818
819     <condition id="FreeRTOS Stream Buffer">
820       <description>Components required for FreeRTOS Stream Buffer</description>
821       <require condition="FreeRTOS Port"/>
822
823       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
824     </condition>
825
826     <condition id="FreeRTOS Timers">
827       <description>Components required for FreeRTOS Timers</description>
828       <require condition="FreeRTOS Port"/>
829
830       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
831     </condition>
832
833     <condition id="FreeRTOS TrustZone">
834       <description>Components required for FreeRTOS TrustZone</description>
835       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
836
837       <!-- TrustZone Secure Context is a standalone component -->
838       <deny Cclass="CMSIS" Cgroup="RTOS"  Csub="FreeRTOS"/>
839       <deny Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
840
841       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
842       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
843       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Coroutines"/>
844       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
845       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
846       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
847       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
848       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
849     </condition>
850     
851     <condition id="CMSIS RTOS FreeRTOS">
852       <description>Components required for CMSIS RTOS API on top of FreeRTOS</description>
853       <require condition="FreeRTOS Port"/>
854
855       <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
856     </condition>
857
858     <condition id="CMSIS RTOS2 FreeRTOS CortexM">
859       <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-M</description>
860       <require condition="FreeRTOS Port Cortex-M"/>
861
862       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
863       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
864       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
865       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
866     </condition>
867
868     <condition id="CMSIS RTOS2 FreeRTOS CortexA">
869       <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-A</description>
870       <require condition="FreeRTOS Port Cortex-A"/>
871
872       <require Cclass="Device" Cgroup="IRQ Controller"/>
873       <require Cclass="Device" Cgroup="OS Tick"/>
874       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
875       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
876       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
877       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
878     </condition>
879
880   </conditions>
881
882   <components>
883     <!-- CMSIS-RTOS FreeRTOS component -->
884     <component Cclass="CMSIS" Cgroup="RTOS" Csub="FreeRTOS" Cversion="10.4.6" Capiversion="1.0.0" condition="CMSIS RTOS FreeRTOS">
885       <description>CMSIS-RTOS implementation for Cortex-M based on FreeRTOS</description>
886       <RTE_Components_h>
887         #define RTE_CMSIS_RTOS                  /* CMSIS-RTOS */
888         #define RTE_CMSIS_RTOS_FreeRTOS         /* CMSIS-RTOS FreeRTOS */
889       </RTE_Components_h>
890       <files>
891         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include1/cmsis_os.h"/>
892         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os1.c"/>
893       </files>
894     </component>
895
896     <!-- CMSIS-RTOS2 FreeRTOS component -->
897     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cvariant="Cortex-M" Cversion="10.4.6" Capiversion="2.1.3" condition="CMSIS RTOS2 FreeRTOS CortexM">
898       <description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
899       <RTE_Components_h>
900         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
901         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
902       </RTE_Components_h>
903       <files>
904         <file category="doc"    name="CMSIS/Documentation/General/html/index.html"/>
905         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
906         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
907         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
908         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
909
910         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/os_systick.c"/>
911       </files>
912     </component>
913
914     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cvariant="Cortex-A" Cversion="10.4.6" Capiversion="2.1.3" condition="CMSIS RTOS2 FreeRTOS CortexA">
915       <description>CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS</description>
916       <RTE_Components_h>
917         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
918         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
919       </RTE_Components_h>
920       <files>
921         <file category="doc"    name="CMSIS/Documentation/General/html/index.html"/>
922         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
923         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
924         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
925         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
926
927         <file category="source" attr="config" name="CMSIS/RTOS2/FreeRTOS/Source/handlers.c" version="9.1.0"/>
928       </files>
929     </component>
930
931     <bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="10.4.6">
932       <description>FreeRTOS Real Time Kernel</description>
933       <doc>https://www.freertos.org/Documentation/FreeRTOS_Reference_Manual_V10.0.0.pdf</doc>
934
935       <component Cgroup="Core" Cvariant="Cortex-M" isDefaultVariant="true" condition="FreeRTOS Core CM">
936         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M</description>
937         <RTE_Components_h>
938           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
939         </RTE_Components_h>
940         <files>
941           <file category="include" name="Source/include/"/>
942
943           <file category="header"  name="Source/include/FreeRTOS.h"/>
944           <file category="header"  name="Source/include/queue.h"/>
945           <file category="header"  name="Source/include/semphr.h"/>
946           <file category="header"  name="Source/include/task.h"/>
947
948           <file category="source"  name="Source/list.c"/>
949           <file category="source"  name="Source/queue.c"/>
950           <file category="source"  name="Source/tasks.c"/>
951
952           <file category="include"   condition="CM0_ARMCC"    name="Source/portable/RVDS/ARM_CM0/"/>
953           <file category="source"    condition="CM0_ARMCC"    name="Source/portable/RVDS/ARM_CM0/port.c"/>
954           <file category="include"   condition="CM3_ARMCC"    name="Source/portable/RVDS/ARM_CM3/"/>
955           <file category="source"    condition="CM3_ARMCC"    name="Source/portable/RVDS/ARM_CM3/port.c"/>
956           <file category="include"   condition="CM4_ARMCC"    name="Source/portable/RVDS/ARM_CM3/"/>
957           <file category="source"    condition="CM4_ARMCC"    name="Source/portable/RVDS/ARM_CM3/port.c"/>
958           <file category="include"   condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/"/>
959           <file category="source"    condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/port.c"/>
960           <file category="include"   condition="CM7_ARMCC"    name="Source/portable/RVDS/ARM_CM3/"/>
961           <file category="source"    condition="CM7_ARMCC"    name="Source/portable/RVDS/ARM_CM3/port.c"/>
962           <file category="include"   condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
963           <file category="source"    condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
964           <file category="include"   condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
965           <file category="source"    condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
966
967           <file category="include"   condition="CM0_ARMCC6"    name="Source/portable/GCC/ARM_CM0/"/>
968           <file category="source"    condition="CM0_ARMCC6"    name="Source/portable/GCC/ARM_CM0/port.c"/>
969           <file category="include"   condition="CM3_ARMCC6"    name="Source/portable/GCC/ARM_CM3/"/>
970           <file category="source"    condition="CM3_ARMCC6"    name="Source/portable/GCC/ARM_CM3/port.c"/>
971           <file category="include"   condition="CM4_ARMCC6"    name="Source/portable/GCC/ARM_CM3/"/>
972           <file category="source"    condition="CM4_ARMCC6"    name="Source/portable/GCC/ARM_CM3/port.c"/>
973           <file category="include"   condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/"/>
974           <file category="source"    condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/port.c"/>
975           <file category="include"   condition="CM7_ARMCC6"    name="Source/portable/GCC/ARM_CM3/"/>
976           <file category="source"    condition="CM7_ARMCC6"    name="Source/portable/GCC/ARM_CM3/port.c"/>
977           <file category="include"   condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
978           <file category="source"    condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
979           <file category="include"   condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
980           <file category="source"    condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
981           <file category="include"   condition="CM23_ARMCC6"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
982           <file category="source"    condition="CM23_ARMCC6"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
983           <file category="source"    condition="CM23_ARMCC6"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
984           <file category="include"   condition="CM33_ARMCC6"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
985           <file category="source"    condition="CM33_ARMCC6"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
986           <file category="source"    condition="CM33_ARMCC6"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
987           <file category="include"   condition="CM55_ARMCC6"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
988           <file category="source"    condition="CM55_ARMCC6"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
989           <file category="source"    condition="CM55_ARMCC6"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
990
991           <file category="include"   condition="CM0_GCC"    name="Source/portable/GCC/ARM_CM0/"/>
992           <file category="source"    condition="CM0_GCC"    name="Source/portable/GCC/ARM_CM0/port.c"/>
993           <file category="include"   condition="CM3_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
994           <file category="source"    condition="CM3_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
995           <file category="include"   condition="CM4_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
996           <file category="source"    condition="CM4_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
997           <file category="include"   condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/"/>
998           <file category="source"    condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/port.c"/>
999           <file category="include"   condition="CM7_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
1000           <file category="source"    condition="CM7_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
1001           <file category="include"   condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
1002           <file category="source"    condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
1003           <file category="include"   condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
1004           <file category="source"    condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
1005           <file category="include"   condition="CM23_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
1006           <file category="source"    condition="CM23_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
1007           <file category="source"    condition="CM23_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
1008           <file category="include"   condition="CM33_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
1009           <file category="source"    condition="CM33_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
1010           <file category="source"    condition="CM33_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
1011           <file category="include"   condition="CM55_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
1012           <file category="source"    condition="CM55_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
1013           <file category="source"    condition="CM55_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
1014
1015           <file category="include"   condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/"/>
1016           <file category="source"    condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/port.c"/>
1017           <file category="sourceAsm" condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/portasm.s"/>
1018           <file category="include"   condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
1019           <file category="source"    condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
1020           <file category="sourceAsm" condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
1021           <file category="include"   condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
1022           <file category="source"    condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
1023           <file category="sourceAsm" condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
1024           <file category="include"   condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/"/>
1025           <file category="source"    condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/port.c"/>
1026           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/portasm.s"/>
1027           <file category="include"   condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
1028           <file category="source"    condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
1029           <file category="sourceAsm" condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
1030           <file category="include"   condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
1031           <file category="source"    condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
1032           <file category="sourceAsm" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
1033           <file category="include"   condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
1034           <file category="source"    condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
1035           <file category="sourceAsm" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
1036           <file category="include"   condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/"/>
1037           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/port.c"/>
1038           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s"/>
1039           <file category="include"   condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
1040           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
1041           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
1042           <file category="include"   condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
1043           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
1044           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
1045
1046           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1047           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1048           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1049         </files>
1050       </component>
1051
1052       <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS Core CM v6_v7 MPU">
1053         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
1054         <RTE_Components_h>
1055           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1056           #define RTE_RTOS_FreeRTOS_CORE_MPU      /* RTOS FreeRTOS Core with MPU support */
1057         </RTE_Components_h>
1058         <files>
1059           <file category="include" name="Source/include/"/>
1060
1061           <file category="header"  name="Source/include/FreeRTOS.h"/>
1062           <file category="header"  name="Source/include/queue.h"/>
1063           <file category="header"  name="Source/include/semphr.h"/>
1064           <file category="header"  name="Source/include/task.h"/>
1065
1066           <file category="source"  name="Source/list.c"/>
1067           <file category="source"  name="Source/queue.c"/>
1068           <file category="source"  name="Source/tasks.c"/>
1069           <file category="source"  name="Source/portable/Common/mpu_wrappers.c"/>
1070
1071           <file category="include"   condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4_MPU/"/>
1072           <file category="source"    condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4_MPU/port.c"/>
1073
1074           <file category="include"   condition="CM3_ARMCC6"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
1075           <file category="source"    condition="CM3_ARMCC6"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
1076           <file category="include"   condition="CM4_ARMCC6"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
1077           <file category="source"    condition="CM4_ARMCC6"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
1078           <file category="include"   condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4_MPU/"/>
1079           <file category="source"    condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
1080
1081           <file category="include"   condition="CM3_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
1082           <file category="source"    condition="CM3_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
1083           <file category="include"   condition="CM4_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
1084           <file category="source"    condition="CM4_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
1085           <file category="include"   condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4_MPU/"/>
1086           <file category="source"    condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
1087
1088           <file category="include"   condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/"/>
1089           <file category="source"    condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/port.c"/>
1090           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/portasm.s"/>
1091
1092           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1093           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1094           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1095         </files>
1096       </component>
1097
1098       <component Cgroup="Core" Cvariant="Cortex-M Non-Secure" condition="FreeRTOS Core TZ">
1099         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone)</description>
1100         <RTE_Components_h>
1101           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1102           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
1103         </RTE_Components_h>
1104         <files>
1105           <file category="include" name="Source/include/"/>
1106
1107           <file category="header"  name="Source/include/FreeRTOS.h"/>
1108           <file category="header"  name="Source/include/queue.h"/>
1109           <file category="header"  name="Source/include/semphr.h"/>
1110           <file category="header"  name="Source/include/task.h"/>
1111
1112           <file category="source"  name="Source/list.c"/>
1113           <file category="source"  name="Source/queue.c"/>
1114           <file category="source"  name="Source/tasks.c"/>
1115
1116           <file category="include"   condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
1117           <file category="include"   condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
1118           <file category="source"    condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
1119           <file category="source"    condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
1120           <file category="include"   condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1121           <file category="include"   condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1122           <file category="source"    condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1123           <file category="source"    condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1124           <file category="include"   condition="CM55_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1125           <file category="include"   condition="CM55_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1126           <file category="source"    condition="CM55_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1127           <file category="source"    condition="CM55_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1128
1129           <file category="include"   condition="CM23_GCC"    name="Source/portable/GCC/ARM_CM23/secure/"/>
1130           <file category="include"   condition="CM23_GCC"    name="Source/portable/GCC/ARM_CM23/non_secure/"/>
1131           <file category="source"    condition="CM23_GCC"    name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
1132           <file category="source"    condition="CM23_GCC"    name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
1133           <file category="include"   condition="CM33_GCC"    name="Source/portable/GCC/ARM_CM33/secure/"/>
1134           <file category="include"   condition="CM33_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1135           <file category="source"    condition="CM33_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1136           <file category="source"    condition="CM33_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1137           <file category="include"   condition="CM55_GCC"    name="Source/portable/GCC/ARM_CM33/secure/"/>
1138           <file category="include"   condition="CM55_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1139           <file category="source"    condition="CM55_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1140           <file category="source"    condition="CM55_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1141
1142           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1143           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
1144           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
1145           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
1146           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1147           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1148           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1149           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1150           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1151           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1152           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1153           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1154
1155           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1156           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1157           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1158         </files>
1159       </component>
1160
1161       <component Cgroup="Core" Cvariant="Cortex-M Non-Secure MPU" condition="FreeRTOS Core TZ MPU">
1162         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone) and MPU</description>
1163         <RTE_Components_h>
1164           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1165           #define RTE_RTOS_FreeRTOS_CORE_MPU      /* RTOS FreeRTOS Core with MPU support */
1166           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
1167         </RTE_Components_h>
1168         <files>
1169           <file category="include" name="Source/include/"/>
1170
1171           <file category="header"  name="Source/include/FreeRTOS.h"/>
1172           <file category="header"  name="Source/include/queue.h"/>
1173           <file category="header"  name="Source/include/semphr.h"/>
1174           <file category="header"  name="Source/include/task.h"/>
1175
1176           <file category="source"  name="Source/list.c"/>
1177           <file category="source"  name="Source/queue.c"/>
1178           <file category="source"  name="Source/tasks.c"/>
1179           <file category="source"  name="Source/portable/Common/mpu_wrappers.c"/>
1180
1181           <file category="include"   condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
1182           <file category="include"   condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
1183           <file category="source"    condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
1184           <file category="source"    condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
1185           <file category="include"   condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1186           <file category="include"   condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1187           <file category="source"    condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1188           <file category="source"    condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1189           <file category="include"   condition="CM55_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1190           <file category="include"   condition="CM55_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1191           <file category="source"    condition="CM55_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1192           <file category="source"    condition="CM55_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1193
1194           <file category="include"   condition="CM23_GCC"    name="Source/portable/GCC/ARM_CM23/secure/"/>
1195           <file category="include"   condition="CM23_GCC"    name="Source/portable/GCC/ARM_CM23/non_secure/"/>
1196           <file category="source"    condition="CM23_GCC"    name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
1197           <file category="source"    condition="CM23_GCC"    name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
1198           <file category="include"   condition="CM33_GCC"    name="Source/portable/GCC/ARM_CM33/secure/"/>
1199           <file category="include"   condition="CM33_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1200           <file category="source"    condition="CM33_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1201           <file category="source"    condition="CM33_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1202           <file category="include"   condition="CM55_GCC"    name="Source/portable/GCC/ARM_CM33/secure/"/>
1203           <file category="include"   condition="CM55_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1204           <file category="source"    condition="CM55_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1205           <file category="source"    condition="CM55_GCC"    name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1206
1207           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1208           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
1209           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
1210           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
1211           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1212           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1213           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1214           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1215           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1216           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1217           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1218           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1219
1220           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1221           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1222           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1223         </files>
1224       </component>
1225
1226       <component Cgroup="Core" Cvariant="Cortex-A" isDefaultVariant="true" condition="FreeRTOS Core CA">
1227         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-A</description>
1228         <RTE_Components_h>
1229           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1230         </RTE_Components_h>
1231         <files>
1232           <file category="include" name="Source/include/"/>
1233
1234           <file category="header"  name="Source/include/FreeRTOS.h"/>
1235           <file category="header"  name="Source/include/queue.h"/>
1236           <file category="header"  name="Source/include/semphr.h"/>
1237           <file category="header"  name="Source/include/task.h"/>
1238
1239           <file category="source"  name="Source/list.c"/>
1240           <file category="source"  name="Source/queue.c"/>
1241           <file category="source"  name="Source/tasks.c"/>
1242
1243           <file category="include"   condition="ARMCC"  name="Source/portable/RVDS/ARM_CA9/"/>
1244           <file category="source"    condition="ARMCC"  name="Source/portable/RVDS/ARM_CA9/port.c"/>
1245           <file category="sourceAsm" condition="ARMCC"  name="Source/portable/RVDS/ARM_CA9/portASM.s"/>
1246
1247           <file category="include"   condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/"/>
1248           <file category="source"    condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/port.c"/>
1249           <file category="sourceAsm" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1250
1251           <file category="include"   condition="GCC"    name="Source/portable/GCC/ARM_CA9/"/>
1252           <file category="source"    condition="GCC"    name="Source/portable/GCC/ARM_CA9/port.c"/>
1253           <file category="sourceAsm" condition="GCC"    name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1254
1255           <file category="include"   condition="IAR"    name="Source/portable/IAR/ARM_CA9/"/>
1256           <file category="source"    condition="IAR"    name="Source/portable/IAR/ARM_CA9/port.c"/>
1257           <file category="sourceAsm" condition="IAR"    name="Source/portable/IAR/ARM_CA9/portASM.s"/>
1258
1259           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1260           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1261           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1262         </files>
1263       </component>
1264
1265       <component Cgroup="Config" Cvariant="CMSIS RTOS2" condition="FreeRTOS Config CMSIS RTOS2">
1266         <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
1267         <RTE_Components_h>
1268           #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2  /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
1269         </RTE_Components_h>
1270         <files>
1271           <file category="doc"    name="CMSIS/Documentation/General/html/cre_freertos_proj.html#cmsis_freertos_config"/>
1272           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM/FreeRTOSConfig.h" version="10.3.0" condition="CoreM"/>
1273           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCA/FreeRTOSConfig.h" version="10.3.0" condition="CoreA"/>
1274         </files>
1275       </component>
1276
1277       <component Cgroup="Config" Cvariant="FreeRTOS" condition="FreeRTOS Config Native">
1278         <description>FreeRTOS API configuration file</description>
1279         <RTE_Components_h>
1280           #define RTE_RTOS_FreeRTOS_CONFIG        /* RTOS FreeRTOS Config for FreeRTOS API */
1281         </RTE_Components_h>
1282         <files>
1283           <file category="doc"    name="CMSIS/Documentation/General/html/cre_freertos_proj.html#native_freertos_config"/>
1284           <file category="header" attr="config" name="Config/ARMCM/FreeRTOSConfig.h" version="10.3.0" condition="CoreM"/>
1285           <file category="header" attr="config" name="Config/ARMCA/FreeRTOSConfig.h" version="10.3.0" condition="CoreA"/>
1286         </files>
1287       </component>
1288
1289       <component Cgroup="Coroutines" condition="FreeRTOS Coroutines">
1290         <description>Co-routine API</description>
1291         <RTE_Components_h>
1292           #define RTE_RTOS_FreeRTOS_COROUTINE     /* RTOS FreeRTOS Co-routines */
1293         </RTE_Components_h>
1294         <files>
1295           <file category="header" name="Source/include/croutine.h"/>
1296           <file category="source" name="Source/croutine.c"/>
1297         </files>
1298       </component>
1299
1300       <component Cgroup="Event Groups" condition="FreeRTOS Event Groups">
1301         <description>Event Group API</description>
1302         <RTE_Components_h>
1303           #define RTE_RTOS_FreeRTOS_EVENTGROUPS   /* RTOS FreeRTOS Event Groups */
1304         </RTE_Components_h>
1305         <files>
1306           <file category="header" name="Source/include/event_groups.h"/>
1307           <file category="source" name="Source/event_groups.c"/>
1308         </files>
1309       </component>
1310
1311       <component Cgroup="Heap" Cvariant="Heap_1" condition="FreeRTOS Heap">
1312         <description>Very simple, does not permit memory to be freed.</description>
1313         <RTE_Components_h>
1314           #define RTE_RTOS_FreeRTOS_HEAP_1        /* RTOS FreeRTOS Heap 1 */
1315         </RTE_Components_h>
1316         <files>
1317           <file category="source" name="Source/portable/MemMang/heap_1.c"/>
1318           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
1319         </files>
1320       </component>
1321
1322       <component Cgroup="Heap" Cvariant="Heap_2" condition="FreeRTOS Heap">
1323         <description>Permits memory to be freed, but not does coalescence adjacent free memory blocks.</description>
1324         <RTE_Components_h>
1325           #define RTE_RTOS_FreeRTOS_HEAP_2        /* RTOS FreeRTOS Heap 2 */
1326         </RTE_Components_h>
1327         <files>
1328           <file category="source" name="Source/portable/MemMang/heap_2.c"/>
1329           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
1330         </files>
1331       </component>
1332
1333       <component Cgroup="Heap" Cvariant="Heap_3" condition="FreeRTOS Heap">
1334         <description>Wraps the standard malloc() and free() for thread safety.</description>
1335         <RTE_Components_h>
1336           #define RTE_RTOS_FreeRTOS_HEAP_3        /* RTOS FreeRTOS Heap 3 */
1337         </RTE_Components_h>
1338         <files>
1339           <file category="source" name="Source/portable/MemMang/heap_3.c"/>
1340           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
1341         </files>
1342       </component>
1343
1344       <component Cgroup="Heap" Cvariant="Heap_4" condition="FreeRTOS Heap" isDefaultVariant="true">
1345         <description>Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.</description>
1346         <RTE_Components_h>
1347           #define RTE_RTOS_FreeRTOS_HEAP_4        /* RTOS FreeRTOS Heap 4 */
1348         </RTE_Components_h>
1349         <files>
1350           <file category="source" name="Source/portable/MemMang/heap_4.c"/>
1351           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
1352         </files>
1353       </component>
1354
1355       <component Cgroup="Heap" Cvariant="Heap_5" condition="FreeRTOS Heap">
1356         <description>Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.</description>
1357         <RTE_Components_h>
1358           #define RTE_RTOS_FreeRTOS_HEAP_5        /* RTOS FreeRTOS Heap 5 */
1359         </RTE_Components_h>
1360         <files>
1361           <file category="source" name="Source/portable/MemMang/heap_5.c"/>
1362           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
1363         </files>
1364       </component>
1365
1366       <component Cgroup="Message Buffer" condition="FreeRTOS Message Buffer">
1367         <description>Message Buffer API</description>
1368         <RTE_Components_h>
1369           #define RTE_RTOS_FreeRTOS_MESSAGE_BUFFER /* RTOS FreeRTOS Message Buffers */
1370         </RTE_Components_h>
1371         <files>
1372           <file category="header" name="Source/include/message_buffer.h"/>
1373           <file category="source" name="Source/stream_buffer.c"/>
1374         </files>
1375       </component>
1376
1377       <component Cgroup="Stream Buffer" condition="FreeRTOS Stream Buffer">
1378         <description>Stream Buffer API</description>
1379         <RTE_Components_h>
1380           #define RTE_RTOS_FreeRTOS_STREAM_BUFFER /* RTOS FreeRTOS Stream Buffers */
1381         </RTE_Components_h>
1382         <files>
1383           <file category="header" name="Source/include/stream_buffer.h"/>
1384           <file category="source" name="Source/stream_buffer.c"/>
1385         </files>
1386       </component>
1387
1388       <component Cgroup="Timers" condition="FreeRTOS Timers">
1389         <description>Timer API</description>
1390         <RTE_Components_h>
1391           #define RTE_RTOS_FreeRTOS_TIMERS        /* RTOS FreeRTOS Timers */
1392         </RTE_Components_h>
1393         <files>
1394           <file category="header" name="Source/include/timers.h"/>
1395           <file category="source" name="Source/timers.c"/>
1396         </files>
1397       </component>
1398
1399       <component Cgroup="TrustZone" condition="FreeRTOS TrustZone">
1400         <description>TrustZone Secure Context API</description>
1401         <RTE_Components_h>
1402           #define RTE_RTOS_FreeRTOS_TZ
1403         </RTE_Components_h>
1404         <files>
1405           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM_TZ/FreeRTOSConfig.h" version="10.2.0"/>
1406
1407           <file category="header"    condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1408           <file category="include"   condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
1409           <file category="source"    condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1410           <file category="source"    condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1411           <file category="source"    condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1412           <file category="source"    condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1413           <file category="header"    condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1414           <file category="include"   condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1415           <file category="source"    condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1416           <file category="source"    condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1417           <file category="source"    condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1418           <file category="source"    condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1419           <file category="header"    condition="CM55_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1420           <file category="include"   condition="CM55_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1421           <file category="source"    condition="CM55_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1422           <file category="source"    condition="CM55_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1423           <file category="source"    condition="CM55_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1424           <file category="source"    condition="CM55_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1425
1426           <file category="header"    condition="CM23_TZ_GCC"    name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1427           <file category="include"   condition="CM23_TZ_GCC"    name="Source/portable/GCC/ARM_CM23/secure/"/>
1428           <file category="source"    condition="CM23_TZ_GCC"    name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1429           <file category="source"    condition="CM23_TZ_GCC"    name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1430           <file category="source"    condition="CM23_TZ_GCC"    name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1431           <file category="source"    condition="CM23_TZ_GCC"    name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1432           <file category="header"    condition="CM33_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1433           <file category="include"   condition="CM33_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/"/>
1434           <file category="source"    condition="CM33_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1435           <file category="source"    condition="CM33_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1436           <file category="source"    condition="CM33_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1437           <file category="source"    condition="CM33_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1438           <file category="header"    condition="CM55_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1439           <file category="include"   condition="CM55_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/"/>
1440           <file category="source"    condition="CM55_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1441           <file category="source"    condition="CM55_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1442           <file category="source"    condition="CM55_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1443           <file category="source"    condition="CM55_TZ_GCC"    name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1444
1445           <file category="header"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_port_macros.h"/>
1446           <file category="include"   condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1447           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_context.c"/>
1448           <file category="sourceAsm" condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s"/>
1449           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_heap.c"/>
1450           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_init.c"/>
1451           <file category="header"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_port_macros.h"/>
1452           <file category="include"   condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1453           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context.c"/>
1454           <file category="sourceAsm" condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s"/>
1455           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_heap.c"/>
1456           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_init.c"/>
1457           <file category="header"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_port_macros.h"/>
1458           <file category="include"   condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1459           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context.c"/>
1460           <file category="sourceAsm" condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s"/>
1461           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_heap.c"/>
1462           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_init.c"/>
1463         </files>
1464       </component>
1465     </bundle>
1466   </components>
1467
1468   <examples>
1469     <example name="CMSIS-RTOS2 FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky">
1470       <description>CMSIS-RTOS2 Blinky example using FreeRTOS</description>
1471       <board name="uVision Simulator" vendor="Keil"/>
1472       <project>
1473         <environment name="uv" load="Blinky.uvprojx"/>
1474       </project>
1475       <attributes>
1476         <component Cclass="CMSIS" Cgroup="CORE"/>
1477         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1478         <component Cclass="Device" Cgroup="Startup"/>
1479         <category>Getting Started</category>
1480       </attributes>
1481     </example>
1482
1483     <example name="Native FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Native_Blinky">
1484       <description>Blinky example using FreeRTOS natively</description>
1485       <board name="uVision Simulator" vendor="Keil"/>
1486       <project>
1487         <environment name="uv" load="Blinky.uvprojx"/>
1488       </project>
1489       <attributes>
1490         <component Cclass="CMSIS" Cgroup="CORE"/>
1491         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1492         <component Cclass="Device" Cgroup="Startup"/>
1493         <category>Getting Started</category>
1494       </attributes>
1495     </example>
1496
1497     <example name="TrustZone for ARMv8-M" doc="NonSecure/Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/TrustZone">
1498       <description>CMSIS-RTOS2 example with secure/non-secure thread context management using FreeRTOS</description>
1499       <board name="uVision Simulator" vendor="Keil"/>
1500       <project>
1501         <environment name="uv" load="TrustZone.uvmpw"/>
1502       </project>
1503       <attributes>
1504         <component Cclass="CMSIS" Cgroup="CORE"/>
1505         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1506         <component Cclass="Device" Cgroup="Startup"/>
1507         <category>Getting Started</category>
1508       </attributes>
1509     </example>
1510
1511     <example name="CMSIS-RTOS2 FreeRTOS Blinky" doc="Blinky/Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky_IAR">
1512       <description>CMSIS-RTOS2 Blinky example using FreeRTOS</description>
1513       <board name="EWARM Simulator" vendor="iar"/>
1514       <project>
1515         <environment name="iar" load="Blinky/Blinky.ewp"/>
1516       </project>
1517       <attributes>
1518         <component Cclass="CMSIS" Cgroup="CORE"/>
1519         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1520         <component Cclass="Device" Cgroup="Startup"/>
1521         <category>Getting Started</category>
1522       </attributes>
1523     </example>
1524
1525   </examples>
1526 </package>