]> begriffs open source - cmsis-freertos/blob - ARM.CMSIS-FreeRTOS.pdsc
Correct memory allocation and access in osMemoryPoolNew (#142)
[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     <!-- TrustZone -->
158     <condition id="No TrustZone">
159       <description>No TrustZone</description>
160       <require Dtz="NO_TZ"/>
161     </condition>
162     <condition id="TZ Disabled">
163       <description>TrustZone (Disabled)</description>
164       <require Dtz="TZ"/>
165       <require Dsecure="TZ-disabled"/>
166     </condition>
167     <condition id="TZ Secure Only">
168       <description>TrustZone (Secure Only)</description>
169       <require Dtz="TZ"/>
170       <require Dsecure="Secure-only"/>
171     </condition>
172     <condition id="TZ Secure">
173       <description>TrustZone (Secure)</description>
174       <require Dtz="TZ"/>
175       <require Dsecure="Secure"/>
176     </condition>
177     <condition id="TZ Non-secure">
178       <description>TrustZone (Non-secure)</description>
179       <require Dtz="TZ"/>
180       <require Dsecure="Non-secure"/>
181     </condition>
182
183     <!-- Arm Compiler 6 and GCC -->
184     <condition id="CM0_AC6_GCC">
185       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 6 and GCC</description>
186       <require condition="CM0"/>
187       <accept condition="ARMCC6"/>
188       <accept condition="GCC"/>
189     </condition>
190
191     <condition id="CM3_AC6_GCC">
192       <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 6 and GCC</description>
193       <require condition="CM3"/>
194       <accept condition="ARMCC6"/>
195       <accept condition="GCC"/>
196     </condition>
197
198     <condition id="CM4_AC6_GCC">
199       <description>Cortex-M4 processor based device for the ARM Compiler 6 and GCC</description>
200       <require condition="CM4"/>
201       <accept condition="ARMCC6"/>
202       <accept condition="GCC"/>
203     </condition>
204     <condition id="CM4_FP_AC6_GCC">
205       <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 6 and GCC</description>
206       <require condition="CM4_FP"/>
207       <accept condition="ARMCC6"/>
208       <accept condition="GCC"/>
209     </condition>
210
211     <condition id="CM7_AC6_GCC">
212       <description>Cortex-M7 processor based device for the ARM Compiler 6 and GCC</description>
213       <require condition="CM7"/>
214       <accept condition="ARMCC6"/>
215       <accept condition="GCC"/>
216     </condition>
217     <condition id="CM7_SP_AC6_GCC">
218       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 6 and GCC</description>
219       <require condition="CM7_SP"/>
220       <accept condition="ARMCC6"/>
221       <accept condition="GCC"/>
222     </condition>
223     <condition id="CM7_DP_AC6_GCC">
224       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 6 and GCC</description>
225       <require condition="CM7_DP"/>
226       <accept condition="ARMCC6"/>
227       <accept condition="GCC"/>
228     </condition>
229
230     <condition id="CM23_AC6_GCC">
231       <description>Cortex-M23 processor based device for the ARM Compiler 6 and GCC</description>
232       <require condition="CM23"/>
233       <accept condition="ARMCC6"/>
234       <accept condition="GCC"/>
235     </condition>
236     <condition id="CM23_NoTZ_AC6_GCC">
237       <description>Cortex-M23 processor based device without TrustZone for the ARM Compiler 6 and GCC</description>
238       <require condition="CM23_NoTZ"/>
239       <accept condition="ARMCC6"/>
240       <accept condition="GCC"/>
241     </condition>
242     <condition id="CM23_TZ_AC6_GCC">
243       <description>Cortex-M23 processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
244       <require condition="CM23_TZ"/>
245       <accept condition="ARMCC6"/>
246       <accept condition="GCC"/>
247     </condition>
248
249     <condition id="CM33_AC6_GCC">
250       <description>Cortex-M33 processor based device for the ARM Compiler 6 and GCC</description>
251       <require condition="CM33"/>
252       <accept condition="ARMCC6"/>
253       <accept condition="GCC"/>
254     </condition>
255     <condition id="CM33_NoTZ_AC6_GCC">
256       <description>Cortex-M33 processor based device without TrustZone for the ARM Compiler 6 and GCC</description>
257       <require condition="CM33_NoTZ"/>
258       <accept condition="ARMCC6"/>
259       <accept condition="GCC"/>
260     </condition>
261     <condition id="CM33_TZ_AC6_GCC">
262       <description>Cortex-M33 processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
263       <require condition="CM33_TZ"/>
264       <accept condition="ARMCC6"/>
265       <accept condition="GCC"/>
266     </condition>
267
268     <condition id="CM35P_AC6_GCC">
269       <description>Cortex-M35P processor based device for the ARM Compiler 6 and GCC</description>
270       <require condition="CM35P"/>
271       <accept condition="ARMCC6"/>
272       <accept condition="GCC"/>
273     </condition>
274     <condition id="CM35P_NoTZ_AC6_GCC">
275       <description>Cortex-M35P processor based device without TrustZone for the ARM Compiler 6 and GCC</description>
276       <require condition="CM35P_NoTZ"/>
277       <accept condition="ARMCC6"/>
278       <accept condition="GCC"/>
279     </condition>
280     <condition id="CM35P_TZ_AC6_GCC">
281       <description>Cortex-M35P processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
282       <require condition="CM35P_TZ"/>
283       <accept condition="ARMCC6"/>
284       <accept condition="GCC"/>
285     </condition>
286
287     <condition id="CM55_AC6_GCC">
288       <description>Cortex-M55 processor based device for the ARM Compiler 6 and GCC</description>
289       <require condition="CM55"/>
290       <accept condition="ARMCC6"/>
291       <accept condition="GCC"/>
292     </condition>
293     <condition id="CM55_TZ_AC6_GCC">
294       <description>Cortex-M55 processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
295       <require condition="CM55_TZ"/>
296       <accept condition="ARMCC6"/>
297       <accept condition="GCC"/>
298     </condition>
299
300     <condition id="CM85_AC6_GCC">
301       <description>Cortex-M85 processor based device for the ARM Compiler 6 and GCC</description>
302       <require condition="CM85"/>
303       <accept condition="ARMCC6"/>
304       <accept condition="GCC"/>
305     </condition>
306     <condition id="CM85_TZ_AC6_GCC">
307       <description>Cortex-M85 processor based device with TrustZone for the ARM Compiler 6 and GCC</description>
308       <require condition="CM85_TZ"/>
309       <accept condition="ARMCC6"/>
310       <accept condition="GCC"/>
311     </condition>
312
313     <condition id="CA9_DP_AC6_GCC">
314       <description>Cortex-A9 processor based device using Floating Point Unit (DP) for the ARM Compiler 6 and GCC</description>
315       <require condition="CA9_DP"/>
316       <accept condition="ARMCC6"/>
317       <accept condition="GCC"/>
318     </condition>
319
320     <!-- IAR compiler -->
321     <condition id="CM0_IAR">
322       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the IAR Compiler</description>
323       <require condition="CM0"/>
324       <require condition="IAR"/>
325     </condition>
326
327     <condition id="CM3_IAR">
328       <description>Cortex-M3 or SC300 processor based device for the IAR Compiler</description>
329       <require condition="CM3"/>
330       <require condition="IAR"/>
331     </condition>
332
333     <condition id="CM4_IAR">
334       <description>Cortex-M4 processor based device for the IAR Compiler</description>
335       <require condition="CM4"/>
336       <require condition="IAR"/>
337     </condition>
338     <condition id="CM4_FP_IAR">
339       <description>Cortex-M4 processor based device using Floating Point Unit for the IAR Compiler</description>
340       <require condition="CM4_FP"/>
341       <require condition="IAR"/>
342     </condition>
343
344     <condition id="CM7_IAR">
345       <description>Cortex-M7 processor based device for the IAR Compiler</description>
346       <require condition="CM7"/>
347       <require condition="IAR"/>
348     </condition>
349     <condition id="CM7_SP_IAR">
350       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the IAR Compiler</description>
351       <require condition="CM7_SP"/>
352       <require condition="IAR"/>
353     </condition>
354     <condition id="CM7_DP_IAR">
355       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the IAR Compiler</description>
356       <require condition="CM7_DP"/>
357       <require condition="IAR"/>
358     </condition>
359
360     <condition id="CM23_IAR">
361       <description>Cortex-M23 processor based device for the IAR Compiler</description>
362       <require condition="CM23"/>
363       <require condition="IAR"/>
364     </condition>
365     <condition id="CM23_NoTZ_IAR">
366       <description>Cortex-M23 processor based device without TrustZone for the IAR Compiler</description>
367       <require condition="CM23_NoTZ"/>
368       <require condition="IAR"/>
369     </condition>
370     <condition id="CM23_TZ_IAR">
371       <description>Cortex-M23 processor based device with TrustZone for the IAR Compiler</description>
372       <require condition="CM23_TZ"/>
373       <require condition="IAR"/>
374     </condition>
375
376     <condition id="CM33_IAR">
377       <description>Cortex-M33 processor based device for the IAR Compiler</description>
378       <require condition="CM33"/>
379       <require condition="IAR"/>
380     </condition>
381     <condition id="CM33_NoTZ_IAR">
382       <description>Cortex-M33 processor based device without TrustZone for the IAR Compiler</description>
383       <require condition="CM33_NoTZ"/>
384       <require condition="IAR"/>
385     </condition>
386     <condition id="CM33_TZ_IAR">
387       <description>Cortex-M33 processor based device with TrustZone for the IAR Compiler</description>
388       <require condition="CM33_TZ"/>
389       <require condition="IAR"/>
390     </condition>
391
392     <condition id="CM35P_IAR">
393       <description>Cortex-M35P processor based device for the IAR Compiler</description>
394       <require condition="CM35P"/>
395       <require condition="IAR"/>
396     </condition>
397     <condition id="CM35P_NoTZ_IAR">
398       <description>Cortex-M35P processor based device without TrustZone for the IAR Compiler</description>
399       <require condition="CM35P_NoTZ"/>
400       <require condition="IAR"/>
401     </condition>
402     <condition id="CM35P_TZ_IAR">
403       <description>Cortex-M35P processor based device with TrustZone for the IAR Compiler</description>
404       <require condition="CM35P_TZ"/>
405       <require condition="IAR"/>
406     </condition>
407
408     <condition id="CM55_IAR">
409       <description>Cortex-M55 processor based device for the IAR Compiler</description>
410       <require condition="CM55"/>
411       <require condition="IAR"/>
412     </condition>
413     <condition id="CM55_TZ_IAR">
414       <description>Cortex-M55 processor based device with TrustZone for the IAR Compiler</description>
415       <require condition="CM55_TZ"/>
416       <require condition="IAR"/>
417     </condition>
418
419     <condition id="CM85_IAR">
420       <description>Cortex-M85 processor based device for the IAR Compiler</description>
421       <require condition="CM85"/>
422       <require condition="IAR"/>
423     </condition>
424     <condition id="CM85_TZ_IAR">
425       <description>Cortex-M85 processor based device with TrustZone for the IAR Compiler</description>
426       <require condition="CM85_TZ"/>
427       <require condition="IAR"/>
428     </condition>
429
430     <condition id="CA9_DP_IAR">
431       <description>Cortex-A9 processor based device using Floating Point Unit (DP) for the IAR Compiler</description>
432       <require condition="CA9_DP"/>
433       <require condition="IAR"/>
434     </condition>
435
436     <!-- FreeRTOS ports for the Arm Cortex core -->
437     <condition id="FreeRTOS Port Cortex-M0">
438       <description>Requirements for FreeRTOS port for Cortex-M0 and Cortex-M0+</description>
439       <accept condition="CM0_AC6_GCC"/>
440       <accept condition="CM0_IAR"/>
441     </condition>
442     <condition id="FreeRTOS Port Cortex-M0 MPU">
443       <description>Requirements for FreeRTOS port for Cortex-M0+ using MPU</description>
444       <accept condition="CM0_AC6_GCC"/>
445     </condition>
446     <condition id="FreeRTOS Port Cortex-M3">
447       <description>Requirements for FreeRTOS port for Cortex-M3</description>
448       <accept condition="CM3_AC6_GCC"/>
449       <accept condition="CM3_IAR"/>
450     </condition>
451     <condition id="FreeRTOS Port Cortex-M3 MPU">
452       <description>Requirements for FreeRTOS port for Cortex-M3 using MPU</description>
453       <accept condition="CM3_AC6_GCC"/>
454     </condition>
455     <condition id="FreeRTOS Port Cortex-M4">
456       <description>Requirements for FreeRTOS port for Cortex-M4</description>
457       <accept condition="CM4_AC6_GCC"/>
458       <accept condition="CM4_IAR"/>
459     </condition>
460     <condition id="FreeRTOS Port Cortex-M4 MPU">
461       <description>Requirements for FreeRTOS port for Cortex-M4 using MPU</description>
462       <accept condition="CM4_AC6_GCC"/>
463     </condition>
464     <condition id="FreeRTOS Port Cortex-M4 FPU">
465       <description>Requirements for FreeRTOS port for Cortex-M4 using FPU</description>
466       <accept condition="CM4_FP_AC6_GCC"/>
467       <accept condition="CM4_FP_IAR"/>
468     </condition>
469     <condition id="FreeRTOS Port Cortex-M4 FPU MPU">
470       <description>Requirements for FreeRTOS port for Cortex-M4 using FPU and MPU</description>
471       <accept condition="CM4_FP_AC6_GCC"/>
472       <accept condition="CM4_FP_IAR"/>
473     </condition>
474     <condition id="FreeRTOS Port Cortex-M7">
475       <description>Requirements for FreeRTOS port for Cortex-M7</description>
476       <accept condition="CM7_AC6_GCC"/>
477       <accept condition="CM7_IAR"/>
478     </condition>
479     <condition id="FreeRTOS Port Cortex-M7 FPU SP">
480       <description>Requirements for FreeRTOS port for Cortex-M7 using FPU (SP)</description>
481       <accept condition="CM7_SP_AC6_GCC"/>
482       <accept condition="CM7_SP_IAR"/>
483     </condition>
484     <condition id="FreeRTOS Port Cortex-M7 FPU DP">
485       <description>Requirements for FreeRTOS port for Cortex-M7 using FPU (DP)</description>
486       <accept condition="CM7_DP_AC6_GCC"/>
487       <accept condition="CM7_DP_IAR"/>
488     </condition>
489     <condition id="FreeRTOS Port Cortex-M23">
490       <description>Requirements for FreeRTOS port for Cortex-M23</description>
491       <accept condition="CM23_AC6_GCC"/>
492       <accept condition="CM23_IAR"/>
493     </condition>
494     <condition id="FreeRTOS Port Cortex-M23 NoTZ">
495       <description>Requirements for FreeRTOS port for Cortex-M23 without TrustZone</description>
496       <accept condition="CM23_NoTZ_AC6_GCC"/>
497       <accept condition="CM23_NoTZ_IAR"/>
498     </condition>
499     <condition id="FreeRTOS Port Cortex-M23 TZ">
500       <description>Requirements for FreeRTOS port for Cortex-M23 with TrustZone</description>
501       <accept condition="CM23_TZ_AC6_GCC"/>
502       <accept condition="CM23_TZ_IAR"/>
503     </condition>
504     <condition id="FreeRTOS Port Cortex-M33">
505       <description>Requirements for FreeRTOS port for Cortex-M33</description>
506       <accept condition="CM33_AC6_GCC"/>
507       <accept condition="CM33_IAR"/>
508     </condition>
509     <condition id="FreeRTOS Port Cortex-M33 NoTZ">
510       <description>Requirements for FreeRTOS port for Cortex-M33 without TrustZone</description>
511       <accept condition="CM33_NoTZ_AC6_GCC"/>
512       <accept condition="CM33_NoTZ_IAR"/>
513     </condition>
514     <condition id="FreeRTOS Port Cortex-M33 TZ">
515       <description>Requirements for FreeRTOS port for Cortex-M33 with TrustZone</description>
516       <accept condition="CM33_TZ_AC6_GCC"/>
517       <accept condition="CM33_TZ_IAR"/>
518     </condition>
519     <condition id="FreeRTOS Port Cortex-M35P">
520       <description>Requirements for FreeRTOS port for Cortex-M35P</description>
521       <accept condition="CM35P_AC6_GCC"/>
522       <accept condition="CM35P_IAR"/>
523     </condition>
524     <condition id="FreeRTOS Port Cortex-M35P NoTZ">
525       <description>Requirements for FreeRTOS port for Cortex-M35P without TrustZone</description>
526       <accept condition="CM35P_NoTZ_AC6_GCC"/>
527       <accept condition="CM35P_NoTZ_IAR"/>
528     </condition>
529     <condition id="FreeRTOS Port Cortex-M35P TZ">
530       <description>Requirements for FreeRTOS port for Cortex-M35P with TrustZone</description>
531       <accept condition="CM35P_TZ_AC6_GCC"/>
532       <accept condition="CM35P_TZ_IAR"/>
533     </condition>
534     <condition id="FreeRTOS Port Cortex-M55 TZ">
535       <description>Requirements for FreeRTOS port for Cortex-M55 with TrustZone</description>
536       <accept condition="CM55_TZ_AC6_GCC"/>
537       <accept condition="CM55_TZ_IAR"/>
538     </condition>
539     <condition id="FreeRTOS Port Cortex-M85 TZ">
540       <description>Requirements for FreeRTOS port for Cortex-M85 with TrustZone</description>
541       <accept condition="CM85_TZ_AC6_GCC"/>
542       <accept condition="CM85_TZ_IAR"/>
543     </condition>
544     <condition id="FreeRTOS Port Cortex-A9 FPU DP">
545       <description>Requirements for FreeRTOS port for Cortex-A9 using FPU (DP)</description>
546       <accept condition="CA9_DP_AC6_GCC"/>
547       <accept condition="CA9_DP_IAR"/>
548     </condition>
549
550     <condition id="FreeRTOS Port Cortex-M v6_v7">
551       <description>Requirements for FreeRTOS port for Cortex-M v6 and v7</description>
552       <accept condition="FreeRTOS Port Cortex-M0"/>
553       <accept condition="FreeRTOS Port Cortex-M3"/>
554       <accept condition="FreeRTOS Port Cortex-M4"/>
555       <accept condition="FreeRTOS Port Cortex-M4 FPU"/>
556       <accept condition="FreeRTOS Port Cortex-M7"/>
557       <accept condition="FreeRTOS Port Cortex-M7 FPU SP"/>
558       <accept condition="FreeRTOS Port Cortex-M7 FPU DP"/>
559     </condition>
560     <condition id="FreeRTOS Port Cortex-M v6_v7 MPU">
561       <description>Requirements for FreeRTOS port for Cortex-M v6 and v7 using MPU</description>
562       <accept condition="FreeRTOS Port Cortex-M0 MPU"/>
563       <accept condition="FreeRTOS Port Cortex-M3 MPU"/>
564       <accept condition="FreeRTOS Port Cortex-M4 MPU"/>
565       <accept condition="FreeRTOS Port Cortex-M4 FPU MPU"/>
566     </condition>
567     <condition id="FreeRTOS Port Cortex-M v8">
568       <description>Requirements for FreeRTOS port for Cortex-M v8</description>
569       <accept condition="FreeRTOS Port Cortex-M23"/>
570       <accept condition="FreeRTOS Port Cortex-M23 NoTZ"/>
571       <accept condition="FreeRTOS Port Cortex-M23 TZ"/>
572       <accept condition="FreeRTOS Port Cortex-M33"/>
573       <accept condition="FreeRTOS Port Cortex-M33 NoTZ"/>
574       <accept condition="FreeRTOS Port Cortex-M33 TZ"/>
575       <accept condition="FreeRTOS Port Cortex-M35P"/>
576       <accept condition="FreeRTOS Port Cortex-M35P NoTZ"/>
577       <accept condition="FreeRTOS Port Cortex-M35P TZ"/>
578       <accept condition="FreeRTOS Port Cortex-M55 TZ"/>
579       <accept condition="FreeRTOS Port Cortex-M85 TZ"/>
580     </condition>
581     <condition id="FreeRTOS Port Cortex-M v8 TZ">
582       <description>Requirements for FreeRTOS port for Cortex-M v8 with TrustZone</description>
583       <accept condition="FreeRTOS Port Cortex-M23 TZ"/>
584       <accept condition="FreeRTOS Port Cortex-M33 TZ"/>
585       <accept condition="FreeRTOS Port Cortex-M35P TZ"/>
586       <accept condition="FreeRTOS Port Cortex-M55 TZ"/>
587       <accept condition="FreeRTOS Port Cortex-M85 TZ"/>
588     </condition>
589     <condition id="FreeRTOS Port Cortex-A">
590       <description>Requirements for FreeRTOS port for Cortex-A</description>
591       <accept condition="FreeRTOS Port Cortex-A9 FPU DP"/>
592     </condition>
593     <condition id="FreeRTOS Port Cortex-M">
594       <description>Requirements for FreeRTOS port for Cortex-M</description>
595       <accept condition="FreeRTOS Port Cortex-M v6_v7"/>
596       <accept condition="FreeRTOS Port Cortex-M v8"/>
597     </condition>
598     <condition id="FreeRTOS Port Cortex-M MPU">
599       <description>FreeRTOS ports for Arm Cortex that support MPU</description>
600       <accept condition="FreeRTOS Port Cortex-M v6_v7 MPU"/>
601       <accept condition="FreeRTOS Port Cortex-M v8"/>
602     </condition>
603     <condition id="FreeRTOS Port">
604       <description>FreeRTOS ports for Arm Cortex combined</description>
605       <accept condition="FreeRTOS Port Cortex-A"/>
606       <accept condition="FreeRTOS Port Cortex-M"/>
607     </condition>
608
609     <!-- Conditions for RTOS::FreeRTOS components -->
610     <condition id="FreeRTOS Message or Stream Buffer API">
611       <description>FreeRTOS Message or Stream Buffer component</description>
612       <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
613       <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
614     </condition>
615
616     <condition id="FreeRTOS Core CA">
617       <description>Requirements for FreeRTOS Core for Cortex-A</description>
618       <require condition="FreeRTOS Port Cortex-A"/>
619
620       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
621       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
622     </condition>
623
624     <condition id="FreeRTOS Core CM">
625       <description>Requirements for FreeRTOS Core for Cortex-M</description>
626       <require condition="FreeRTOS Port Cortex-M"/>
627       <accept condition="No TrustZone"/>
628       <accept condition="TZ Disabled"/>
629       <accept condition="TZ Secure Only"/>
630       <accept condition="TZ Secure"/>
631
632       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
633       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
634     </condition>
635
636     <condition id="FreeRTOS Core CM TZ_NS">
637       <description>Requirements for FreeRTOS Core for Cortex-M with TrustZone in Non-Secure Domain</description>
638       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
639       <require condition="TZ Non-secure"/>
640
641       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
642       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
643     </condition>
644
645     <condition id="FreeRTOS Core CM MPU">
646     <description>Requirements for FreeRTOS Core with MPU support for Cortex-M</description>
647       <require condition="FreeRTOS Port Cortex-M MPU"/>
648       <accept condition="No TrustZone"/>
649       <accept condition="TZ Disabled"/>
650       <accept condition="TZ Secure Only"/>
651       <accept condition="TZ Secure"/>
652
653       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
654       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
655       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
656       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
657       <require condition="FreeRTOS Message or Stream Buffer API"/>
658     </condition>
659
660     <condition id="FreeRTOS Core CM MPU TZ_NS">
661       <description>Requirements for FreeRTOS Core for Cortex-M with MPU support and TrustZone in Non-Secure Domain</description>
662       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
663       <require condition="TZ Non-secure"/>
664
665       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
666       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
667       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
668       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
669       <require condition="FreeRTOS Message or Stream Buffer API"/>
670     </condition>
671
672     <condition id="FreeRTOS Core TZ">
673       <description>Requirements for FreeRTOS Core with TrustZone support</description>
674       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
675
676       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
677       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
678     </condition>
679
680     <condition id="FreeRTOS Core TZ MPU">
681       <description>Requirements for FreeRTOS Core with TrustZone and MPU support</description>
682       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
683
684       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
685       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
686       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
687       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
688       <require condition="FreeRTOS Message or Stream Buffer API"/>
689     </condition>
690
691     <condition id="FreeRTOS Config Native">
692       <description>Components required for FreeRTOS Config Native variant</description>
693       <require condition="FreeRTOS Port"/>
694
695       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
696     </condition>
697
698     <condition id="FreeRTOS Config CMSIS RTOS2">
699       <description>Components required for FreeRTOS Config CMSIS RTOS2 variant</description>
700       <require condition="FreeRTOS Port"/>
701
702       <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
703     </condition>
704
705     <condition id="FreeRTOS Coroutines">
706       <description>Components required for FreeRTOS Coroutines</description>
707       <require condition="FreeRTOS Port"/>
708
709       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
710     </condition>
711
712     <condition id="FreeRTOS Event Groups">
713       <description>Components required for FreeRTOS Event Groups</description>
714       <require condition="FreeRTOS Port"/>
715
716       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
717     </condition>
718
719     <condition id="FreeRTOS Heap">
720       <description>Components required for FreeRTOS Heap</description>
721       <require condition="FreeRTOS Port"/>
722
723       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
724     </condition>
725
726     <condition id="FreeRTOS Message Buffer">
727       <description>Components required for FreeRTOS Message Buffer</description>
728       <require condition="FreeRTOS Port"/>
729
730       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
731     </condition>
732
733     <condition id="FreeRTOS Stream Buffer">
734       <description>Components required for FreeRTOS Stream Buffer</description>
735       <require condition="FreeRTOS Port"/>
736
737       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
738     </condition>
739
740     <condition id="FreeRTOS Timers">
741       <description>Components required for FreeRTOS Timers</description>
742       <require condition="FreeRTOS Port"/>
743
744       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
745     </condition>
746
747     <condition id="FreeRTOS TrustZone">
748       <description>Components required for FreeRTOS TrustZone</description>
749       <require condition="FreeRTOS Port Cortex-M v8 TZ"/>
750
751       <!-- TrustZone Secure Context is a standalone component -->
752       <deny Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
753
754       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
755       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
756       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Coroutines"/>
757       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
758       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
759       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
760       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
761       <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
762     </condition>
763
764     <condition id="CMSIS RTOS2 FreeRTOS CortexM">
765       <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-M</description>
766       <require condition="FreeRTOS Port Cortex-M"/>
767
768       <require Cclass="CMSIS" Cgroup="OS Tick"/>
769       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
770       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
771       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
772       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
773     </condition>
774
775     <condition id="CMSIS RTOS2 FreeRTOS CortexA">
776       <description>Components required for CMSIS RTOS2 API on top of FreeRTOS for Cortex-A</description>
777       <require condition="FreeRTOS Port Cortex-A"/>
778
779       <require Cclass="CMSIS" Cgroup="OS Tick"/>
780       <require Cclass="Device" Cgroup="IRQ Controller"/>
781       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
782       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
783       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
784       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
785     </condition>
786
787   </conditions>
788
789   <components>
790     <!-- CMSIS-RTOS2 FreeRTOS component -->
791     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cvariant="Cortex-M" Cversion="11.2.0" Capiversion="2.3.0" condition="CMSIS RTOS2 FreeRTOS CortexM">
792       <description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
793       <RTE_Components_h>
794         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
795         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
796       </RTE_Components_h>
797       <files>
798         <file category="doc"    name="Documentation/html/index.html"/>
799         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
800         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
801         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/clib_os.c"/>
802       </files>
803     </component>
804
805     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cvariant="Cortex-A" Cversion="11.2.0" Capiversion="2.3.0" condition="CMSIS RTOS2 FreeRTOS CortexA">
806       <description>CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS</description>
807       <RTE_Components_h>
808         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
809         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
810       </RTE_Components_h>
811       <files>
812         <file category="doc"    name="Documentation/html/index.html"/>
813         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_mpool.h"/>
814         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
815         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/clib_os.c"/>
816
817         <file category="source" attr="config" name="CMSIS/RTOS2/FreeRTOS/Source/handlers.c" version="9.1.0"/>
818       </files>
819     </component>
820
821      <!-- FreeRTOS kernel components -->
822     <bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="11.2.0">
823       <description>FreeRTOS Real Time Kernel</description>
824       <doc>https://www.freertos.org/RTOS.html</doc>
825
826       <component Cgroup="Core" Cvariant="Cortex-M" isDefaultVariant="true" condition="FreeRTOS Core CM">
827         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M</description>
828         <RTE_Components_h>
829           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
830         </RTE_Components_h>
831         <files>
832           <file category="include" name="Source/include/"/>
833
834           <file category="header"  name="Source/include/FreeRTOS.h"/>
835           <file category="header"  name="Source/include/queue.h"/>
836           <file category="header"  name="Source/include/semphr.h"/>
837           <file category="header"  name="Source/include/task.h"/>
838
839           <file category="source"  name="Source/list.c"/>
840           <file category="source"  name="Source/queue.c"/>
841           <file category="source"  name="Source/tasks.c"/>
842
843           <file category="include"   condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/"/>
844           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/port.c"/>
845           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/portasm.c"/>
846           <file category="include"   condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
847           <file category="source"    condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
848           <file category="include"   condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
849           <file category="source"    condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
850           <file category="include"   condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4F/"/>
851           <file category="source"    condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4F/port.c"/>
852           <file category="include"   condition="CM7_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
853           <file category="source"    condition="CM7_AC6_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
854           <file category="include"   condition="CM7_DP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
855           <file category="source"    condition="CM7_DP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
856           <file category="include"   condition="CM7_SP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
857           <file category="source"    condition="CM7_SP_AC6_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
858           <file category="include"   condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
859           <file category="source"    condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
860           <file category="source"    condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
861           <file category="include"   condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
862           <file category="source"    condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
863           <file category="source"    condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
864           <file category="include"   condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/"/>
865           <file category="source"    condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c"/>
866           <file category="source"    condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c"/>
867           <file category="include"   condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/"/>
868           <file category="source"    condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/port.c"/>
869           <file category="source"    condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c"/>
870           <file category="include"   condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/"/>
871           <file category="source"    condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/port.c"/>
872           <file category="source"    condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c"/>
873
874           <file category="include"   condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/"/>
875           <file category="source"    condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/port.c"/>
876           <file category="sourceAsm" condition="CM0_IAR"    name="Source/portable/IAR/ARM_CM0/portasm.s"/>
877           <file category="include"   condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
878           <file category="source"    condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
879           <file category="sourceAsm" condition="CM3_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
880           <file category="include"   condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
881           <file category="source"    condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
882           <file category="sourceAsm" condition="CM4_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
883           <file category="include"   condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/"/>
884           <file category="source"    condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/port.c"/>
885           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/portasm.s"/>
886           <file category="include"   condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/"/>
887           <file category="source"    condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/port.c"/>
888           <file category="sourceAsm" condition="CM7_IAR"    name="Source/portable/IAR/ARM_CM3/portasm.s"/>
889           <file category="include"   condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
890           <file category="source"    condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
891           <file category="sourceAsm" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
892           <file category="include"   condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
893           <file category="source"    condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
894           <file category="sourceAsm" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
895           <file category="include"   condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/"/>
896           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/port.c"/>
897           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s"/>
898           <file category="include"   condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
899           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
900           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
901           <file category="include"   condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/"/>
902           <file category="source"    condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c"/>
903           <file category="source"    condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s"/>
904           <file category="include"   condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/"/>
905           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/port.c"/>
906           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s"/>
907           <file category="include"   condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/"/>
908           <file category="source"    condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/port.c"/>
909           <file category="source"    condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s"/>
910
911           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
912           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
913           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
914         </files>
915       </component>
916
917       <component Cgroup="Core" Cvariant="Cortex-M" condition="FreeRTOS Core CM TZ_NS">
918         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M in Non-Secure Domain (TrustZone)</description>
919         <RTE_Components_h>
920           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
921           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
922         </RTE_Components_h>
923         <files>
924           <file category="include" name="Source/include/"/>
925
926           <file category="header"  name="Source/include/FreeRTOS.h"/>
927           <file category="header"  name="Source/include/queue.h"/>
928           <file category="header"  name="Source/include/semphr.h"/>
929           <file category="header"  name="Source/include/task.h"/>
930
931           <file category="source"  name="Source/list.c"/>
932           <file category="source"  name="Source/queue.c"/>
933           <file category="source"  name="Source/tasks.c"/>
934
935           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
936           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/"/>
937           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
938           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
939           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
940           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/"/>
941           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
942           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
943           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
944           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/"/>
945           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/port.c"/>
946           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/portasm.c"/>
947           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
948           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/"/>
949           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/port.c"/>
950           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/portasm.c"/>
951           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
952           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/"/>
953           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/port.c"/>
954           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/portasm.c"/>
955
956           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
957           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
958           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
959           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
960           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
961           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
962           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
963           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
964           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
965           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/"/>
966           <file category="source"    condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/port.c"/>
967           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/portasm.s"/>
968           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
969           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/"/>
970           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/port.c"/>
971           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/portasm.s"/>
972           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
973           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/"/>
974           <file category="source"    condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/port.c"/>
975           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/portasm.s"/>
976
977           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
978           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
979           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
980         </files>
981       </component>
982
983       <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS Core CM MPU">
984         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
985         <RTE_Components_h>
986           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
987           #define RTE_RTOS_FreeRTOS_CORE_MPU      /* RTOS FreeRTOS Core with MPU support */
988         </RTE_Components_h>
989         <files>
990           <file category="include" name="Source/include/"/>
991
992           <file category="header"  name="Source/include/FreeRTOS.h"/>
993           <file category="header"  name="Source/include/queue.h"/>
994           <file category="header"  name="Source/include/semphr.h"/>
995           <file category="header"  name="Source/include/task.h"/>
996
997           <file category="source"  name="Source/list.c"/>
998           <file category="source"  name="Source/queue.c"/>
999           <file category="source"  name="Source/tasks.c"/>
1000           <file category="source"  name="Source/portable/Common/mpu_wrappers.c"/>
1001           <file category="source"  name="Source/portable/Common/mpu_wrappers_v2.c"/>
1002
1003           <file category="include"   condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/"/>
1004           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/port.c"/>
1005           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/portasm.c"/>
1006           <file category="source"    condition="CM0_AC6_GCC"    name="Source/portable/GCC/ARM_CM0/mpu_wrappers_v2_asm.c"/>
1007           <file category="include"   condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
1008           <file category="source"    condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
1009           <file category="source"    condition="CM3_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c"/>
1010           <file category="include"   condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/"/>
1011           <file category="source"    condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
1012           <file category="source"    condition="CM4_AC6_GCC"    name="Source/portable/GCC/ARM_CM3_MPU/mpu_wrappers_v2_asm.c"/>
1013           <file category="include"   condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/"/>
1014           <file category="source"    condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
1015           <file category="source"    condition="CM4_FP_AC6_GCC" name="Source/portable/GCC/ARM_CM4_MPU/mpu_wrappers_v2_asm.c"/>
1016           <file category="include"   condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
1017           <file category="source"    condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
1018           <file category="source"    condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
1019           <file category="source"    condition="CM23_AC6_GCC"   name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
1020           <file category="include"   condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
1021           <file category="source"    condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
1022           <file category="source"    condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
1023           <file category="source"    condition="CM33_AC6_GCC"   name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
1024           <file category="include"   condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/"/>
1025           <file category="source"    condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/port.c"/>
1026           <file category="source"    condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/portasm.c"/>
1027           <file category="source"    condition="CM35P_AC6_GCC"  name="Source/portable/GCC/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
1028           <file category="include"   condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/"/>
1029           <file category="source"    condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/port.c"/>
1030           <file category="source"    condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/portasm.c"/>
1031           <file category="source"    condition="CM55_AC6_GCC"   name="Source/portable/GCC/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
1032           <file category="include"   condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/"/>
1033           <file category="source"    condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/port.c"/>
1034           <file category="source"    condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/portasm.c"/>
1035           <file category="source"    condition="CM85_AC6_GCC"   name="Source/portable/GCC/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.c"/>
1036
1037           <file category="include"   condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/"/>
1038           <file category="source"    condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/port.c"/>
1039           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/portasm.s"/>
1040           <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F_MPU/mpu_wrappers_v2_asm.S"/>
1041           <file category="include"   condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/"/>
1042           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/port.c"/>
1043           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s"/>
1044           <file category="source"    condition="CM23_IAR"   name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
1045           <file category="include"   condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
1046           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
1047           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
1048           <file category="source"    condition="CM33_IAR"   name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
1049           <file category="include"   condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/"/>
1050           <file category="source"    condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/port.c"/>
1051           <file category="source"    condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/portasm.s"/>
1052           <file category="source"    condition="CM35P_IAR"  name="Source/portable/IAR/ARM_CM35P_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
1053           <file category="include"   condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/"/>
1054           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/port.c"/>
1055           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/portasm.s"/>
1056           <file category="source"    condition="CM55_IAR"   name="Source/portable/IAR/ARM_CM55_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
1057           <file category="include"   condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/"/>
1058           <file category="source"    condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/port.c"/>
1059           <file category="source"    condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/portasm.s"/>
1060           <file category="source"    condition="CM85_IAR"   name="Source/portable/IAR/ARM_CM85_NTZ/non_secure/mpu_wrappers_v2_asm.S"/>
1061
1062           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1063           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1064           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1065         </files>
1066       </component>
1067
1068       <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS Core CM MPU TZ_NS">
1069         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU in Non-Secure Domain (TrustZone)</description>
1070         <RTE_Components_h>
1071           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1072           #define RTE_RTOS_FreeRTOS_CORE_MPU      /* RTOS FreeRTOS Core with MPU support */
1073           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
1074         </RTE_Components_h>
1075         <files>
1076           <file category="include" name="Source/include/"/>
1077
1078           <file category="header"  name="Source/include/FreeRTOS.h"/>
1079           <file category="header"  name="Source/include/queue.h"/>
1080           <file category="header"  name="Source/include/semphr.h"/>
1081           <file category="header"  name="Source/include/task.h"/>
1082
1083           <file category="source"  name="Source/list.c"/>
1084           <file category="source"  name="Source/queue.c"/>
1085           <file category="source"  name="Source/tasks.c"/>
1086           <file category="source"  name="Source/portable/Common/mpu_wrappers.c"/>
1087           <file category="source"  name="Source/portable/Common/mpu_wrappers_v2.c"/>
1088
1089           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
1090           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/"/>
1091           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
1092           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
1093           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c"/>
1094           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
1095           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1096           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1097           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1098           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c"/>
1099           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
1100           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/"/>
1101           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/port.c"/>
1102           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/portasm.c"/>
1103           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c"/>
1104           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
1105           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/"/>
1106           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/port.c"/>
1107           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/portasm.c"/>
1108           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c"/>
1109           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
1110           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/"/>
1111           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/port.c"/>
1112           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/portasm.c"/>
1113           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c"/>
1114
1115           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1116           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
1117           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
1118           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
1119           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S"/>
1120           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1121           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1122           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1123           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1124           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S"/>
1125           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
1126           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/"/>
1127           <file category="source"    condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/port.c"/>
1128           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/portasm.s"/>
1129           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S"/>
1130           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
1131           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/"/>
1132           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/port.c"/>
1133           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/portasm.s"/>
1134           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S"/>
1135           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
1136           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/"/>
1137           <file category="source"    condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/port.c"/>
1138           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/portasm.s"/>
1139           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S"/>
1140
1141           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1142           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1143           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1144         </files>
1145       </component>
1146
1147       <!-- NOTE: This component variant will be deprecated (use RTOS&FreeRTOS:Core&Cortex-M) -->
1148       <component Cgroup="Core" Cvariant="Cortex-M Non-Secure" condition="FreeRTOS Core TZ">
1149         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone)</description>
1150         <RTE_Components_h>
1151           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1152           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
1153         </RTE_Components_h>
1154         <files>
1155           <file category="include" name="Source/include/"/>
1156
1157           <file category="header"  name="Source/include/FreeRTOS.h"/>
1158           <file category="header"  name="Source/include/queue.h"/>
1159           <file category="header"  name="Source/include/semphr.h"/>
1160           <file category="header"  name="Source/include/task.h"/>
1161
1162           <file category="source"  name="Source/list.c"/>
1163           <file category="source"  name="Source/queue.c"/>
1164           <file category="source"  name="Source/tasks.c"/>
1165
1166           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
1167           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/"/>
1168           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
1169           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
1170           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
1171           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1172           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1173           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1174           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
1175           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/"/>
1176           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/port.c"/>
1177           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/portasm.c"/>
1178           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
1179           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/"/>
1180           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/port.c"/>
1181           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/portasm.c"/>
1182           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
1183           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/"/>
1184           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/port.c"/>
1185           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/portasm.c"/>
1186
1187           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1188           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
1189           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
1190           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
1191           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1192           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1193           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1194           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1195           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
1196           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/"/>
1197           <file category="source"    condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/port.c"/>
1198           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/portasm.s"/>
1199           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
1200           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/"/>
1201           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/port.c"/>
1202           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/portasm.s"/>
1203           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
1204           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/"/>
1205           <file category="source"    condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/port.c"/>
1206           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/portasm.s"/>
1207
1208           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1209           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1210           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1211         </files>
1212       </component>
1213
1214       <!-- NOTE: This component variant will be deprecated (use RTOS&FreeRTOS:Core&Cortex-M MPU) -->
1215       <component Cgroup="Core" Cvariant="Cortex-M Non-Secure MPU" condition="FreeRTOS Core TZ MPU">
1216         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone) and MPU</description>
1217         <RTE_Components_h>
1218           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1219           #define RTE_RTOS_FreeRTOS_CORE_MPU      /* RTOS FreeRTOS Core with MPU support */
1220           #define RTE_RTOS_FreeRTOS_CORE_TZ_NS    /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
1221         </RTE_Components_h>
1222         <files>
1223           <file category="include" name="Source/include/"/>
1224
1225           <file category="header"  name="Source/include/FreeRTOS.h"/>
1226           <file category="header"  name="Source/include/queue.h"/>
1227           <file category="header"  name="Source/include/semphr.h"/>
1228           <file category="header"  name="Source/include/task.h"/>
1229
1230           <file category="source"  name="Source/list.c"/>
1231           <file category="source"  name="Source/queue.c"/>
1232           <file category="source"  name="Source/tasks.c"/>
1233           <file category="source"  name="Source/portable/Common/mpu_wrappers.c"/>
1234           <file category="source"  name="Source/portable/Common/mpu_wrappers_v2.c"/>
1235
1236           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
1237           <file category="include"   condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/"/>
1238           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
1239           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
1240           <file category="source"    condition="CM23_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/non_secure/mpu_wrappers_v2_asm.c"/>
1241           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
1242           <file category="include"   condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/"/>
1243           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
1244           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
1245           <file category="source"    condition="CM33_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/non_secure/mpu_wrappers_v2_asm.c"/>
1246           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
1247           <file category="include"   condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/"/>
1248           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/port.c"/>
1249           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/portasm.c"/>
1250           <file category="source"    condition="CM35P_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.c"/>
1251           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
1252           <file category="include"   condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/"/>
1253           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/port.c"/>
1254           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/portasm.c"/>
1255           <file category="source"    condition="CM55_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/non_secure/mpu_wrappers_v2_asm.c"/>
1256           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
1257           <file category="include"   condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/"/>
1258           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/port.c"/>
1259           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/portasm.c"/>
1260           <file category="source"    condition="CM85_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/non_secure/mpu_wrappers_v2_asm.c"/>
1261
1262           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1263           <file category="include"   condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/"/>
1264           <file category="source"    condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
1265           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
1266           <file category="sourceAsm" condition="CM23_IAR"    name="Source/portable/IAR/ARM_CM23/non_secure/mpu_wrappers_v2_asm.S"/>
1267           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1268           <file category="include"   condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/"/>
1269           <file category="source"    condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
1270           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
1271           <file category="sourceAsm" condition="CM33_IAR"    name="Source/portable/IAR/ARM_CM33/non_secure/mpu_wrappers_v2_asm.S"/>
1272           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
1273           <file category="include"   condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/"/>
1274           <file category="source"    condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/port.c"/>
1275           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/portasm.s"/>
1276           <file category="sourceAsm" condition="CM35P_IAR"   name="Source/portable/IAR/ARM_CM35P/non_secure/mpu_wrappers_v2_asm.S"/>
1277           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
1278           <file category="include"   condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/"/>
1279           <file category="source"    condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/port.c"/>
1280           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/portasm.s"/>
1281           <file category="sourceAsm" condition="CM55_IAR"    name="Source/portable/IAR/ARM_CM55/non_secure/mpu_wrappers_v2_asm.S"/>
1282           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
1283           <file category="include"   condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/"/>
1284           <file category="source"    condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/port.c"/>
1285           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/portasm.s"/>
1286           <file category="sourceAsm" condition="CM85_IAR"    name="Source/portable/IAR/ARM_CM85/non_secure/mpu_wrappers_v2_asm.S"/>
1287
1288           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1289           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1290           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1291         </files>
1292       </component>
1293
1294       <component Cgroup="Core" Cvariant="Cortex-A" isDefaultVariant="true" condition="FreeRTOS Core CA">
1295         <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-A</description>
1296         <RTE_Components_h>
1297           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
1298         </RTE_Components_h>
1299         <files>
1300           <file category="include" name="Source/include/"/>
1301
1302           <file category="header"  name="Source/include/FreeRTOS.h"/>
1303           <file category="header"  name="Source/include/queue.h"/>
1304           <file category="header"  name="Source/include/semphr.h"/>
1305           <file category="header"  name="Source/include/task.h"/>
1306
1307           <file category="source"  name="Source/list.c"/>
1308           <file category="source"  name="Source/queue.c"/>
1309           <file category="source"  name="Source/tasks.c"/>
1310
1311           <file category="include"   condition="CA9_DP_AC6_GCC" name="Source/portable/GCC/ARM_CA9/"/>
1312           <file category="source"    condition="CA9_DP_AC6_GCC" name="Source/portable/GCC/ARM_CA9/port.c"/>
1313           <file category="sourceAsm" condition="CA9_DP_AC6_GCC" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1314
1315           <file category="include"   condition="CA9_DP_IAR"     name="Source/portable/IAR/ARM_CA9/"/>
1316           <file category="source"    condition="CA9_DP_IAR"     name="Source/portable/IAR/ARM_CA9/port.c"/>
1317           <file category="sourceAsm" condition="CA9_DP_IAR"     name="Source/portable/IAR/ARM_CA9/portASM.s"/>
1318
1319           <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1320           <file category="source"  name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1321           <file category="other"   name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1322         </files>
1323       </component>
1324
1325       <component Cgroup="Config" Cvariant="CMSIS RTOS2" condition="FreeRTOS Config CMSIS RTOS2">
1326         <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
1327         <RTE_Components_h>
1328           #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2  /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
1329         </RTE_Components_h>
1330         <files>
1331           <file category="doc"    name="Documentation/html/page_create_project.html#configure_cmsis_freertos"/>
1332           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/FreeRTOSConfig.h" version="10.7.0"/>
1333         </files>
1334       </component>
1335
1336       <component Cgroup="Config" Cvariant="FreeRTOS" condition="FreeRTOS Config Native">
1337         <description>FreeRTOS API configuration file</description>
1338         <RTE_Components_h>
1339           #define RTE_RTOS_FreeRTOS_CONFIG        /* RTOS FreeRTOS Config for FreeRTOS API */
1340         </RTE_Components_h>
1341         <files>
1342           <file category="doc"    name="Documentation/html/page_create_project.html#configure_native_freertos"/>
1343           <file category="header" attr="config" name="Source/examples/template_configuration/FreeRTOSConfig.h" version="11.2.0"/>
1344         </files>
1345       </component>
1346
1347       <component Cgroup="Coroutines" condition="FreeRTOS Coroutines">
1348         <description>Co-routine API</description>
1349         <RTE_Components_h>
1350           #define RTE_RTOS_FreeRTOS_COROUTINE     /* RTOS FreeRTOS Co-routines */
1351         </RTE_Components_h>
1352         <files>
1353           <file category="header" name="Source/include/croutine.h"/>
1354           <file category="source" name="Source/croutine.c"/>
1355         </files>
1356       </component>
1357
1358       <component Cgroup="Event Groups" condition="FreeRTOS Event Groups">
1359         <description>Event Group API</description>
1360         <RTE_Components_h>
1361           #define RTE_RTOS_FreeRTOS_EVENTGROUPS   /* RTOS FreeRTOS Event Groups */
1362         </RTE_Components_h>
1363         <files>
1364           <file category="header" name="Source/include/event_groups.h"/>
1365           <file category="source" name="Source/event_groups.c"/>
1366         </files>
1367       </component>
1368
1369       <component Cgroup="Heap" Cvariant="Heap_1" condition="FreeRTOS Heap">
1370         <description>Very simple, does not permit memory to be freed.</description>
1371         <RTE_Components_h>
1372           #define RTE_RTOS_FreeRTOS_HEAP_1        /* RTOS FreeRTOS Heap 1 */
1373         </RTE_Components_h>
1374         <files>
1375           <file category="source" name="Source/portable/MemMang/heap_1.c"/>
1376           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1377         </files>
1378       </component>
1379
1380       <component Cgroup="Heap" Cvariant="Heap_2" condition="FreeRTOS Heap">
1381         <description>Permits memory to be freed, but not does coalescence adjacent free memory blocks.</description>
1382         <RTE_Components_h>
1383           #define RTE_RTOS_FreeRTOS_HEAP_2        /* RTOS FreeRTOS Heap 2 */
1384         </RTE_Components_h>
1385         <files>
1386           <file category="source" name="Source/portable/MemMang/heap_2.c"/>
1387           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1388         </files>
1389       </component>
1390
1391       <component Cgroup="Heap" Cvariant="Heap_3" condition="FreeRTOS Heap">
1392         <description>Wraps the standard malloc() and free() for thread safety.</description>
1393         <RTE_Components_h>
1394           #define RTE_RTOS_FreeRTOS_HEAP_3        /* RTOS FreeRTOS Heap 3 */
1395         </RTE_Components_h>
1396         <files>
1397           <file category="source" name="Source/portable/MemMang/heap_3.c"/>
1398           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1399         </files>
1400       </component>
1401
1402       <component Cgroup="Heap" Cvariant="Heap_4" condition="FreeRTOS Heap" isDefaultVariant="true">
1403         <description>Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.</description>
1404         <RTE_Components_h>
1405           #define RTE_RTOS_FreeRTOS_HEAP_4        /* RTOS FreeRTOS Heap 4 */
1406         </RTE_Components_h>
1407         <files>
1408           <file category="source" name="Source/portable/MemMang/heap_4.c"/>
1409           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1410         </files>
1411       </component>
1412
1413       <component Cgroup="Heap" Cvariant="Heap_5" condition="FreeRTOS Heap">
1414         <description>Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.</description>
1415         <RTE_Components_h>
1416           #define RTE_RTOS_FreeRTOS_HEAP_5        /* RTOS FreeRTOS Heap 5 */
1417         </RTE_Components_h>
1418         <files>
1419           <file category="source" name="Source/portable/MemMang/heap_5.c"/>
1420           <file category="doc"    name="https://www.freertos.org/Documentation/02-Kernel/02-Kernel-features/09-Memory-management/01-Memory-management"/>
1421         </files>
1422       </component>
1423
1424       <component Cgroup="Message Buffer" condition="FreeRTOS Message Buffer">
1425         <description>Message Buffer API</description>
1426         <RTE_Components_h>
1427           #define RTE_RTOS_FreeRTOS_MESSAGE_BUFFER /* RTOS FreeRTOS Message Buffers */
1428         </RTE_Components_h>
1429         <files>
1430           <file category="header" name="Source/include/message_buffer.h"/>
1431           <file category="source" name="Source/stream_buffer.c"/>
1432         </files>
1433       </component>
1434
1435       <component Cgroup="Stream Buffer" condition="FreeRTOS Stream Buffer">
1436         <description>Stream Buffer API</description>
1437         <RTE_Components_h>
1438           #define RTE_RTOS_FreeRTOS_STREAM_BUFFER /* RTOS FreeRTOS Stream Buffers */
1439         </RTE_Components_h>
1440         <files>
1441           <file category="header" name="Source/include/stream_buffer.h"/>
1442           <file category="source" name="Source/stream_buffer.c"/>
1443         </files>
1444       </component>
1445
1446       <component Cgroup="Timers" condition="FreeRTOS Timers">
1447         <description>Timer API</description>
1448         <RTE_Components_h>
1449           #define RTE_RTOS_FreeRTOS_TIMERS        /* RTOS FreeRTOS Timers */
1450         </RTE_Components_h>
1451         <files>
1452           <file category="header" name="Source/include/timers.h"/>
1453           <file category="source" name="Source/timers.c"/>
1454         </files>
1455       </component>
1456
1457       <component Cgroup="TrustZone" condition="FreeRTOS TrustZone">
1458         <description>TrustZone Secure Context API</description>
1459         <RTE_Components_h>
1460           #define RTE_RTOS_FreeRTOS_TZ
1461         </RTE_Components_h>
1462         <files>
1463           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/TrustZone/FreeRTOSConfig.h" version="10.2.0"/>
1464
1465           <file category="header"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1466           <file category="include"   condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/"/>
1467           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1468           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1469           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1470           <file category="source"    condition="CM23_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1471           <file category="header"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1472           <file category="include"   condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/"/>
1473           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1474           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1475           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1476           <file category="source"    condition="CM33_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1477           <file category="header"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_port_macros.h"/>
1478           <file category="include"   condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/"/>
1479           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_context.c"/>
1480           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_context_port.c"/>
1481           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_heap.c"/>
1482           <file category="source"    condition="CM35P_TZ_AC6_GCC" name="Source/portable/GCC/ARM_CM35P/secure/secure_init.c"/>
1483           <file category="header"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_port_macros.h"/>
1484           <file category="include"   condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/"/>
1485           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_context.c"/>
1486           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_context_port.c"/>
1487           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_heap.c"/>
1488           <file category="source"    condition="CM55_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM55/secure/secure_init.c"/>
1489           <file category="header"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_port_macros.h"/>
1490           <file category="include"   condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/"/>
1491           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_context.c"/>
1492           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_context_port.c"/>
1493           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_heap.c"/>
1494           <file category="source"    condition="CM85_TZ_AC6_GCC"  name="Source/portable/GCC/ARM_CM85/secure/secure_init.c"/>
1495
1496           <file category="header"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_port_macros.h"/>
1497           <file category="include"   condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/"/>
1498           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_context.c"/>
1499           <file category="sourceAsm" condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s"/>
1500           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_heap.c"/>
1501           <file category="source"    condition="CM23_TZ_IAR"    name="Source/portable/IAR/ARM_CM23/secure/secure_init.c"/>
1502           <file category="header"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_port_macros.h"/>
1503           <file category="include"   condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/"/>
1504           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context.c"/>
1505           <file category="sourceAsm" condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s"/>
1506           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_heap.c"/>
1507           <file category="source"    condition="CM33_TZ_IAR"    name="Source/portable/IAR/ARM_CM33/secure/secure_init.c"/>
1508           <file category="header"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_port_macros.h"/>
1509           <file category="include"   condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/"/>
1510           <file category="source"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_context.c"/>
1511           <file category="sourceAsm" condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_context_port_asm.s"/>
1512           <file category="source"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_heap.c"/>
1513           <file category="source"    condition="CM35P_TZ_IAR"   name="Source/portable/IAR/ARM_CM35P/secure/secure_init.c"/>
1514           <file category="header"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_port_macros.h"/>
1515           <file category="include"   condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/"/>
1516           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_context.c"/>
1517           <file category="sourceAsm" condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_context_port_asm.s"/>
1518           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_heap.c"/>
1519           <file category="source"    condition="CM55_TZ_IAR"    name="Source/portable/IAR/ARM_CM55/secure/secure_init.c"/>
1520           <file category="header"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_port_macros.h"/>
1521           <file category="include"   condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/"/>
1522           <file category="source"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_context.c"/>
1523           <file category="sourceAsm" condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_context_port_asm.s"/>
1524           <file category="source"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_heap.c"/>
1525           <file category="source"    condition="CM85_TZ_IAR"    name="Source/portable/IAR/ARM_CM85/secure/secure_init.c"/>
1526         </files>
1527       </component>
1528     </bundle>
1529   </components>
1530
1531   <examples>
1532     <example name="Hello World" folder="CMSIS/RTOS2/FreeRTOS/Examples" doc="./App/Hello/README.md">
1533       <description>Hello World example using FreeRTOS and CMSIS-RTOS2 for Arm Virtual Hardware</description>
1534       <board name="uVision Simulator" vendor="Keil"/>
1535       <project>
1536         <environment name="csolution" load="Examples.csolution.yml"/>
1537       </project>
1538       <attributes>
1539         <component Cclass="CMSIS" Cgroup="CORE"/>
1540         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1541         <category>Getting Started</category>
1542       </attributes>
1543     </example>
1544
1545     <example name="TrustZone for ARMv8-M" folder="CMSIS/RTOS2/FreeRTOS/Examples" doc="./App/TrustZone/README.md">
1546       <description>CMSIS-RTOS2 example with secure/non-secure thread context management using FreeRTOS for Arm Virtual Hardware</description>
1547       <board name="uVision Simulator" vendor="Keil"/>
1548       <project>
1549         <environment name="csolution" load="Examples.csolution.yml"/>
1550       </project>
1551       <attributes>
1552         <component Cclass="CMSIS" Cgroup="CORE"/>
1553         <component Cclass="CMSIS" Cgroup="RTOS2"/>
1554         <category>Getting Started</category>
1555       </attributes>
1556     </example>
1557
1558   </examples>
1559 </package>