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