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