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