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