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