]> begriffs open source - cmsis-freertos/blob - ARM.CMSIS-FreeRTOS.pdsc
Remove unused condition from pack description
[cmsis-freertos] / ARM.CMSIS-FreeRTOS.pdsc
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <package schemaVersion="1.7.27" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="https://raw.githubusercontent.com/Open-CMSIS-Pack/Open-CMSIS-Pack-Spec/v1.7.27/schema/PACK.xsd">
4   <vendor>ARM</vendor>
5   <name>CMSIS-FreeRTOS</name>
6   <description>Bundle of FreeRTOS for Cortex-M and Cortex-A</description>
7   <license>LICENSE</license>
8   <licenseSets>
9     <licenseSet id="all" default="true" gating="true">
10       <license title="Apache 2.0 for CMSIS extensions" name="./LICENSE"           spdx="Apache-2.0"/>
11       <license title="MIT License for FreeRTOS kernel" name="./Source/LICENSE.md" spdx="MIT"/>
12     </licenseSet>
13   </licenseSets>
14   <url>https://www.keil.com/pack/</url>
15
16   <releases>
17     <release version="0.0.0">
18       Active Development ...
19     </release>
20   </releases>
21
22   <requirements>
23     <packages>
24       <package vendor="ARM" name="CMSIS" version="6.0.0-0"/>
25     </packages>
26   </requirements>
27
28   <conditions>
29     <condition id="ARMCC6">
30       <accept Tcompiler="ARMCC" Toptions="AC6"/>
31       <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
32     </condition>
33     <condition id="GCC">
34       <accept Tcompiler="GCC"/>
35       <accept Tcompiler="CLANG"/>
36     </condition>
37     <condition id="IAR">
38       <require Tcompiler="IAR"/>
39     </condition>
40
41     <condition id="CM0">
42       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device</description>
43       <accept Dcore="Cortex-M0"/>
44       <accept Dcore="Cortex-M0+"/>
45       <accept Dcore="SC000"/>
46     </condition>
47
48     <condition id="CM3">
49       <description>Cortex-M3 or SC300 processor based device</description>
50       <accept Dcore="Cortex-M3"/>
51       <accept Dcore="SC300"/>
52     </condition>
53
54     <condition id="CM4">
55       <description>Cortex-M4 processor based device</description>
56       <require Dcore="Cortex-M4" Dfpu="NO_FPU"/>
57     </condition>
58
59     <condition id="CM4_FP">
60       <description>Cortex-M4 processor based device using Floating Point Unit</description>
61       <require Dcore="Cortex-M4" Dfpu="FPU"/>
62     </condition>
63
64     <condition id="CM7">
65       <description>Cortex-M7 processor based device</description>
66       <require Dcore="Cortex-M7" Dfpu="NO_FPU"/>
67     </condition>
68
69     <condition id="CM7_SP">
70       <description>Cortex-M7 processor based device using Floating Point Unit (SP)</description>
71       <require Dcore="Cortex-M7" Dfpu="SP_FPU"/>
72     </condition>
73
74     <condition id="CM7_DP">
75       <description>Cortex-M7 processor based device using Floating Point Unit (DP)</description>
76       <require Dcore="Cortex-M7" Dfpu="DP_FPU"/>
77     </condition>
78
79     <condition id="CM23">
80       <description>Cortex-M23 processor based device</description>
81       <require Dcore="Cortex-M23"/>
82     </condition>
83
84     <condition id="CM23_NoTZ">
85       <description>Cortex-M23 processor based device without TrustZone</description>
86       <require condition="CM23"/>
87       <require Dtz="NO_TZ"/>
88     </condition>
89
90     <condition id="CM23_TZ">
91       <description>Cortex-M23 processor based device with TrustZone</description>
92       <require condition="CM23"/>
93       <require Dtz="TZ"/>
94     </condition>
95
96     <condition id="CM33">
97       <description>Cortex-M33 processor based device</description>
98       <require Dcore="Cortex-M33"/>
99     </condition>
100
101     <condition id="CM33_NoTZ">
102       <description>Cortex-M33 processor based device without TrustZone</description>
103       <require condition="CM33"/>
104       <require Dtz="NO_TZ"/>
105     </condition>
106
107     <condition id="CM33_TZ">
108       <description>Cortex-M33 processor based device with TrustZone</description>
109       <require condition="CM33"/>
110       <require Dtz="TZ"/>
111     </condition>
112
113     <condition id="CM35P">
114       <description>Cortex-M35P processor based device</description>
115       <require Dcore="Cortex-M35P"/>
116     </condition>
117
118     <condition id="CM35P_NoTZ">
119       <description>Cortex-M35P processor based device without TrustZone</description>
120       <require condition="CM35P"/>
121       <require Dtz="NO_TZ"/>
122     </condition>
123
124     <condition id="CM35P_TZ">
125       <description>Cortex-M35P processor based device with TrustZone</description>
126       <require condition="CM35P"/>
127       <require Dtz="TZ"/>
128     </condition>
129
130     <condition id="CM55">
131       <description>Cortex-M55 processor based device</description>
132       <require Dcore="Cortex-M55"/>
133     </condition>
134
135     <condition id="CM55_TZ">
136       <description>Cortex-M55 processor based device with TrustZone</description>
137       <require condition="CM55"/>
138       <require Dtz="TZ"/>
139     </condition>
140
141     <condition id="CM85">
142       <description>Cortex-M85 processor based device</description>
143       <require Dcore="Cortex-M85"/>
144     </condition>
145
146     <condition id="CM85_TZ">
147       <description>Cortex-M85 processor based device with TrustZone</description>
148       <require condition="CM85"/>
149       <require Dtz="TZ"/>
150     </condition>
151
152     <condition id="CA9_DP">
153       <description>Cortex-A9 processor based device using Floating Point Unit (DP)</description>
154       <require Dcore="Cortex-A9" Dfpu="DP_FPU"/>
155     </condition>
156
157     <!-- Arm Compiler 6 and GCC -->
158     <condition id="CM0_AC6_GCC">
159       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 6 and GCC</description>
160       <require condition="CM0"/>
161       <accept condition="ARMCC6"/>
162       <accept condition="GCC"/>
163     </condition>
164
165     <condition id="CM3_AC6_GCC">
166       <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 6 and GCC</description>
167       <require condition="CM3"/>
168       <accept condition="ARMCC6"/>
169       <accept condition="GCC"/>
170     </condition>
171
172     <condition id="CM4_AC6_GCC">
173       <description>Cortex-M4 processor based device for the ARM Compiler 6 and GCC</description>
174       <require condition="CM4"/>
175       <accept condition="ARMCC6"/>
176       <accept condition="GCC"/>
177     </condition>
178     <condition id="CM4_FP_AC6_GCC">
179       <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 6 and GCC</description>
180       <require condition="CM4_FP"/>
181       <accept condition="ARMCC6"/>
182       <accept condition="GCC"/>
183     </condition>
184
185     <condition id="CM7_AC6_GCC">
186       <description>Cortex-M7 processor based device for the ARM Compiler 6 and GCC</description>
187       <require condition="CM7"/>
188       <accept condition="ARMCC6"/>
189       <accept condition="GCC"/>
190     </condition>
191     <condition id="CM7_SP_AC6_GCC">
192       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 6 and GCC</description>
193       <require condition="CM7_SP"/>
194       <accept condition="ARMCC6"/>
195       <accept condition="GCC"/>
196     </condition>
197     <condition id="CM7_DP_AC6_GCC">
198       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 6 and GCC</description>
199       <require condition="CM7_DP"/>
200       <accept condition="ARMCC6"/>
201       <accept condition="GCC"/>
202     </condition>
203
204     <condition id="CM23_AC6_GCC">
205       <description>Cortex-M23 processor based device for the ARM Compiler 6 and GCC</description>
206       <require condition="CM23"/>
207       <accept condition="ARMCC6"/>
208       <accept condition="GCC"/>
209     </condition>
210     <condition id="CM23_NoTZ_AC6_GCC">
211       <description>Cortex-M23 processor based device without TrustZone for the ARM Compiler 6 and GCC</description>
212       <require condition="CM23_NoTZ"/>
213       <accept condition="ARMCC6"/>
214       <accept condition="GCC"/>
215     </condition>
216     <condition id="CM23_TZ_AC6_GCC">
217       <description>Cortex-M23 processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
218       <require condition="CM23_TZ"/>
219       <accept condition="ARMCC6"/>
220       <accept condition="GCC"/>
221     </condition>
222
223     <condition id="CM33_AC6_GCC">
224       <description>Cortex-M33 processor based device for the ARM Compiler 6 and GCC</description>
225       <require condition="CM33"/>
226       <accept condition="ARMCC6"/>
227       <accept condition="GCC"/>
228     </condition>
229     <condition id="CM33_NoTZ_AC6_GCC">
230       <description>Cortex-M33 processor based device without TrustZone for the ARM Compiler 6 and GCC</description>
231       <require condition="CM33_NoTZ"/>
232       <accept condition="ARMCC6"/>
233       <accept condition="GCC"/>
234     </condition>
235     <condition id="CM33_TZ_AC6_GCC">
236       <description>Cortex-M33 processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
237       <require condition="CM33_TZ"/>
238       <accept condition="ARMCC6"/>
239       <accept condition="GCC"/>
240     </condition>
241
242     <condition id="CM35P_AC6_GCC">
243       <description>Cortex-M35P processor based device for the ARM Compiler 6 and GCC</description>
244       <require condition="CM35P"/>
245       <accept condition="ARMCC6"/>
246       <accept condition="GCC"/>
247     </condition>
248     <condition id="CM35P_NoTZ_AC6_GCC">
249       <description>Cortex-M35P processor based device without TrustZone for the ARM Compiler 6 and GCC</description>
250       <require condition="CM35P_NoTZ"/>
251       <accept condition="ARMCC6"/>
252       <accept condition="GCC"/>
253     </condition>
254     <condition id="CM35P_TZ_AC6_GCC">
255       <description>Cortex-M35P processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
256       <require condition="CM35P_TZ"/>
257       <accept condition="ARMCC6"/>
258       <accept condition="GCC"/>
259     </condition>
260
261     <condition id="CM55_AC6_GCC">
262       <description>Cortex-M55 processor based device for the ARM Compiler 6 and GCC</description>
263       <require condition="CM55"/>
264       <accept condition="ARMCC6"/>
265       <accept condition="GCC"/>
266     </condition>
267     <condition id="CM55_TZ_AC6_GCC">
268       <description>Cortex-M55 processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
269       <require condition="CM55_TZ"/>
270       <accept condition="ARMCC6"/>
271       <accept condition="GCC"/>
272     </condition>
273
274     <condition id="CM85_AC6_GCC">
275       <description>Cortex-M85 processor based device for the ARM Compiler 6 and GCC</description>
276       <require condition="CM85"/>
277       <accept condition="ARMCC6"/>
278       <accept condition="GCC"/>
279     </condition>
280     <condition id="CM85_TZ_AC6_GCC">
281       <description>Cortex-M85 processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
282       <require condition="CM85_TZ"/>
283       <accept condition="ARMCC6"/>
284       <accept condition="GCC"/>
285     </condition>
286
287     <condition id="CA9_DP_AC6_GCC">
288       <description>Cortex-A9 processor based device using Floating Point Unit (DP) for the ARM Compiler 6 and GCC</description>
289       <require condition="CA9_DP"/>
290       <accept condition="ARMCC6"/>
291       <accept condition="GCC"/>
292     </condition>
293
294     <!-- IAR compiler -->
295     <condition id="CM0_IAR">
296       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the IAR Compiler</description>
297       <require condition="CM0"/>
298       <require condition="IAR"/>
299     </condition>
300
301     <condition id="CM3_IAR">
302       <description>Cortex-M3 or SC300 processor based device for the IAR Compiler</description>
303       <require condition="CM3"/>
304       <require condition="IAR"/>
305     </condition>
306
307     <condition id="CM4_IAR">
308       <description>Cortex-M4 processor based device for the IAR Compiler</description>
309       <require condition="CM4"/>
310       <require condition="IAR"/>
311     </condition>
312     <condition id="CM4_FP_IAR">
313       <description>Cortex-M4 processor based device using Floating Point Unit for the IAR Compiler</description>
314       <require condition="CM4_FP"/>
315       <require condition="IAR"/>
316     </condition>
317
318     <condition id="CM7_IAR">
319       <description>Cortex-M7 processor based device for the IAR Compiler</description>
320       <require condition="CM7"/>
321       <require condition="IAR"/>
322     </condition>
323     <condition id="CM7_SP_IAR">
324       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the IAR Compiler</description>
325       <require condition="CM7_SP"/>
326       <require condition="IAR"/>
327     </condition>
328     <condition id="CM7_DP_IAR">
329       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the IAR Compiler</description>
330       <require condition="CM7_DP"/>
331       <require condition="IAR"/>
332     </condition>
333
334     <condition id="CM23_IAR">
335       <description>Cortex-M23 processor based device for the IAR Compiler</description>
336       <require condition="CM23"/>
337       <require condition="IAR"/>
338     </condition>
339     <condition id="CM23_NoTZ_IAR">
340       <description>Cortex-M23 processor based device without TrustZone for the IAR Compiler</description>
341       <require condition="CM23_NoTZ"/>
342       <require condition="IAR"/>
343     </condition>
344     <condition id="CM23_TZ_IAR">
345       <description>Cortex-M23 processor based device with TrustZone for the IAR Compiler</description>
346       <require condition="CM23_TZ"/>
347       <require condition="IAR"/>
348     </condition>
349
350     <condition id="CM33_IAR">
351       <description>Cortex-M33 processor based device for the IAR Compiler</description>
352       <require condition="CM33"/>
353       <require condition="IAR"/>
354     </condition>
355     <condition id="CM33_NoTZ_IAR">
356       <description>Cortex-M33 processor based device without TrustZone for the IAR Compiler</description>
357       <require condition="CM33_NoTZ"/>
358       <require condition="IAR"/>
359     </condition>
360     <condition id="CM33_TZ_IAR">
361       <description>Cortex-M33 processor based device with TrustZone for the IAR Compiler</description>
362       <require condition="CM33_TZ"/>
363       <require condition="IAR"/>
364     </condition>
365
366     <condition id="CM35P_IAR">
367       <description>Cortex-M35P processor based device for the IAR Compiler</description>
368       <require condition="CM35P"/>
369       <require condition="IAR"/>
370     </condition>
371     <condition id="CM35P_NoTZ_IAR">
372       <description>Cortex-M35P processor based device without TrustZone for the IAR Compiler</description>
373       <require condition="CM35P_NoTZ"/>
374       <require condition="IAR"/>
375     </condition>
376     <condition id="CM35P_TZ_IAR">
377       <description>Cortex-M35P processor based device with TrustZone for the IAR Compiler</description>
378       <require condition="CM35P_TZ"/>
379       <require condition="IAR"/>
380     </condition>
381
382     <condition id="CM55_IAR">
383       <description>Cortex-M55 processor based device for the IAR Compiler</description>
384       <require condition="CM55"/>
385       <require condition="IAR"/>
386     </condition>
387     <condition id="CM55_TZ_IAR">
388       <description>Cortex-M55 processor based device with TrustZone for the IAR Compiler</description>
389       <require condition="CM55_TZ"/>
390       <require condition="IAR"/>
391     </condition>
392
393     <condition id="CM85_IAR">
394       <description>Cortex-M85 processor based device for the IAR Compiler</description>
395       <require condition="CM85"/>
396       <require condition="IAR"/>
397     </condition>
398     <condition id="CM85_TZ_IAR">
399       <description>Cortex-M85 processor based device with TrustZone for the IAR Compiler</description>
400       <require condition="CM85_TZ"/>
401       <require condition="IAR"/>
402     </condition>
403
404     <condition id="CA9_DP_IAR">
405       <description>Cortex-A9 processor based device using Floating Point Unit (DP) for the IAR Compiler</description>
406       <require condition="CA9_DP"/>
407       <require condition="IAR"/>
408     </condition>
409
410     <!-- FreeRTOS ports for the Arm Cortex core -->
411     <condition id="FreeRTOS Port Cortex-M0">
412       <description>Requirements for FreeRTOS port for Cortex-M0 and Cortex-M0+</description>
413       <accept condition="CM0_AC6_GCC"/>
414       <accept condition="CM0_IAR"/>
415     </condition>
416     <condition id="FreeRTOS Port Cortex-M0 MPU">
417       <description>Requirements for FreeRTOS port for Cortex-M0+ using MPU</description>
418       <accept condition="CM0_AC6_GCC"/>
419     </condition>
420     <condition id="FreeRTOS Port Cortex-M3">
421       <description>Requirements for FreeRTOS port for Cortex-M3</description>
422       <accept condition="CM3_AC6_GCC"/>
423       <accept condition="CM3_IAR"/>
424     </condition>
425     <condition id="FreeRTOS Port Cortex-M3 MPU">
426       <description>Requirements for FreeRTOS port for Cortex-M3 using MPU</description>
427       <accept condition="CM3_AC6_GCC"/>
428     </condition>
429     <condition id="FreeRTOS Port Cortex-M4">
430       <description>Requirements for FreeRTOS port for Cortex-M4</description>
431       <accept condition="CM4_AC6_GCC"/>
432       <accept condition="CM4_IAR"/>
433     </condition>
434     <condition id="FreeRTOS Port Cortex-M4 MPU">
435       <description>Requirements for FreeRTOS port for Cortex-M4 using MPU</description>
436       <accept condition="CM4_AC6_GCC"/>
437     </condition>
438     <condition id="FreeRTOS Port Cortex-M4 FPU">
439       <description>Requirements for FreeRTOS port for Cortex-M4 using FPU</description>
440       <accept condition="CM4_FP_AC6_GCC"/>
441       <accept condition="CM4_FP_IAR"/>
442     </condition>
443     <condition id="FreeRTOS Port Cortex-M4 FPU MPU">
444       <description>Requirements for FreeRTOS port for Cortex-M4 using FPU and MPU</description>
445       <accept condition="CM4_FP_AC6_GCC"/>
446       <accept condition="CM4_FP_IAR"/>
447     </condition>
448     <condition id="FreeRTOS Port Cortex-M7">
449       <description>Requirements for FreeRTOS port for Cortex-M7</description>
450       <accept condition="CM7_AC6_GCC"/>
451       <accept condition="CM7_IAR"/>
452     </condition>
453     <condition id="FreeRTOS Port Cortex-M7 FPU SP">
454       <description>Requirements for FreeRTOS port for Cortex-M7 using FPU (SP)</description>
455       <accept condition="CM7_SP_AC6_GCC"/>
456       <accept condition="CM7_SP_IAR"/>
457     </condition>
458     <condition id="FreeRTOS Port Cortex-M7 FPU DP">
459       <description>Requirements for FreeRTOS port for Cortex-M7 using FPU (DP)</description>
460       <accept condition="CM7_DP_AC6_GCC"/>
461       <accept condition="CM7_DP_IAR"/>
462     </condition>
463     <condition id="FreeRTOS Port Cortex-M23">
464       <description>Requirements for FreeRTOS port for Cortex-M23</description>
465       <accept condition="CM23_AC6_GCC"/>
466       <accept condition="CM23_IAR"/>
467     </condition>
468     <condition id="FreeRTOS Port Cortex-M23 NoTZ">
469       <description>Requirements for FreeRTOS port for Cortex-M23 without TrustZone</description>
470       <accept condition="CM23_NoTZ_AC6_GCC"/>
471       <accept condition="CM23_NoTZ_IAR"/>
472     </condition>
473     <condition id="FreeRTOS Port Cortex-M23 TZ">
474       <description>Requirements for FreeRTOS port for Cortex-M23 with TrustZone</description>
475       <accept condition="CM23_TZ_AC6_GCC"/>
476       <accept condition="CM23_TZ_IAR"/>
477     </condition>
478     <condition id="FreeRTOS Port Cortex-M33">
479       <description>Requirements for FreeRTOS port for Cortex-M33</description>
480       <accept condition="CM33_AC6_GCC"/>
481       <accept condition="CM33_IAR"/>
482     </condition>
483     <condition id="FreeRTOS Port Cortex-M33 NoTZ">
484       <description>Requirements for FreeRTOS port for Cortex-M33 without TrustZone</description>
485       <accept condition="CM33_NoTZ_AC6_GCC"/>
486       <accept condition="CM33_NoTZ_IAR"/>
487     </condition>
488     <condition id="FreeRTOS Port Cortex-M33 TZ">
489       <description>Requirements for FreeRTOS port for Cortex-M33 with TrustZone</description>
490       <accept condition="CM33_TZ_AC6_GCC"/>
491       <accept condition="CM33_TZ_IAR"/>
492     </condition>
493     <condition id="FreeRTOS Port Cortex-M35P">
494       <description>Requirements for FreeRTOS port for Cortex-M35P</description>
495       <accept condition="CM35P_AC6_GCC"/>
496       <accept condition="CM35P_IAR"/>
497     </condition>
498     <condition id="FreeRTOS Port Cortex-M35P NoTZ">
499       <description>Requirements for FreeRTOS port for Cortex-M35P without TrustZone</description>
500       <accept condition="CM35P_NoTZ_AC6_GCC"/>
501       <accept condition="CM35P_NoTZ_IAR"/>
502     </condition>
503     <condition id="FreeRTOS Port Cortex-M35P TZ">
504       <description>Requirements for FreeRTOS port for Cortex-M35P with TrustZone</description>
505       <accept condition="CM35P_TZ_AC6_GCC"/>
506       <accept condition="CM35P_TZ_IAR"/>
507     </condition>
508     <condition id="FreeRTOS Port Cortex-M55 TZ">
509       <description>Requirements for FreeRTOS port for Cortex-M55 with TrustZone</description>
510       <accept condition="CM55_TZ_AC6_GCC"/>
511       <accept condition="CM55_TZ_IAR"/>
512     </condition>
513     <condition id="FreeRTOS Port Cortex-M85 TZ">
514       <description>Requirements for FreeRTOS port for Cortex-M85 with TrustZone</description>
515       <accept condition="CM85_TZ_AC6_GCC"/>
516       <accept condition="CM85_TZ_IAR"/>
517     </condition>
518     <condition id="FreeRTOS Port Cortex-A9 FPU DP">
519       <description>Requirements for FreeRTOS port for Cortex-A9 using FPU (DP)</description>
520       <accept condition="CA9_DP_AC6_GCC"/>
521       <accept condition="CA9_DP_IAR"/>
522     </condition>
523
524     <condition id="FreeRTOS Port Cortex-M v6_v7">
525       <description>Requirements for FreeRTOS port for Cortex-M v6 and v7</description>
526       <accept condition="FreeRTOS Port Cortex-M0"/>
527       <accept condition="FreeRTOS Port Cortex-M3"/>
528       <accept condition="FreeRTOS Port Cortex-M4"/>
529       <accept condition="FreeRTOS Port Cortex-M4 FPU"/>
530       <accept condition="FreeRTOS Port Cortex-M7"/>
531       <accept condition="FreeRTOS Port Cortex-M7 FPU SP"/>
532       <accept condition="FreeRTOS Port Cortex-M7 FPU DP"/>
533     </condition>
534     <condition id="FreeRTOS Port Cortex-M v6_v7 MPU">
535       <description>Requirements for FreeRTOS port for Cortex-M v6 and v7 using MPU</description>
536       <accept condition="FreeRTOS Port Cortex-M0 MPU"/>
537       <accept condition="FreeRTOS Port Cortex-M3 MPU"/>
538       <accept condition="FreeRTOS Port Cortex-M4 MPU"/>
539       <accept condition="FreeRTOS Port Cortex-M4 FPU MPU"/>
540     </condition>
541     <condition id="FreeRTOS Port Cortex-M v8">
542       <description>Requirements for FreeRTOS port for Cortex-M v8</description>
543       <accept condition="FreeRTOS Port Cortex-M23"/>
544       <accept condition="FreeRTOS Port Cortex-M23 NoTZ"/>
545       <accept condition="FreeRTOS Port Cortex-M23 TZ"/>
546       <accept condition="FreeRTOS Port Cortex-M33"/>
547       <accept condition="FreeRTOS Port Cortex-M33 NoTZ"/>
548       <accept condition="FreeRTOS Port Cortex-M33 TZ"/>
549       <accept condition="FreeRTOS Port Cortex-M35P"/>
550       <accept condition="FreeRTOS Port Cortex-M35P NoTZ"/>
551       <accept condition="FreeRTOS Port Cortex-M35P TZ"/>
552       <accept condition="FreeRTOS Port Cortex-M55 TZ"/>
553       <accept condition="FreeRTOS Port Cortex-M85 TZ"/>
554     </condition>
555     <condition id="FreeRTOS Port Cortex-M v8 TZ">
556       <description>Requirements for FreeRTOS port for Cortex-M v8 with TrustZone</description>
557       <accept condition="FreeRTOS Port Cortex-M23 TZ"/>
558       <accept condition="FreeRTOS Port Cortex-M33 TZ"/>
559       <accept condition="FreeRTOS Port Cortex-M35P TZ"/>
560       <accept condition="FreeRTOS Port Cortex-M55 TZ"/>
561       <accept condition="FreeRTOS Port Cortex-M85 TZ"/>
562     </condition>
563     <condition id="FreeRTOS Port Cortex-A">
564       <description>Requirements for FreeRTOS port for Cortex-A</description>
565       <accept condition="FreeRTOS Port Cortex-A9 FPU DP"/>
566     </condition>
567     <condition id="FreeRTOS Port Cortex-M">
568       <description>Requirements for FreeRTOS port for Cortex-M</description>
569       <accept condition="FreeRTOS Port Cortex-M v6_v7"/>
570       <accept condition="FreeRTOS Port Cortex-M v8"/>
571     </condition>
572     <condition id="FreeRTOS Port">
573       <description>FreeRTOS ports for Arm Cortex combined</description>
574       <accept condition="FreeRTOS Port Cortex-A"/>
575       <accept condition="FreeRTOS Port Cortex-M"/>
576     </condition>
577
578     <!-- Conditions for RTOS::FreeRTOS components -->
579     <condition id="FreeRTOS Message or Stream Buffer API">
580       <description>FreeRTOS Message or Stream Buffer component</description>
581       <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
582       <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
583     </condition>
584
585     <condition id="FreeRTOS Core CA">
586       <description>Requirements for FreeRTOS Core for Cortex-A</description>
587       <require condition="FreeRTOS Port Cortex-A"/>
588
589       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
590       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
591     </condition>
592
593     <condition id="FreeRTOS Core CM">
594       <description>Requirements for FreeRTOS Core for Cortex-M</description>
595       <require condition="FreeRTOS Port Cortex-M"/>
596
597       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
598       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
599     </condition>
600
601     <condition id="FreeRTOS Core CM v6_v7 MPU">
602     <description>Requirements for FreeRTOS Core with MPU support for Cortex-M v6 and v7</description>
603       <require condition="FreeRTOS Port Cortex-M v6_v7 MPU"/>
604
605       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
606       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
607       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
608       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
609       <require condition="FreeRTOS Message or Stream Buffer API"/>
610     </condition>
611
612     <condition id="FreeRTOS Core TZ">
613       <description>Requirements for FreeRTOS Core with TrustZone support</description>
614       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
615
616       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
617       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
618     </condition>
619
620     <condition id="FreeRTOS Core TZ MPU">
621       <description>Requirements for FreeRTOS Core with TrustZone and MPU support</description>
622       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
623
624       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
625       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
626       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
627       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
628       <require condition="FreeRTOS Message or Stream Buffer API"/>
629     </condition>
630
631     <condition id="FreeRTOS Config Native">
632       <description>Components required for FreeRTOS Config Native variant</description>
633       <require condition="FreeRTOS Port"/>
634
635       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
636     </condition>
637
638     <condition id="FreeRTOS Config CMSIS RTOS2">
639       <description>Components required for FreeRTOS Config CMSIS RTOS2 variant</description>
640       <require condition="FreeRTOS Port"/>
641
642       <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
643     </condition>
644
645     <condition id="FreeRTOS Coroutines">
646       <description>Components required for FreeRTOS Coroutines</description>
647       <require condition="FreeRTOS Port"/>
648
649       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
650     </condition>
651
652     <condition id="FreeRTOS Event Groups">
653       <description>Components required for FreeRTOS Event Groups</description>
654       <require condition="FreeRTOS Port"/>
655
656       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
657     </condition>
658
659     <condition id="FreeRTOS Heap">
660       <description>Components required for FreeRTOS Heap</description>
661       <require condition="FreeRTOS Port"/>
662
663       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
664     </condition>
665
666     <condition id="FreeRTOS Message Buffer">
667       <description>Components required for FreeRTOS Message Buffer</description>
668       <require condition="FreeRTOS Port"/>
669
670       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
671     </condition>
672
673     <condition id="FreeRTOS Stream Buffer">
674       <description>Components required for FreeRTOS Stream Buffer</description>
675       <require condition="FreeRTOS Port"/>
676
677       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
678     </condition>
679
680     <condition id="FreeRTOS Timers">
681       <description>Components required for FreeRTOS Timers</description>
682       <require condition="FreeRTOS Port"/>
683
684       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
685     </condition>
686
687     <condition id="FreeRTOS TrustZone">
688       <description>Components required for FreeRTOS TrustZone</description>
689       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
690
691       <!-- TrustZone Secure Context is a standalone component -->
692       <deny Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
693
694       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
695       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
696       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Coroutines"/>
697       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
698       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
699       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
700       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
701       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
702     </condition>
703
704     <condition id="CMSIS RTOS2 FreeRTOS CortexM">
705       <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-M</description>
706       <require condition="FreeRTOS Port Cortex-M"/>
707
708       <require Cclass="CMSIS" Cgroup="OS Tick"/>
709       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
710       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
711       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
712       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
713     </condition>
714
715     <condition id="CMSIS RTOS2 FreeRTOS CortexA">
716       <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-A</description>
717       <require condition="FreeRTOS Port Cortex-A"/>
718
719       <require Cclass="CMSIS" Cgroup="OS Tick"/>
720       <require Cclass="Device" Cgroup="IRQ Controller"/>
721       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
722       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
723       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
724       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
725     </condition>
726
727   </conditions>
728
729   <components>
730     <!-- CMSIS-RTOS2 FreeRTOS component -->
731     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cvariant="Cortex-M" Cversion="11.2.0" Capiversion="2.3.0" condition="CMSIS RTOS2 FreeRTOS CortexM">
732       <description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
733       <RTE_Components_h>
734         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
735         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
736       </RTE_Components_h>
737       <files>
738         <file category="doc"    name="Documentation/html/index.html"/>
739         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
740         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
741         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/clib_os.c"/>
742       </files>
743     </component>
744
745     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cvariant="Cortex-A" Cversion="11.2.0" Capiversion="2.3.0" condition="CMSIS RTOS2 FreeRTOS CortexA">
746       <description>CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS</description>
747       <RTE_Components_h>
748         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
749         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
750       </RTE_Components_h>
751       <files>
752         <file category="doc"    name="Documentation/html/index.html"/>
753         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
754         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
755         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/clib_os.c"/>
756
757         <file category="source" attr="config" name="CMSIS/RTOS2/FreeRTOS/Source/handlers.c" version="9.1.0"/>
758       </files>
759     </component>
760
761     <bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="11.2.0">
762       <description>FreeRTOS Real Time Kernel</description>
763       <doc>https://www.freertos.org/RTOS.html</doc>
764
765       <component Cgroup="Core" Cvariant="Cortex-M" isDefaultVariant="true" condition="FreeRTOS Core CM">
766         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M</description>
767         <RTE_Components_h>
768           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
769         </RTE_Components_h>
770         <files>
771           <file category="include" name="Source/include/"/>
772
773           <file category="header"  name="Source/include/FreeRTOS.h"/>
774           <file category="header"  name="Source/include/queue.h"/>
775           <file category="header"  name="Source/include/semphr.h"/>
776           <file category="header"  name="Source/include/task.h"/>
777
778           <file category="source"  name="Source/list.c"/>
779           <file category="source"  name="Source/queue.c"/>
780           <file category="source"  name="Source/tasks.c"/>
781
782           <file category="include"   condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/"/>
783           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/port.c"/>
784           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/portasm.c"/>
785           <file category="include"   condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
786           <file category="source"    condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
787           <file category="include"   condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
788           <file category="source"    condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
789           <file category="include"   condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4F/"/>
790           <file category="source"    condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4F/port.c"/>
791           <file category="include"   condition="CM7_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
792           <file category="source"    condition="CM7_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
793           <file category="include"   condition="CM7_DP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
794           <file category="source"    condition="CM7_DP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
795           <file category="include"   condition="CM7_SP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
796           <file category="source"    condition="CM7_SP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
797           <file category="include"   condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
798           <file category="source"    condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
799           <file category="source"    condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
800           <file category="include"   condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
801           <file category="source"    condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
802           <file category="source"    condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
803           <file category="include"   condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/"/>
804           <file category="source"    condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c"/>
805           <file category="source"    condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c"/>
806           <file category="include"   condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/"/>
807           <file category="source"    condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/port.c"/>
808           <file category="source"    condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c"/>
809           <file category="include"   condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/"/>
810           <file category="source"    condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/port.c"/>
811           <file category="source"    condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c"/>
812
813           <file category="include"   condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/"/>
814           <file category="source"    condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/port.c"/>
815           <file category="sourceAsm" condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/portasm.s"/>
816           <file category="include"   condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
817           <file category="source"    condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
818           <file category="sourceAsm" condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
819           <file category="include"   condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
820           <file category="source"    condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
821           <file category="sourceAsm" condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
822           <file category="include"   condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/"/>
823           <file category="source"    condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/port.c"/>
824           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/portasm.s"/>
825           <file category="include"   condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
826           <file category="source"    condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
827           <file category="sourceAsm" condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
828           <file category="include"   condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
829           <file category="source"    condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
830           <file category="sourceAsm" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
831           <file category="include"   condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
832           <file category="source"    condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
833           <file category="sourceAsm" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
834           <file category="include"   condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/"/>
835           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/port.c"/>
836           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s"/>
837           <file category="include"   condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
838           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
839           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
840           <file category="include"   condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/"/>
841           <file category="source"    condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c"/>
842           <file category="source"    condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s"/>
843           <file category="include"   condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/"/>
844           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/port.c"/>
845           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s"/>
846           <file category="include"   condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/"/>
847           <file category="source"    condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/port.c"/>
848           <file category="source"    condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s"/>
849
850           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
851           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
852           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
853         </files>
854       </component>
855
856       <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS Core CM v6_v7 MPU">
857         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
858         <RTE_Components_h>
859           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
860           #define RTE_RTOS_FreeRTOS_CORE_MPU      /* RTOS FreeRTOS Core with MPU support */
861         </RTE_Components_h>
862         <files>
863           <file category="include" name="Source/include/"/>
864
865           <file category="header"  name="Source/include/FreeRTOS.h"/>
866           <file category="header"  name="Source/include/queue.h"/>
867           <file category="header"  name="Source/include/semphr.h"/>
868           <file category="header"  name="Source/include/task.h"/>
869
870           <file category="source"  name="Source/list.c"/>
871           <file category="source"  name="Source/queue.c"/>
872           <file category="source"  name="Source/tasks.c"/>
873           <file category="source"  name="Source/portable/Common/mpu_wrappers.c"/>
874           <file category="source"  name="Source/portable/Common/mpu_wrappers_v2.c"/>
875
876           <file category="include"   condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/"/>
877           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/port.c"/>
878           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/portasm.c"/>
879           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c"/>
880           <file category="include"   condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
881           <file category="source"    condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
882           <file category="source"    condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c"/>
883           <file category="include"   condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
884           <file category="source"    condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
885           <file category="source"    condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c"/>
886           <file category="include"   condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/"/>
887           <file category="source"    condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
888           <file category="source"    condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c"/>
889
890           <file category="include"   condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/"/>
891           <file category="source"    condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/port.c"/>
892           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/portasm.s"/>
893           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S"/>
894
895           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
896           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
897           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
898         </files>
899       </component>
900
901       <component Cgroup="Core" Cvariant="Cortex-M Non-Secure" condition="FreeRTOS Core TZ">
902         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone)</description>
903         <RTE_Components_h>
904           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
905           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
906         </RTE_Components_h>
907         <files>
908           <file category="include" name="Source/include/"/>
909
910           <file category="header"  name="Source/include/FreeRTOS.h"/>
911           <file category="header"  name="Source/include/queue.h"/>
912           <file category="header"  name="Source/include/semphr.h"/>
913           <file category="header"  name="Source/include/task.h"/>
914
915           <file category="source"  name="Source/list.c"/>
916           <file category="source"  name="Source/queue.c"/>
917           <file category="source"  name="Source/tasks.c"/>
918
919           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
920           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/"/>
921           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
922           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
923           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
924           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/"/>
925           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
926           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
927           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
928           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/"/>
929           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/port.c"/>
930           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/portasm.c"/>
931           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
932           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/"/>
933           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/port.c"/>
934           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/portasm.c"/>
935           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
936           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/"/>
937           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/port.c"/>
938           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/portasm.c"/>
939
940           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
941           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
942           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
943           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
944           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
945           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
946           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
947           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
948           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
949           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/"/>
950           <file category="source"    condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/port.c"/>
951           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/portasm.s"/>
952           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
953           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/"/>
954           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/port.c"/>
955           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/portasm.s"/>
956           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
957           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/"/>
958           <file category="source"    condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/port.c"/>
959           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/portasm.s"/>
960
961           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
962           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
963           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
964         </files>
965       </component>
966
967       <component Cgroup="Core" Cvariant="Cortex-M Non-Secure MPU" condition="FreeRTOS Core TZ MPU">
968         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone) and MPU</description>
969         <RTE_Components_h>
970           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
971           #define RTE_RTOS_FreeRTOS_CORE_MPU      /* RTOS FreeRTOS Core with MPU support */
972           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
973         </RTE_Components_h>
974         <files>
975           <file category="include" name="Source/include/"/>
976
977           <file category="header"  name="Source/include/FreeRTOS.h"/>
978           <file category="header"  name="Source/include/queue.h"/>
979           <file category="header"  name="Source/include/semphr.h"/>
980           <file category="header"  name="Source/include/task.h"/>
981
982           <file category="source"  name="Source/list.c"/>
983           <file category="source"  name="Source/queue.c"/>
984           <file category="source"  name="Source/tasks.c"/>
985           <file category="source"  name="Source/portable/Common/mpu_wrappers.c"/>
986           <file category="source"  name="Source/portable/Common/mpu_wrappers_v2.c"/>
987
988           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
989           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/"/>
990           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
991           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
992           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c"/>
993           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
994           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/"/>
995           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
996           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
997           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c"/>
998           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
999           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/"/>
1000           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/port.c"/>
1001           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/portasm.c"/>
1002           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c"/>
1003           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
1004           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/"/>
1005           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/port.c"/>
1006           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/portasm.c"/>
1007           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c"/>
1008           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
1009           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/"/>
1010           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/port.c"/>
1011           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/portasm.c"/>
1012           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c"/>
1013
1014           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1015           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
1016           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
1017           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
1018           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S"/>
1019           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1020           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1021           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1022           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1023           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S"/>
1024           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
1025           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/"/>
1026           <file category="source"    condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/port.c"/>
1027           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/portasm.s"/>
1028           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S"/>
1029           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
1030           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/"/>
1031           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/port.c"/>
1032           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/portasm.s"/>
1033           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S"/>
1034           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
1035           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/"/>
1036           <file category="source"    condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/port.c"/>
1037           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/portasm.s"/>
1038           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S"/>
1039
1040           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1041           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1042           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1043         </files>
1044       </component>
1045
1046       <component Cgroup="Core" Cvariant="Cortex-A" isDefaultVariant="true" condition="FreeRTOS Core CA">
1047         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-A</description>
1048         <RTE_Components_h>
1049           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1050         </RTE_Components_h>
1051         <files>
1052           <file category="include" name="Source/include/"/>
1053
1054           <file category="header"  name="Source/include/FreeRTOS.h"/>
1055           <file category="header"  name="Source/include/queue.h"/>
1056           <file category="header"  name="Source/include/semphr.h"/>
1057           <file category="header"  name="Source/include/task.h"/>
1058
1059           <file category="source"  name="Source/list.c"/>
1060           <file category="source"  name="Source/queue.c"/>
1061           <file category="source"  name="Source/tasks.c"/>
1062
1063           <file category="include"   condition="CA9_DP_AC6_GCC" name="Source/portable/GCC/ARM_CA9/"/>
1064           <file category="source"    condition="CA9_DP_AC6_GCC" name="Source/portable/GCC/ARM_CA9/port.c"/>
1065           <file category="sourceAsm" condition="CA9_DP_AC6_GCC" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1066
1067           <file category="include"   condition="CA9_DP_IAR"     name="Source/portable/IAR/ARM_CA9/"/>
1068           <file category="source"    condition="CA9_DP_IAR"     name="Source/portable/IAR/ARM_CA9/port.c"/>
1069           <file category="sourceAsm" condition="CA9_DP_IAR"     name="Source/portable/IAR/ARM_CA9/portASM.s"/>
1070
1071           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1072           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1073           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1074         </files>
1075       </component>
1076
1077       <component Cgroup="Config" Cvariant="CMSIS RTOS2" condition="FreeRTOS Config CMSIS RTOS2">
1078         <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
1079         <RTE_Components_h>
1080           #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2  /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
1081         </RTE_Components_h>
1082         <files>
1083           <file category="doc"    name="Documentation/html/page_create_project.html#configure_cmsis_freertos"/>
1084           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/FreeRTOSConfig.h" version="10.7.0"/>
1085         </files>
1086       </component>
1087
1088       <component Cgroup="Config" Cvariant="FreeRTOS" condition="FreeRTOS Config Native">
1089         <description>FreeRTOS API configuration file</description>
1090         <RTE_Components_h>
1091           #define RTE_RTOS_FreeRTOS_CONFIG        /* RTOS FreeRTOS Config for FreeRTOS API */
1092         </RTE_Components_h>
1093         <files>
1094           <file category="doc"    name="Documentation/html/page_create_project.html#configure_native_freertos"/>
1095           <file category="header" attr="config" name="Source/examples/template_configuration/FreeRTOSConfig.h" version="11.2.0"/>
1096         </files>
1097       </component>
1098
1099       <component Cgroup="Coroutines" condition="FreeRTOS Coroutines">
1100         <description>Co-routine API</description>
1101         <RTE_Components_h>
1102           #define RTE_RTOS_FreeRTOS_COROUTINE     /* RTOS FreeRTOS Co-routines */
1103         </RTE_Components_h>
1104         <files>
1105           <file category="header" name="Source/include/croutine.h"/>
1106           <file category="source" name="Source/croutine.c"/>
1107         </files>
1108       </component>
1109
1110       <component Cgroup="Event Groups" condition="FreeRTOS Event Groups">
1111         <description>Event Group API</description>
1112         <RTE_Components_h>
1113           #define RTE_RTOS_FreeRTOS_EVENTGROUPS   /* RTOS FreeRTOS Event Groups */
1114         </RTE_Components_h>
1115         <files>
1116           <file category="header" name="Source/include/event_groups.h"/>
1117           <file category="source" name="Source/event_groups.c"/>
1118         </files>
1119       </component>
1120
1121       <component Cgroup="Heap" Cvariant="Heap_1" condition="FreeRTOS Heap">
1122         <description>Very simple, does not permit memory to be freed.</description>
1123         <RTE_Components_h>
1124           #define RTE_RTOS_FreeRTOS_HEAP_1        /* RTOS FreeRTOS Heap 1 */
1125         </RTE_Components_h>
1126         <files>
1127           <file category="source" name="Source/portable/MemMang/heap_1.c"/>
1128           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1129         </files>
1130       </component>
1131
1132       <component Cgroup="Heap" Cvariant="Heap_2" condition="FreeRTOS Heap">
1133         <description>Permits memory to be freed, but not does coalescence adjacent free memory blocks.</description>
1134         <RTE_Components_h>
1135           #define RTE_RTOS_FreeRTOS_HEAP_2        /* RTOS FreeRTOS Heap 2 */
1136         </RTE_Components_h>
1137         <files>
1138           <file category="source" name="Source/portable/MemMang/heap_2.c"/>
1139           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1140         </files>
1141       </component>
1142
1143       <component Cgroup="Heap" Cvariant="Heap_3" condition="FreeRTOS Heap">
1144         <description>Wraps the standard malloc() and free() for thread safety.</description>
1145         <RTE_Components_h>
1146           #define RTE_RTOS_FreeRTOS_HEAP_3        /* RTOS FreeRTOS Heap 3 */
1147         </RTE_Components_h>
1148         <files>
1149           <file category="source" name="Source/portable/MemMang/heap_3.c"/>
1150           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1151         </files>
1152       </component>
1153
1154       <component Cgroup="Heap" Cvariant="Heap_4" condition="FreeRTOS Heap" isDefaultVariant="true">
1155         <description>Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.</description>
1156         <RTE_Components_h>
1157           #define RTE_RTOS_FreeRTOS_HEAP_4        /* RTOS FreeRTOS Heap 4 */
1158         </RTE_Components_h>
1159         <files>
1160           <file category="source" name="Source/portable/MemMang/heap_4.c"/>
1161           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1162         </files>
1163       </component>
1164
1165       <component Cgroup="Heap" Cvariant="Heap_5" condition="FreeRTOS Heap">
1166         <description>Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.</description>
1167         <RTE_Components_h>
1168           #define RTE_RTOS_FreeRTOS_HEAP_5        /* RTOS FreeRTOS Heap 5 */
1169         </RTE_Components_h>
1170         <files>
1171           <file category="source" name="Source/portable/MemMang/heap_5.c"/>
1172           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1173         </files>
1174       </component>
1175
1176       <component Cgroup="Message Buffer" condition="FreeRTOS Message Buffer">
1177         <description>Message Buffer API</description>
1178         <RTE_Components_h>
1179           #define RTE_RTOS_FreeRTOS_MESSAGE_BUFFER /* RTOS FreeRTOS Message Buffers */
1180         </RTE_Components_h>
1181         <files>
1182           <file category="header" name="Source/include/message_buffer.h"/>
1183           <file category="source" name="Source/stream_buffer.c"/>
1184         </files>
1185       </component>
1186
1187       <component Cgroup="Stream Buffer" condition="FreeRTOS Stream Buffer">
1188         <description>Stream Buffer API</description>
1189         <RTE_Components_h>
1190           #define RTE_RTOS_FreeRTOS_STREAM_BUFFER /* RTOS FreeRTOS Stream Buffers */
1191         </RTE_Components_h>
1192         <files>
1193           <file category="header" name="Source/include/stream_buffer.h"/>
1194           <file category="source" name="Source/stream_buffer.c"/>
1195         </files>
1196       </component>
1197
1198       <component Cgroup="Timers" condition="FreeRTOS Timers">
1199         <description>Timer API</description>
1200         <RTE_Components_h>
1201           #define RTE_RTOS_FreeRTOS_TIMERS        /* RTOS FreeRTOS Timers */
1202         </RTE_Components_h>
1203         <files>
1204           <file category="header" name="Source/include/timers.h"/>
1205           <file category="source" name="Source/timers.c"/>
1206         </files>
1207       </component>
1208
1209       <component Cgroup="TrustZone" condition="FreeRTOS TrustZone">
1210         <description>TrustZone Secure Context API</description>
1211         <RTE_Components_h>
1212           #define RTE_RTOS_FreeRTOS_TZ
1213         </RTE_Components_h>
1214         <files>
1215           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/TrustZone/FreeRTOSConfig.h" version="10.2.0"/>
1216
1217           <file category="header"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1218           <file category="include"   condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
1219           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1220           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1221           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1222           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1223           <file category="header"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1224           <file category="include"   condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
1225           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1226           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1227           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1228           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1229           <file category="header"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_port_macros.h"/>
1230           <file category="include"   condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
1231           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_context.c"/>
1232           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_context_port.c"/>
1233           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_heap.c"/>
1234           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_init.c"/>
1235           <file category="header"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_port_macros.h"/>
1236           <file category="include"   condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
1237           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_context.c"/>
1238           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_context_port.c"/>
1239           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_heap.c"/>
1240           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_init.c"/>
1241           <file category="header"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_port_macros.h"/>
1242           <file category="include"   condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
1243           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_context.c"/>
1244           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_context_port.c"/>
1245           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_heap.c"/>
1246           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_init.c"/>
1247
1248           <file category="header"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_port_macros.h"/>
1249           <file category="include"   condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1250           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_context.c"/>
1251           <file category="sourceAsm" condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s"/>
1252           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_heap.c"/>
1253           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_init.c"/>
1254           <file category="header"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_port_macros.h"/>
1255           <file category="include"   condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1256           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context.c"/>
1257           <file category="sourceAsm" condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s"/>
1258           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_heap.c"/>
1259           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_init.c"/>
1260           <file category="header"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_port_macros.h"/>
1261           <file category="include"   condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
1262           <file category="source"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_context.c"/>
1263           <file category="sourceAsm" condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_context_port_asm.s"/>
1264           <file category="source"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_heap.c"/>
1265           <file category="source"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_init.c"/>
1266           <file category="header"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_port_macros.h"/>
1267           <file category="include"   condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
1268           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_context.c"/>
1269           <file category="sourceAsm" condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_context_port_asm.s"/>
1270           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_heap.c"/>
1271           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_init.c"/>
1272           <file category="header"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_port_macros.h"/>
1273           <file category="include"   condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
1274           <file category="source"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_context.c"/>
1275           <file category="sourceAsm" condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_context_port_asm.s"/>
1276           <file category="source"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_heap.c"/>
1277           <file category="source"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_init.c"/>
1278         </files>
1279       </component>
1280     </bundle>
1281   </components>
1282
1283   <examples>
1284     <example name="Hello World" folder="CMSIS/RTOS2/FreeRTOS/Examples" doc="./App/Hello/README.md">
1285       <description>Hello World example using FreeRTOS and CMSIS-RTOS2 for Arm Virtual Hardware</description>
1286       <board name="uVision Simulator" vendor="Keil"/>
1287       <project>
1288         <environment name="csolution" load="Examples.csolution.yml"/>
1289       </project>
1290       <attributes>
1291         <component Cclass="CMSIS" Cgroup="CORE"/>
1292         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1293         <category>Getting Started</category>
1294       </attributes>
1295     </example>
1296
1297     <example name="TrustZone for ARMv8-M" folder="CMSIS/RTOS2/FreeRTOS/Examples" doc="./App/TrustZone/README.md">
1298       <description>CMSIS-RTOS2 example with secure/non-secure thread context management using FreeRTOS for Arm Virtual Hardware</description>
1299       <board name="uVision Simulator" vendor="Keil"/>
1300       <project>
1301         <environment name="csolution" load="Examples.csolution.yml"/>
1302       </project>
1303       <attributes>
1304         <component Cclass="CMSIS" Cgroup="CORE"/>
1305         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1306         <category>Getting Started</category>
1307       </attributes>
1308     </example>
1309
1310   </examples>
1311 </package>