]> begriffs open source - cmsis-freertos/blob - ARM.CMSIS-FreeRTOS.pdsc
Combine Arm Compiler 6 and GCC conditions (#135)
[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="RTOS"  Csub="FreeRTOS"/>
693       <deny Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
694
695       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
696       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
697       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Coroutines"/>
698       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
699       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
700       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
701       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
702       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
703     </condition>
704
705     <condition id="CMSIS RTOS2 FreeRTOS CortexM">
706       <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-M</description>
707       <require condition="FreeRTOS Port Cortex-M"/>
708
709       <require Cclass="CMSIS" Cgroup="OS Tick"/>
710       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
711       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
712       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
713       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
714     </condition>
715
716     <condition id="CMSIS RTOS2 FreeRTOS CortexA">
717       <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-A</description>
718       <require condition="FreeRTOS Port Cortex-A"/>
719
720       <require Cclass="CMSIS" Cgroup="OS Tick"/>
721       <require Cclass="Device" Cgroup="IRQ Controller"/>
722       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
723       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
724       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
725       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
726     </condition>
727
728   </conditions>
729
730   <components>
731     <!-- CMSIS-RTOS2 FreeRTOS component -->
732     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cvariant="Cortex-M" Cversion="11.2.0" Capiversion="2.3.0" condition="CMSIS RTOS2 FreeRTOS CortexM">
733       <description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
734       <RTE_Components_h>
735         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
736         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
737       </RTE_Components_h>
738       <files>
739         <file category="doc"    name="Documentation/html/index.html"/>
740         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
741         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
742         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/clib_os.c"/>
743       </files>
744     </component>
745
746     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cvariant="Cortex-A" Cversion="11.2.0" Capiversion="2.3.0" condition="CMSIS RTOS2 FreeRTOS CortexA">
747       <description>CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS</description>
748       <RTE_Components_h>
749         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
750         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
751       </RTE_Components_h>
752       <files>
753         <file category="doc"    name="Documentation/html/index.html"/>
754         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
755         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
756         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/clib_os.c"/>
757
758         <file category="source" attr="config" name="CMSIS/RTOS2/FreeRTOS/Source/handlers.c" version="9.1.0"/>
759       </files>
760     </component>
761
762     <bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="11.2.0">
763       <description>FreeRTOS Real Time Kernel</description>
764       <doc>https://www.freertos.org/RTOS.html</doc>
765
766       <component Cgroup="Core" Cvariant="Cortex-M" isDefaultVariant="true" condition="FreeRTOS Core CM">
767         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M</description>
768         <RTE_Components_h>
769           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
770         </RTE_Components_h>
771         <files>
772           <file category="include" name="Source/include/"/>
773
774           <file category="header"  name="Source/include/FreeRTOS.h"/>
775           <file category="header"  name="Source/include/queue.h"/>
776           <file category="header"  name="Source/include/semphr.h"/>
777           <file category="header"  name="Source/include/task.h"/>
778
779           <file category="source"  name="Source/list.c"/>
780           <file category="source"  name="Source/queue.c"/>
781           <file category="source"  name="Source/tasks.c"/>
782
783           <file category="include"   condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/"/>
784           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/port.c"/>
785           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/portasm.c"/>
786           <file category="include"   condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
787           <file category="source"    condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
788           <file category="include"   condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
789           <file category="source"    condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
790           <file category="include"   condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4F/"/>
791           <file category="source"    condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4F/port.c"/>
792           <file category="include"   condition="CM7_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
793           <file category="source"    condition="CM7_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
794           <file category="include"   condition="CM7_DP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
795           <file category="source"    condition="CM7_DP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
796           <file category="include"   condition="CM7_SP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
797           <file category="source"    condition="CM7_SP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
798           <file category="include"   condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
799           <file category="source"    condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
800           <file category="source"    condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
801           <file category="include"   condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
802           <file category="source"    condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
803           <file category="source"    condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
804           <file category="include"   condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/"/>
805           <file category="source"    condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c"/>
806           <file category="source"    condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c"/>
807           <file category="include"   condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/"/>
808           <file category="source"    condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/port.c"/>
809           <file category="source"    condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c"/>
810           <file category="include"   condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/"/>
811           <file category="source"    condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/port.c"/>
812           <file category="source"    condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c"/>
813
814           <file category="include"   condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/"/>
815           <file category="source"    condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/port.c"/>
816           <file category="sourceAsm" condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/portasm.s"/>
817           <file category="include"   condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
818           <file category="source"    condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
819           <file category="sourceAsm" condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
820           <file category="include"   condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
821           <file category="source"    condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
822           <file category="sourceAsm" condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
823           <file category="include"   condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/"/>
824           <file category="source"    condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/port.c"/>
825           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/portasm.s"/>
826           <file category="include"   condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
827           <file category="source"    condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
828           <file category="sourceAsm" condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
829           <file category="include"   condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
830           <file category="source"    condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
831           <file category="sourceAsm" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
832           <file category="include"   condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
833           <file category="source"    condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
834           <file category="sourceAsm" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
835           <file category="include"   condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/"/>
836           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/port.c"/>
837           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s"/>
838           <file category="include"   condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
839           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
840           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
841           <file category="include"   condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/"/>
842           <file category="source"    condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c"/>
843           <file category="source"    condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s"/>
844           <file category="include"   condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/"/>
845           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/port.c"/>
846           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s"/>
847           <file category="include"   condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/"/>
848           <file category="source"    condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/port.c"/>
849           <file category="source"    condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s"/>
850
851           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
852           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
853           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
854         </files>
855       </component>
856
857       <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS Core CM v6_v7 MPU">
858         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
859         <RTE_Components_h>
860           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
861           #define RTE_RTOS_FreeRTOS_CORE_MPU      /* RTOS FreeRTOS Core with MPU support */
862         </RTE_Components_h>
863         <files>
864           <file category="include" name="Source/include/"/>
865
866           <file category="header"  name="Source/include/FreeRTOS.h"/>
867           <file category="header"  name="Source/include/queue.h"/>
868           <file category="header"  name="Source/include/semphr.h"/>
869           <file category="header"  name="Source/include/task.h"/>
870
871           <file category="source"  name="Source/list.c"/>
872           <file category="source"  name="Source/queue.c"/>
873           <file category="source"  name="Source/tasks.c"/>
874           <file category="source"  name="Source/portable/Common/mpu_wrappers.c"/>
875           <file category="source"  name="Source/portable/Common/mpu_wrappers_v2.c"/>
876
877           <file category="include"   condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/"/>
878           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/port.c"/>
879           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/portasm.c"/>
880           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c"/>
881           <file category="include"   condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
882           <file category="source"    condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
883           <file category="source"    condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c"/>
884           <file category="include"   condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
885           <file category="source"    condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
886           <file category="source"    condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c"/>
887           <file category="include"   condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/"/>
888           <file category="source"    condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
889           <file category="source"    condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c"/>
890
891           <file category="include"   condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/"/>
892           <file category="source"    condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/port.c"/>
893           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/portasm.s"/>
894           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S"/>
895
896           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
897           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
898           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
899         </files>
900       </component>
901
902       <component Cgroup="Core" Cvariant="Cortex-M Non-Secure" condition="FreeRTOS Core TZ">
903         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone)</description>
904         <RTE_Components_h>
905           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
906           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
907         </RTE_Components_h>
908         <files>
909           <file category="include" name="Source/include/"/>
910
911           <file category="header"  name="Source/include/FreeRTOS.h"/>
912           <file category="header"  name="Source/include/queue.h"/>
913           <file category="header"  name="Source/include/semphr.h"/>
914           <file category="header"  name="Source/include/task.h"/>
915
916           <file category="source"  name="Source/list.c"/>
917           <file category="source"  name="Source/queue.c"/>
918           <file category="source"  name="Source/tasks.c"/>
919
920           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
921           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/"/>
922           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
923           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
924           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
925           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/"/>
926           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
927           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
928           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
929           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/"/>
930           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/port.c"/>
931           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/portasm.c"/>
932           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
933           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/"/>
934           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/port.c"/>
935           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/portasm.c"/>
936           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
937           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/"/>
938           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/port.c"/>
939           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/portasm.c"/>
940
941           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
942           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
943           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
944           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
945           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
946           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
947           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
948           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
949           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
950           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/"/>
951           <file category="source"    condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/port.c"/>
952           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/portasm.s"/>
953           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
954           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/"/>
955           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/port.c"/>
956           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/portasm.s"/>
957           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
958           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/"/>
959           <file category="source"    condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/port.c"/>
960           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/portasm.s"/>
961
962           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
963           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
964           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
965         </files>
966       </component>
967
968       <component Cgroup="Core" Cvariant="Cortex-M Non-Secure MPU" condition="FreeRTOS Core TZ MPU">
969         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone) and MPU</description>
970         <RTE_Components_h>
971           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
972           #define RTE_RTOS_FreeRTOS_CORE_MPU      /* RTOS FreeRTOS Core with MPU support */
973           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
974         </RTE_Components_h>
975         <files>
976           <file category="include" name="Source/include/"/>
977
978           <file category="header"  name="Source/include/FreeRTOS.h"/>
979           <file category="header"  name="Source/include/queue.h"/>
980           <file category="header"  name="Source/include/semphr.h"/>
981           <file category="header"  name="Source/include/task.h"/>
982
983           <file category="source"  name="Source/list.c"/>
984           <file category="source"  name="Source/queue.c"/>
985           <file category="source"  name="Source/tasks.c"/>
986           <file category="source"  name="Source/portable/Common/mpu_wrappers.c"/>
987           <file category="source"  name="Source/portable/Common/mpu_wrappers_v2.c"/>
988
989           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
990           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/"/>
991           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
992           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
993           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c"/>
994           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
995           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/"/>
996           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
997           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
998           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c"/>
999           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
1000           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/"/>
1001           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/port.c"/>
1002           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/portasm.c"/>
1003           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c"/>
1004           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
1005           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/"/>
1006           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/port.c"/>
1007           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/portasm.c"/>
1008           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c"/>
1009           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
1010           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/"/>
1011           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/port.c"/>
1012           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/portasm.c"/>
1013           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c"/>
1014
1015           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1016           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
1017           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
1018           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
1019           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S"/>
1020           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1021           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1022           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1023           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1024           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S"/>
1025           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
1026           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/"/>
1027           <file category="source"    condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/port.c"/>
1028           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/portasm.s"/>
1029           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S"/>
1030           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
1031           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/"/>
1032           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/port.c"/>
1033           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/portasm.s"/>
1034           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S"/>
1035           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
1036           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/"/>
1037           <file category="source"    condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/port.c"/>
1038           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/portasm.s"/>
1039           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S"/>
1040
1041           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1042           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1043           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1044         </files>
1045       </component>
1046
1047       <component Cgroup="Core" Cvariant="Cortex-A" isDefaultVariant="true" condition="FreeRTOS Core CA">
1048         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-A</description>
1049         <RTE_Components_h>
1050           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1051         </RTE_Components_h>
1052         <files>
1053           <file category="include" name="Source/include/"/>
1054
1055           <file category="header"  name="Source/include/FreeRTOS.h"/>
1056           <file category="header"  name="Source/include/queue.h"/>
1057           <file category="header"  name="Source/include/semphr.h"/>
1058           <file category="header"  name="Source/include/task.h"/>
1059
1060           <file category="source"  name="Source/list.c"/>
1061           <file category="source"  name="Source/queue.c"/>
1062           <file category="source"  name="Source/tasks.c"/>
1063
1064           <file category="include"   condition="CA9_DP_AC6_GCC" name="Source/portable/GCC/ARM_CA9/"/>
1065           <file category="source"    condition="CA9_DP_AC6_GCC" name="Source/portable/GCC/ARM_CA9/port.c"/>
1066           <file category="sourceAsm" condition="CA9_DP_AC6_GCC" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1067
1068           <file category="include"   condition="CA9_DP_IAR"     name="Source/portable/IAR/ARM_CA9/"/>
1069           <file category="source"    condition="CA9_DP_IAR"     name="Source/portable/IAR/ARM_CA9/port.c"/>
1070           <file category="sourceAsm" condition="CA9_DP_IAR"     name="Source/portable/IAR/ARM_CA9/portASM.s"/>
1071
1072           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1073           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1074           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1075         </files>
1076       </component>
1077
1078       <component Cgroup="Config" Cvariant="CMSIS RTOS2" condition="FreeRTOS Config CMSIS RTOS2">
1079         <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
1080         <RTE_Components_h>
1081           #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2  /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
1082         </RTE_Components_h>
1083         <files>
1084           <file category="doc"    name="Documentation/html/page_create_project.html#configure_cmsis_freertos"/>
1085           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/FreeRTOSConfig.h" version="10.7.0"/>
1086         </files>
1087       </component>
1088
1089       <component Cgroup="Config" Cvariant="FreeRTOS" condition="FreeRTOS Config Native">
1090         <description>FreeRTOS API configuration file</description>
1091         <RTE_Components_h>
1092           #define RTE_RTOS_FreeRTOS_CONFIG        /* RTOS FreeRTOS Config for FreeRTOS API */
1093         </RTE_Components_h>
1094         <files>
1095           <file category="doc"    name="Documentation/html/page_create_project.html#configure_native_freertos"/>
1096           <file category="header" attr="config" name="Source/examples/template_configuration/FreeRTOSConfig.h" version="11.2.0"/>
1097         </files>
1098       </component>
1099
1100       <component Cgroup="Coroutines" condition="FreeRTOS Coroutines">
1101         <description>Co-routine API</description>
1102         <RTE_Components_h>
1103           #define RTE_RTOS_FreeRTOS_COROUTINE     /* RTOS FreeRTOS Co-routines */
1104         </RTE_Components_h>
1105         <files>
1106           <file category="header" name="Source/include/croutine.h"/>
1107           <file category="source" name="Source/croutine.c"/>
1108         </files>
1109       </component>
1110
1111       <component Cgroup="Event Groups" condition="FreeRTOS Event Groups">
1112         <description>Event Group API</description>
1113         <RTE_Components_h>
1114           #define RTE_RTOS_FreeRTOS_EVENTGROUPS   /* RTOS FreeRTOS Event Groups */
1115         </RTE_Components_h>
1116         <files>
1117           <file category="header" name="Source/include/event_groups.h"/>
1118           <file category="source" name="Source/event_groups.c"/>
1119         </files>
1120       </component>
1121
1122       <component Cgroup="Heap" Cvariant="Heap_1" condition="FreeRTOS Heap">
1123         <description>Very simple, does not permit memory to be freed.</description>
1124         <RTE_Components_h>
1125           #define RTE_RTOS_FreeRTOS_HEAP_1        /* RTOS FreeRTOS Heap 1 */
1126         </RTE_Components_h>
1127         <files>
1128           <file category="source" name="Source/portable/MemMang/heap_1.c"/>
1129           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1130         </files>
1131       </component>
1132
1133       <component Cgroup="Heap" Cvariant="Heap_2" condition="FreeRTOS Heap">
1134         <description>Permits memory to be freed, but not does coalescence adjacent free memory blocks.</description>
1135         <RTE_Components_h>
1136           #define RTE_RTOS_FreeRTOS_HEAP_2        /* RTOS FreeRTOS Heap 2 */
1137         </RTE_Components_h>
1138         <files>
1139           <file category="source" name="Source/portable/MemMang/heap_2.c"/>
1140           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1141         </files>
1142       </component>
1143
1144       <component Cgroup="Heap" Cvariant="Heap_3" condition="FreeRTOS Heap">
1145         <description>Wraps the standard malloc() and free() for thread safety.</description>
1146         <RTE_Components_h>
1147           #define RTE_RTOS_FreeRTOS_HEAP_3        /* RTOS FreeRTOS Heap 3 */
1148         </RTE_Components_h>
1149         <files>
1150           <file category="source" name="Source/portable/MemMang/heap_3.c"/>
1151           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1152         </files>
1153       </component>
1154
1155       <component Cgroup="Heap" Cvariant="Heap_4" condition="FreeRTOS Heap" isDefaultVariant="true">
1156         <description>Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.</description>
1157         <RTE_Components_h>
1158           #define RTE_RTOS_FreeRTOS_HEAP_4        /* RTOS FreeRTOS Heap 4 */
1159         </RTE_Components_h>
1160         <files>
1161           <file category="source" name="Source/portable/MemMang/heap_4.c"/>
1162           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1163         </files>
1164       </component>
1165
1166       <component Cgroup="Heap" Cvariant="Heap_5" condition="FreeRTOS Heap">
1167         <description>Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.</description>
1168         <RTE_Components_h>
1169           #define RTE_RTOS_FreeRTOS_HEAP_5        /* RTOS FreeRTOS Heap 5 */
1170         </RTE_Components_h>
1171         <files>
1172           <file category="source" name="Source/portable/MemMang/heap_5.c"/>
1173           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1174         </files>
1175       </component>
1176
1177       <component Cgroup="Message Buffer" condition="FreeRTOS Message Buffer">
1178         <description>Message Buffer API</description>
1179         <RTE_Components_h>
1180           #define RTE_RTOS_FreeRTOS_MESSAGE_BUFFER /* RTOS FreeRTOS Message Buffers */
1181         </RTE_Components_h>
1182         <files>
1183           <file category="header" name="Source/include/message_buffer.h"/>
1184           <file category="source" name="Source/stream_buffer.c"/>
1185         </files>
1186       </component>
1187
1188       <component Cgroup="Stream Buffer" condition="FreeRTOS Stream Buffer">
1189         <description>Stream Buffer API</description>
1190         <RTE_Components_h>
1191           #define RTE_RTOS_FreeRTOS_STREAM_BUFFER /* RTOS FreeRTOS Stream Buffers */
1192         </RTE_Components_h>
1193         <files>
1194           <file category="header" name="Source/include/stream_buffer.h"/>
1195           <file category="source" name="Source/stream_buffer.c"/>
1196         </files>
1197       </component>
1198
1199       <component Cgroup="Timers" condition="FreeRTOS Timers">
1200         <description>Timer API</description>
1201         <RTE_Components_h>
1202           #define RTE_RTOS_FreeRTOS_TIMERS        /* RTOS FreeRTOS Timers */
1203         </RTE_Components_h>
1204         <files>
1205           <file category="header" name="Source/include/timers.h"/>
1206           <file category="source" name="Source/timers.c"/>
1207         </files>
1208       </component>
1209
1210       <component Cgroup="TrustZone" condition="FreeRTOS TrustZone">
1211         <description>TrustZone Secure Context API</description>
1212         <RTE_Components_h>
1213           #define RTE_RTOS_FreeRTOS_TZ
1214         </RTE_Components_h>
1215         <files>
1216           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/TrustZone/FreeRTOSConfig.h" version="10.2.0"/>
1217
1218           <file category="header"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1219           <file category="include"   condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
1220           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1221           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1222           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1223           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1224           <file category="header"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1225           <file category="include"   condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
1226           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1227           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1228           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1229           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1230           <file category="header"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_port_macros.h"/>
1231           <file category="include"   condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
1232           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_context.c"/>
1233           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_context_port.c"/>
1234           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_heap.c"/>
1235           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_init.c"/>
1236           <file category="header"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_port_macros.h"/>
1237           <file category="include"   condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
1238           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_context.c"/>
1239           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_context_port.c"/>
1240           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_heap.c"/>
1241           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_init.c"/>
1242           <file category="header"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_port_macros.h"/>
1243           <file category="include"   condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
1244           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_context.c"/>
1245           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_context_port.c"/>
1246           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_heap.c"/>
1247           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_init.c"/>
1248
1249           <file category="header"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_port_macros.h"/>
1250           <file category="include"   condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1251           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_context.c"/>
1252           <file category="sourceAsm" condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s"/>
1253           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_heap.c"/>
1254           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_init.c"/>
1255           <file category="header"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_port_macros.h"/>
1256           <file category="include"   condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1257           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context.c"/>
1258           <file category="sourceAsm" condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s"/>
1259           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_heap.c"/>
1260           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_init.c"/>
1261           <file category="header"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_port_macros.h"/>
1262           <file category="include"   condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
1263           <file category="source"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_context.c"/>
1264           <file category="sourceAsm" condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_context_port_asm.s"/>
1265           <file category="source"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_heap.c"/>
1266           <file category="source"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_init.c"/>
1267           <file category="header"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_port_macros.h"/>
1268           <file category="include"   condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
1269           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_context.c"/>
1270           <file category="sourceAsm" condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_context_port_asm.s"/>
1271           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_heap.c"/>
1272           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_init.c"/>
1273           <file category="header"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_port_macros.h"/>
1274           <file category="include"   condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
1275           <file category="source"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_context.c"/>
1276           <file category="sourceAsm" condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_context_port_asm.s"/>
1277           <file category="source"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_heap.c"/>
1278           <file category="source"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_init.c"/>
1279         </files>
1280       </component>
1281     </bundle>
1282   </components>
1283
1284   <examples>
1285     <example name="Hello World" folder="CMSIS/RTOS2/FreeRTOS/Examples" doc="./App/Hello/README.md">
1286       <description>Hello World example using FreeRTOS and CMSIS-RTOS2 for Arm Virtual Hardware</description>
1287       <board name="uVision Simulator" vendor="Keil"/>
1288       <project>
1289         <environment name="csolution" load="Examples.csolution.yml"/>
1290       </project>
1291       <attributes>
1292         <component Cclass="CMSIS" Cgroup="CORE"/>
1293         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1294         <category>Getting Started</category>
1295       </attributes>
1296     </example>
1297
1298     <example name="TrustZone for ARMv8-M" folder="CMSIS/RTOS2/FreeRTOS/Examples" doc="./App/TrustZone/README.md">
1299       <description>CMSIS-RTOS2 example with secure/non-secure thread context management using FreeRTOS for Arm Virtual Hardware</description>
1300       <board name="uVision Simulator" vendor="Keil"/>
1301       <project>
1302         <environment name="csolution" load="Examples.csolution.yml"/>
1303       </project>
1304       <attributes>
1305         <component Cclass="CMSIS" Cgroup="CORE"/>
1306         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1307         <category>Getting Started</category>
1308       </attributes>
1309     </example>
1310
1311   </examples>
1312 </package>