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