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