1 <?xml version="1.0" encoding="utf-8"?>
3 <package schemaVersion="1.4" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
5 <name>CMSIS-FreeRTOS</name>
6 <description>Bundle of FreeRTOS for Cortex-M and Cortex-A</description>
7 <url>http://www.keil.com/pack/</url>
8 <license>License/license.txt</license>
11 <release version="10.2.1-dev1">
12 - Updated to FreeRTOS 10.2.1
14 <release version="10.2.1-dev0">
15 - Corrected osThreadGetStackSpace return value (bytes instead of words)
17 <release version="10.2.0" date="2019-04-12">
19 Maintenance for CMSIS 5.4.0:
20 - Updated to CMSIS RTOS2 API 2.1.3
21 - Updated Arm standard C library interface
22 - Added configuration for the Event Recorder
23 - Added TrustZone example for Armv8M using RTOS2 API
24 - Enhanced FreeRTOS component viewer
25 - Corrected osDelayUntil execution duration
26 - Corrected SysTick_Handler execution when kernel is not started
27 - Corrected critical section for osKernelGetSysTimerCount
29 <release version="10.0.1" date="2018-02-20">
31 Maintenance for CMSIS 5.3.0:
32 - Added queue registry support to CMSIS:RTOS2:FreeRTOS component.
33 - Updated CMSIS-FreeRTOS component view to display queue, mutex and semaphore objects.
34 - Updated to CMSIS RTOS2 API 2.1.2 and OS Tick API 1.0.1.
35 - Fixed context switch response latency for API calls from ISR.
37 <release version="9.1.0" date="2017-08-11">
39 Maintenance release for CMSIS 5.1.0:
40 - Added support for ARM Compiler 6
41 - Updated Cortex-A example to use IRQ Controller component
42 - Corrected stack size allocation in RTOS2 osThreadNew function
43 - Added support for OS Tick component
44 - Added documentation for configuration options (native/CMSIS-RTOS2)
45 - Debug event TaskIncrementTick level set to Detail
47 <release version="9.0.0" date="2017-03-13">
48 Initial release version:
49 - native FreeRTOS component (RTOS: Variant=FreeRTOS)
50 - CMSIS-RTOS FreeRTOS for Cortex-M and Cortex-A9 (CMSIS:RTOS:FreeRTOS, CMSIS:RTOS2:FreeRTOS)
56 <package vendor="ARM" name="CMSIS" version="5.4.0-0"/>
61 <condition id="ARMCC6">
62 <accept Tcompiler="ARMCC" Toptions="AC6"/>
63 <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
65 <condition id="ARMCC">
66 <require Tcompiler="ARMCC" Toptions="AC5"/>
69 <require Tcompiler="GCC"/>
72 <require Tcompiler="IAR"/>
75 <condition id="ARMCC GCC">
76 <accept condition="ARMCC"/>
77 <accept condition="GCC"/>
79 <condition id="ARMCC6 GCC">
80 <accept condition="ARMCC6"/>
81 <accept condition="GCC"/>
83 <condition id="ARMCC GCC IAR">
84 <accept condition="ARMCC"/>
85 <accept condition="GCC"/>
86 <accept condition="IAR"/>
88 <condition id="ARMCC6 GCC IAR">
89 <accept condition="ARMCC6"/>
90 <accept condition="GCC"/>
91 <accept condition="IAR"/>
93 <condition id="ARMCC ARMCC6 GCC IAR">
94 <accept condition="ARMCC"/>
95 <accept condition="ARMCC6"/>
96 <accept condition="GCC"/>
97 <accept condition="IAR"/>
101 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device</description>
102 <accept Dcore="Cortex-M0"/>
103 <accept Dcore="Cortex-M0+"/>
104 <accept Dcore="SC000"/>
108 <description>Cortex-M3 or SC300 processor based device</description>
109 <accept Dcore="Cortex-M3"/>
110 <accept Dcore="SC300"/>
114 <description>Cortex-M4 processor based device</description>
115 <require Dcore="Cortex-M4" Dfpu="NO_FPU"/>
118 <condition id="CM4_FP">
119 <description>Cortex-M4 processor based device using Floating Point Unit</description>
120 <require Dcore="Cortex-M4" Dfpu="FPU"/>
124 <description>Cortex-M7 processor based device</description>
125 <require Dcore="Cortex-M7" Dfpu="NO_FPU"/>
128 <condition id="CM7_FP">
129 <description>Cortex-M7 processor based device using Floating Point Unit</description>
130 <accept Dcore="Cortex-M7" Dfpu="SP_FPU"/>
131 <accept Dcore="Cortex-M7" Dfpu="DP_FPU"/>
134 <condition id="CM7_SP">
135 <description>Cortex-M7 processor based device using Floating Point Unit (SP)</description>
136 <require Dcore="Cortex-M7" Dfpu="SP_FPU"/>
139 <condition id="CM7_DP">
140 <description>Cortex-M7 processor based device using Floating Point Unit (DP)</description>
141 <require Dcore="Cortex-M7" Dfpu="DP_FPU"/>
144 <condition id="CM23">
145 <description>Cortex-M23 processor based device</description>
146 <require Dcore="Cortex-M23"/>
149 <condition id="CM23_NoTZ">
150 <description>Cortex-M23 processor based device without TrustZone</description>
151 <require condition="CM23"/>
152 <require Dtz="NO_TZ"/>
155 <condition id="CM23_TZ">
156 <description>Cortex-M23 processor based device with TrustZone</description>
157 <require condition="CM23"/>
161 <condition id="CM33">
162 <description>Cortex-M33 processor based device</description>
163 <accept Dcore="Cortex-M33"/>
166 <condition id="CM33_NoTZ">
167 <description>Cortex-M33 processor based device without TrustZone</description>
168 <require condition="CM33"/>
169 <require Dtz="NO_TZ"/>
172 <condition id="CM33_TZ">
173 <description>Cortex-M33 processor based device with TrustZone</description>
174 <require condition="CM33"/>
178 <condition id="CA9_DP">
179 <description>Cortex-A9 processor based device using Floating Point Unit (DP)</description>
180 <require Dcore="Cortex-A9" Dfpu="DP_FPU"/>
183 <condition id="CoreM">
184 <description>Cortex-M processor based device</description>
185 <accept condition="CM0"/>
186 <accept condition="CM3"/>
187 <accept condition="CM4"/>
188 <accept condition="CM4_FP"/>
189 <accept condition="CM7"/>
190 <accept condition="CM7_FP"/>
191 <accept condition="CM23"/>
192 <accept condition="CM33"/>
195 <condition id="CoreM_v6_v7">
196 <description>Cortex-M v6 and v7 processor based device</description>
197 <accept condition="CM0"/>
198 <accept condition="CM3"/>
199 <accept condition="CM4"/>
200 <accept condition="CM4_FP"/>
201 <accept condition="CM7"/>
202 <accept condition="CM7_FP"/>
205 <condition id="CoreM_v8">
206 <description>Cortex-M v8 processor based device</description>
207 <accept condition="CM23"/>
208 <accept condition="CM23_NoTZ"/>
209 <accept condition="CM23_TZ"/>
210 <accept condition="CM33"/>
211 <accept condition="CM33_NoTZ"/>
212 <accept condition="CM33_TZ"/>
215 <condition id="CoreA">
216 <description>Cortex-A processor based device</description>
217 <accept condition="CA9_DP"/>
220 <!-- ARMCC compiler -->
221 <condition id="CM0_ARMCC">
222 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 5</description>
223 <require condition="CM0"/>
224 <require condition="ARMCC"/>
227 <condition id="CM3_ARMCC">
228 <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 5</description>
229 <require condition="CM3"/>
230 <require condition="ARMCC"/>
233 <condition id="CM4_ARMCC">
234 <description>Cortex-M4 processor based device for the ARM Compiler 5</description>
235 <require condition="CM4"/>
236 <require condition="ARMCC"/>
238 <condition id="CM4_FP_ARMCC">
239 <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 5</description>
240 <require condition="CM4_FP"/>
241 <require condition="ARMCC"/>
244 <condition id="CM7_ARMCC">
245 <description>Cortex-M7 processor based device for the ARM Compiler 5</description>
246 <require condition="CM7"/>
247 <require condition="ARMCC"/>
249 <condition id="CM7_SP_ARMCC">
250 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 5</description>
251 <require condition="CM7_SP"/>
252 <require condition="ARMCC"/>
254 <condition id="CM7_DP_ARMCC">
255 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 5</description>
256 <require condition="CM7_DP"/>
257 <require condition="ARMCC"/>
260 <condition id="CA9_DP_ARMCC">
261 <description>Cortex-A9 processor based device for the ARM Compiler 5</description>
262 <require condition="CA9_DP"/>
263 <require condition="ARMCC"/>
266 <!-- ARMCC6 compiler -->
267 <condition id="CM0_ARMCC6">
268 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 6</description>
269 <require condition="CM0"/>
270 <require condition="ARMCC6"/>
273 <condition id="CM3_ARMCC6">
274 <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 6</description>
275 <require condition="CM3"/>
276 <require condition="ARMCC6"/>
279 <condition id="CM4_ARMCC6">
280 <description>Cortex-M4 processor based device for the ARM Compiler 6</description>
281 <require condition="CM4"/>
282 <require condition="ARMCC6"/>
284 <condition id="CM4_FP_ARMCC6">
285 <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 6</description>
286 <require condition="CM4_FP"/>
287 <require condition="ARMCC6"/>
290 <condition id="CM7_ARMCC6">
291 <description>Cortex-M7 processor based device for the ARM Compiler 6</description>
292 <require condition="CM7"/>
293 <require condition="ARMCC6"/>
295 <condition id="CM7_SP_ARMCC6">
296 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 6</description>
297 <require condition="CM7_SP"/>
298 <require condition="ARMCC6"/>
300 <condition id="CM7_DP_ARMCC6">
301 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 6</description>
302 <require condition="CM7_DP"/>
303 <require condition="ARMCC6"/>
306 <condition id="CM23_ARMCC6">
307 <description>Cortex-M23 processor based device for the ARM Compiler 6</description>
308 <require condition="CM23"/>
309 <require condition="ARMCC6"/>
311 <condition id="CM23_NoTZ_ARMCC6">
312 <description>Cortex-M23 processor based device without TrustZone for the ARM Compiler 6</description>
313 <require condition="CM23_NoTZ"/>
314 <require condition="ARMCC6"/>
316 <condition id="CM23_TZ_ARMCC6">
317 <description>Cortex-M23 processor based device with TrustZone for the ARM Compiler 6</description>
318 <require condition="CM23_TZ"/>
319 <require condition="ARMCC6"/>
322 <condition id="CM33_ARMCC6">
323 <description>Cortex-M33 processor based device for the ARM Compiler 6</description>
324 <require condition="CM33"/>
325 <require condition="ARMCC6"/>
327 <condition id="CM33_NoTZ_ARMCC6">
328 <description>Cortex-M33 processor based device without TrustZone for the ARM Compiler 6</description>
329 <require condition="CM33_NoTZ"/>
330 <require condition="ARMCC6"/>
332 <condition id="CM33_TZ_ARMCC6">
333 <description>Cortex-M33 processor based device with TrustZone for the ARM Compiler 6</description>
334 <require condition="CM33_TZ"/>
335 <require condition="ARMCC6"/>
338 <condition id="CA9_DP_ARMCC6">
339 <description>Cortex-A9 processor based device for the ARM Compiler 6</description>
340 <require condition="CA9_DP"/>
341 <require condition="ARMCC6"/>
344 <!-- GCC compiler -->
345 <condition id="CM0_GCC">
346 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the GCC Compiler</description>
347 <require condition="CM0"/>
348 <require condition="GCC"/>
351 <condition id="CM3_GCC">
352 <description>Cortex-M3 or SC300 processor based device for the GCC Compiler</description>
353 <require condition="CM3"/>
354 <require condition="GCC"/>
357 <condition id="CM4_GCC">
358 <description>Cortex-M4 processor based device for the GCC Compiler</description>
359 <require condition="CM4"/>
360 <require condition="GCC"/>
362 <condition id="CM4_FP_GCC">
363 <description>Cortex-M4 processor based device using Floating Point Unit for the GCC Compiler</description>
364 <require condition="CM4_FP"/>
365 <require condition="GCC"/>
368 <condition id="CM7_GCC">
369 <description>Cortex-M7 processor based device for the GCC Compiler</description>
370 <require condition="CM7"/>
371 <require condition="GCC"/>
373 <condition id="CM7_SP_GCC">
374 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the GCC Compiler</description>
375 <require condition="CM7_SP"/>
376 <require condition="GCC"/>
378 <condition id="CM7_DP_GCC">
379 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the GCC Compiler</description>
380 <require condition="CM7_DP"/>
381 <require condition="GCC"/>
384 <condition id="CM23_GCC">
385 <description>Cortex-M23 processor based device for the GCC Compiler</description>
386 <require condition="CM23"/>
387 <require condition="GCC"/>
389 <condition id="CM23_NoTZ_GCC">
390 <description>Cortex-M23 processor based device without TrustZone for the GCC Compiler</description>
391 <require condition="CM23_NoTZ"/>
392 <require condition="GCC"/>
394 <condition id="CM23_TZ_GCC">
395 <description>Cortex-M23 processor based device with TrustZone for the GCC Compiler</description>
396 <require condition="CM23_TZ"/>
397 <require condition="GCC"/>
400 <condition id="CM33_GCC">
401 <description>Cortex-M33 processor based device for the GCC Compiler</description>
402 <require condition="CM33"/>
403 <require condition="GCC"/>
405 <condition id="CM33_NoTZ_GCC">
406 <description>Cortex-M33 processor based device without TrustZone for the GCC Compiler</description>
407 <require condition="CM33_NoTZ"/>
408 <require condition="GCC"/>
410 <condition id="CM33_TZ_GCC">
411 <description>Cortex-M33 processor based device with TrustZone for the GCC Compiler</description>
412 <require condition="CM33_TZ"/>
413 <require condition="GCC"/>
416 <condition id="CA9_DP_GCC">
417 <description>Cortex-A9 processor based device for the GCC Compiler</description>
418 <require condition="CA9_DP"/>
419 <require condition="GCC"/>
422 <!-- IAR compiler -->
423 <condition id="CM0_IAR">
424 <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the IAR Compiler</description>
425 <require condition="CM0"/>
426 <require condition="IAR"/>
429 <condition id="CM3_IAR">
430 <description>Cortex-M3 or SC300 processor based device for the IAR Compiler</description>
431 <require condition="CM3"/>
432 <require condition="IAR"/>
435 <condition id="CM4_IAR">
436 <description>Cortex-M4 processor based device for the IAR Compiler</description>
437 <require condition="CM4"/>
438 <require condition="IAR"/>
440 <condition id="CM4_FP_IAR">
441 <description>Cortex-M4 processor based device using Floating Point Unit for the IAR Compiler</description>
442 <require condition="CM4_FP"/>
443 <require condition="IAR"/>
446 <condition id="CM7_IAR">
447 <description>Cortex-M7 processor based device for the IAR Compiler</description>
448 <require condition="CM7"/>
449 <require condition="IAR"/>
451 <condition id="CM7_SP_IAR">
452 <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the IAR Compiler</description>
453 <require condition="CM7_SP"/>
454 <require condition="IAR"/>
456 <condition id="CM7_DP_IAR">
457 <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the IAR Compiler</description>
458 <require condition="CM7_DP"/>
459 <require condition="IAR"/>
462 <condition id="CM23_IAR">
463 <description>Cortex-M23 processor based device for the IAR Compiler</description>
464 <require condition="CM23"/>
465 <require condition="IAR"/>
467 <condition id="CM23_NoTZ_IAR">
468 <description>Cortex-M23 processor based device without TrustZone for the IAR Compiler</description>
469 <require condition="CM23_NoTZ"/>
470 <require condition="IAR"/>
472 <condition id="CM23_TZ_IAR">
473 <description>Cortex-M23 processor based device with TrustZone for the IAR Compiler</description>
474 <require condition="CM23_TZ"/>
475 <require condition="IAR"/>
478 <condition id="CM33_IAR">
479 <description>Cortex-M33 processor based device for the IAR Compiler</description>
480 <require condition="CM33"/>
481 <require condition="IAR"/>
483 <condition id="CM33_NoTZ_IAR">
484 <description>Cortex-M33 processor based device without TrustZone for the IAR Compiler</description>
485 <require condition="CM33_NoTZ"/>
486 <require condition="IAR"/>
488 <condition id="CM33_TZ_IAR">
489 <description>Cortex-M33 processor based device with TrustZone for the IAR Compiler</description>
490 <require condition="CM33_TZ"/>
491 <require condition="IAR"/>
494 <condition id="CA9_DP_IAR">
495 <description>Cortex-A9 processor based device for the IAR Compiler</description>
496 <require condition="CA9_DP"/>
497 <require condition="IAR"/>
500 <condition id="CMSIS RTOS2 FreeRTOS">
501 <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
504 <condition id="FreeRTOS Port Cortex-A">
505 <require condition="ARMCC ARMCC6 GCC IAR"/>
506 <require condition="CoreA"/>
508 <condition id="FreeRTOS Port Cortex-M">
509 <require condition="ARMCC ARMCC6 GCC IAR"/>
510 <require condition="CoreM_v6_v7"/>
512 <condition id="FreeRTOS Port Cortex-M v8">
513 <require condition="ARMCC6 GCC IAR"/>
514 <require condition="CoreM_v8"/>
518 <condition id="FreeRTOS">
519 <!-- All existing FreeRTOS ports for Cortex combined -->
520 <accept condition="FreeRTOS Port Cortex-A"/>
521 <accept condition="FreeRTOS Port Cortex-M"/>
522 <accept condition="FreeRTOS Port Cortex-M v8"/>
525 <condition id="FreeRTOS CM">
526 <accept condition="FreeRTOS Port Cortex-M"/>
527 <accept condition="FreeRTOS Port Cortex-M v8"/>
529 <require Cclass="Device" Cgroup="Startup"/>
530 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
531 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
534 <condition id="FreeRTOS MPU CM3 CM4">
535 <require condition="ARMCC6 GCC"/>
536 <accept condition="CM3"/>
537 <accept condition="CM4"/>
539 <require Cclass="Device" Cgroup="Startup"/>
540 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
541 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
542 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
543 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
544 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
545 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
548 <condition id="FreeRTOS MPU CM4_FP">
549 <require condition="ARMCC ARMCC6 GCC IAR"/>
550 <require condition="CM4_FP"/>
552 <require Cclass="Device" Cgroup="Startup"/>
553 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
554 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
555 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
556 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
557 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
558 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
561 <condition id="FreeRTOS TZ">
562 <require condition="ARMCC6 GCC IAR"/>
563 <accept condition="CM23_TZ"/>
564 <accept condition="CM33_TZ"/>
566 <require Cclass="Device" Cgroup="Startup"/>
567 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
568 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
571 <condition id="FreeRTOS TZ MPU">
572 <require condition="ARMCC6 GCC IAR"/>
573 <accept condition="CM23_TZ"/>
574 <accept condition="CM33_TZ"/>
576 <require Cclass="Device" Cgroup="Startup"/>
577 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
578 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
579 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
580 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
581 <accept Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
582 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
585 <condition id="FreeRTOS CA">
586 <require condition="ARMCC ARMCC6 GCC IAR"/>
587 <require condition="CoreA"/>
589 <require Cclass="Device" Cgroup="Startup"/>
590 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
591 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
594 <condition id="FreeRTOS Core">
595 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
598 <condition id="FreeRTOS TrustZone">
599 <accept condition="CM23_TZ"/>
600 <accept condition="CM33_TZ"/>
601 <!-- TrustZone Secure Context is a standalone component -->
602 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
603 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
604 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Coroutines"/>
605 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
606 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
607 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Message Buffer"/>
608 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Stream Buffer"/>
609 <deny Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
612 <condition id="FreeRTOS RTOS2 Core">
613 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
614 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
615 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
616 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
619 <condition id="FreeRTOS RTOS2 CortexM">
620 <require condition="CoreM"/>
621 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
622 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
623 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
624 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
627 <condition id="FreeRTOS RTOS2 CortexA">
628 <require condition="CoreA"/>
629 <require Cclass="Device" Cgroup="IRQ Controller"/>
630 <require Cclass="Device" Cgroup="OS Tick"/>
631 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
632 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
633 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
634 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
640 <!-- CMSIS-RTOS FreeRTOS component -->
641 <component Cclass="CMSIS" Cgroup="RTOS" Csub="FreeRTOS" Cversion="10.2.1" Capiversion="1.0.0" condition="FreeRTOS RTOS2 Core">
642 <description>CMSIS-RTOS implementation for Cortex-M based on FreeRTOS</description>
644 #define RTE_CMSIS_RTOS /* CMSIS-RTOS */
645 #define RTE_CMSIS_RTOS_FreeRTOS /* CMSIS-RTOS FreeRTOS */
648 <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include1/cmsis_os.h"/>
649 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os1.c"/>
653 <!-- CMSIS-RTOS2 FreeRTOS component -->
654 <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="10.2.1" Capiversion="2.1.3" condition="FreeRTOS RTOS2 CortexM">
655 <description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
657 #define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
658 #define RTE_CMSIS_RTOS2_FreeRTOS /* CMSIS-RTOS2 FreeRTOS */
661 <file category="doc" name="CMSIS/Documentation/General/html/index.html"/>
662 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
663 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
664 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
666 <!-- OS Tick (SysTick) -->
667 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/os_systick.c"/>
671 <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="10.2.1" Capiversion="2.1.3" condition="FreeRTOS RTOS2 CortexA">
672 <description>CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS</description>
674 #define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
675 #define RTE_CMSIS_RTOS2_FreeRTOS /* CMSIS-RTOS2 FreeRTOS */
678 <file category="doc" name="CMSIS/Documentation/General/html/index.html"/>
679 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
680 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
681 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
683 <file category="source" attr="config" name="CMSIS/RTOS2/FreeRTOS/Source/handlers.c" version="9.1.0"/>
687 <bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="10.2.1">
688 <description>FreeRTOS Real Time Kernel</description>
689 <doc>https://www.freertos.org/Documentation/FreeRTOS_Reference_Manual_V10.0.0.pdf</doc>
691 <component Cgroup="Core" Cvariant="Cortex-M" isDefaultVariant="true" condition="FreeRTOS CM">
692 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M</description>
694 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
697 <file category="include" name="Source/include/"/>
699 <file category="header" name="Source/include/FreeRTOS.h"/>
700 <file category="header" name="Source/include/queue.h"/>
701 <file category="header" name="Source/include/semphr.h"/>
702 <file category="header" name="Source/include/task.h"/>
704 <file category="source" name="Source/list.c"/>
705 <file category="source" name="Source/queue.c"/>
706 <file category="source" name="Source/tasks.c"/>
708 <file category="include" condition="CM0_ARMCC" name="Source/portable/RVDS/ARM_CM0/"/>
709 <file category="source" condition="CM0_ARMCC" name="Source/portable/RVDS/ARM_CM0/port.c"/>
710 <file category="include" condition="CM3_ARMCC" name="Source/portable/RVDS/ARM_CM3/"/>
711 <file category="source" condition="CM3_ARMCC" name="Source/portable/RVDS/ARM_CM3/port.c"/>
712 <file category="include" condition="CM4_ARMCC" name="Source/portable/RVDS/ARM_CM3/"/>
713 <file category="source" condition="CM4_ARMCC" name="Source/portable/RVDS/ARM_CM3/port.c"/>
714 <file category="include" condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/"/>
715 <file category="source" condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/port.c"/>
716 <file category="include" condition="CM7_ARMCC" name="Source/portable/RVDS/ARM_CM3/"/>
717 <file category="source" condition="CM7_ARMCC" name="Source/portable/RVDS/ARM_CM3/port.c"/>
718 <file category="include" condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
719 <file category="source" condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
720 <file category="include" condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
721 <file category="source" condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
723 <file category="include" condition="CM0_ARMCC6" name="Source/portable/GCC/ARM_CM0/"/>
724 <file category="source" condition="CM0_ARMCC6" name="Source/portable/GCC/ARM_CM0/port.c"/>
725 <file category="include" condition="CM3_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
726 <file category="source" condition="CM3_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
727 <file category="include" condition="CM4_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
728 <file category="source" condition="CM4_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
729 <file category="include" condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/"/>
730 <file category="source" condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/port.c"/>
731 <file category="include" condition="CM7_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
732 <file category="source" condition="CM7_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
733 <file category="include" condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
734 <file category="source" condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
735 <file category="include" condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
736 <file category="source" condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
737 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
738 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
739 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
740 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
741 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
742 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
744 <file category="include" condition="CM0_GCC" name="Source/portable/GCC/ARM_CM0/"/>
745 <file category="source" condition="CM0_GCC" name="Source/portable/GCC/ARM_CM0/port.c"/>
746 <file category="include" condition="CM3_GCC" name="Source/portable/GCC/ARM_CM3/"/>
747 <file category="source" condition="CM3_GCC" name="Source/portable/GCC/ARM_CM3/port.c"/>
748 <file category="include" condition="CM4_GCC" name="Source/portable/GCC/ARM_CM3/"/>
749 <file category="source" condition="CM4_GCC" name="Source/portable/GCC/ARM_CM3/port.c"/>
750 <file category="include" condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/"/>
751 <file category="source" condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/port.c"/>
752 <file category="include" condition="CM7_GCC" name="Source/portable/GCC/ARM_CM3/"/>
753 <file category="source" condition="CM7_GCC" name="Source/portable/GCC/ARM_CM3/port.c"/>
754 <file category="include" condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
755 <file category="source" condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
756 <file category="include" condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
757 <file category="source" condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
758 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/"/>
759 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/port.c"/>
760 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23_NTZ/non_secure/portasm.c"/>
761 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/"/>
762 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/port.c"/>
763 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33_NTZ/non_secure/portasm.c"/>
765 <file category="include" condition="CM0_IAR" name="Source/portable/IAR/ARM_CM0/"/>
766 <file category="source" condition="CM0_IAR" name="Source/portable/IAR/ARM_CM0/port.c"/>
767 <file category="sourceAsm" condition="CM0_IAR" name="Source/portable/IAR/ARM_CM0/portasm.s"/>
768 <file category="include" condition="CM3_IAR" name="Source/portable/IAR/ARM_CM3/"/>
769 <file category="source" condition="CM3_IAR" name="Source/portable/IAR/ARM_CM3/port.c"/>
770 <file category="sourceAsm" condition="CM3_IAR" name="Source/portable/IAR/ARM_CM3/portasm.s"/>
771 <file category="include" condition="CM4_IAR" name="Source/portable/IAR/ARM_CM3/"/>
772 <file category="source" condition="CM4_IAR" name="Source/portable/IAR/ARM_CM3/port.c"/>
773 <file category="sourceAsm" condition="CM4_IAR" name="Source/portable/IAR/ARM_CM3/portasm.s"/>
774 <file category="include" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/"/>
775 <file category="source" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/port.c"/>
776 <file category="sourceAsm" condition="CM4_FP_IAR" name="Source/portable/IAR/ARM_CM4F/portasm.s"/>
777 <file category="include" condition="CM7_IAR" name="Source/portable/IAR/ARM_CM3/"/>
778 <file category="source" condition="CM7_IAR" name="Source/portable/IAR/ARM_CM3/port.c"/>
779 <file category="sourceAsm" condition="CM7_IAR" name="Source/portable/IAR/ARM_CM3/portasm.s"/>
780 <file category="include" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
781 <file category="source" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
782 <file category="sourceAsm" condition="CM7_DP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
783 <file category="include" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/"/>
784 <file category="source" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/port.c"/>
785 <file category="sourceAsm" condition="CM7_SP_IAR" name="Source/portable/IAR/ARM_CM7/r0p1/portasm.s"/>
786 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/"/>
787 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/port.c"/>
788 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23_NTZ/non_secure/portasm.s"/>
789 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/"/>
790 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/port.c"/>
791 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33_NTZ/non_secure/portasm.s"/>
793 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
794 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
795 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
799 <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS MPU CM3 CM4">
800 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
802 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
803 #define RTE_RTOS_FreeRTOS_CORE_MPU /* RTOS FreeRTOS Core with MPU support */
806 <file category="include" name="Source/include/"/>
808 <file category="header" name="Source/include/FreeRTOS.h"/>
809 <file category="header" name="Source/include/queue.h"/>
810 <file category="header" name="Source/include/semphr.h"/>
811 <file category="header" name="Source/include/task.h"/>
813 <file category="source" name="Source/list.c"/>
814 <file category="source" name="Source/queue.c"/>
815 <file category="source" name="Source/tasks.c"/>
816 <file category="source" name="Source/portable/Common/mpu_wrappers.c"/>
818 <file category="include" condition="ARMCC6 GCC" name="Source/portable/GCC/ARM_CM3_MPU/"/>
819 <file category="source" condition="ARMCC6 GCC" name="Source/portable/GCC/ARM_CM3_MPU/port.c"/>
821 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
822 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
823 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
828 <component Cgroup="Core" Cvariant="Cortex-M MPU" condition="FreeRTOS MPU CM4_FP">
829 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using MPU</description>
831 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
832 #define RTE_RTOS_FreeRTOS_CORE_MPU /* RTOS FreeRTOS Core with MPU support */
835 <file category="include" name="Source/include/"/>
837 <file category="header" name="Source/include/FreeRTOS.h"/>
838 <file category="header" name="Source/include/queue.h"/>
839 <file category="header" name="Source/include/semphr.h"/>
840 <file category="header" name="Source/include/task.h"/>
842 <file category="source" name="Source/list.c"/>
843 <file category="source" name="Source/queue.c"/>
844 <file category="source" name="Source/tasks.c"/>
845 <file category="source" name="Source/portable/Common/mpu_wrappers.c"/>
847 <file category="include" condition="ARMCC" name="Source/portable/RVDS/ARM_CM4_MPU/"/>
848 <file category="source" condition="ARMCC" name="Source/portable/RVDS/ARM_CM4_MPU/port.c"/>
850 <file category="include" condition="ARMCC6" name="Source/portable/GCC/ARM_CM4_MPU/"/>
851 <file category="source" condition="ARMCC6" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
853 <file category="include" condition="GCC" name="Source/portable/GCC/ARM_CM4_MPU/"/>
854 <file category="source" condition="GCC" name="Source/portable/GCC/ARM_CM4_MPU/port.c"/>
856 <file category="include" condition="IAR" name="Source/portable/IAR/ARM_CM4F_MPU/"/>
857 <file category="source" condition="IAR" name="Source/portable/IAR/ARM_CM4F_MPU/port.c"/>
858 <file category="sourceAsm" condition="IAR" name="Source/portable/IAR/ARM_CM4F_MPU/portasm.s"/>
860 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
861 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
862 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
867 <component Cgroup="Core" Cvariant="Cortex-M Non-Secure" condition="FreeRTOS TZ">
868 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone)</description>
870 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
871 #define RTE_RTOS_FreeRTOS_CORE_TZ_NS /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
874 <file category="include" name="Source/include/"/>
876 <file category="header" name="Source/include/FreeRTOS.h"/>
877 <file category="header" name="Source/include/queue.h"/>
878 <file category="header" name="Source/include/semphr.h"/>
879 <file category="header" name="Source/include/task.h"/>
881 <file category="source" name="Source/list.c"/>
882 <file category="source" name="Source/queue.c"/>
883 <file category="source" name="Source/tasks.c"/>
885 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
886 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
887 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
888 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
889 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
890 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
891 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
892 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
894 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/secure/"/>
895 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
896 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
897 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
898 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/secure/"/>
899 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
900 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
901 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
903 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/secure/"/>
904 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/"/>
905 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
906 <file category="sourceAsm" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
907 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/secure/"/>
908 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/"/>
909 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
910 <file category="sourceAsm" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
912 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
913 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
914 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
919 <component Cgroup="Core" Cvariant="Cortex-M Non-Secure MPU" condition="FreeRTOS TZ MPU">
920 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-M using Non-Secure Domain (TrustZone) and MPU</description>
922 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
923 #define RTE_RTOS_FreeRTOS_CORE_MPU /* RTOS FreeRTOS Core with MPU support */
924 #define RTE_RTOS_FreeRTOS_CORE_TZ_NS /* RTOS FreeRTOS Core with TrustZone Non-Secure Domain */
927 <file category="include" name="Source/include/"/>
929 <file category="header" name="Source/include/FreeRTOS.h"/>
930 <file category="header" name="Source/include/queue.h"/>
931 <file category="header" name="Source/include/semphr.h"/>
932 <file category="header" name="Source/include/task.h"/>
934 <file category="source" name="Source/list.c"/>
935 <file category="source" name="Source/queue.c"/>
936 <file category="source" name="Source/tasks.c"/>
937 <file category="source" name="Source/portable/Common/mpu_wrappers.c"/>
939 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
940 <file category="include" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
941 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
942 <file category="source" condition="CM23_ARMCC6" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
943 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
944 <file category="include" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
945 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
946 <file category="source" condition="CM33_ARMCC6" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
948 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/secure/"/>
949 <file category="include" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/"/>
950 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/port.c"/>
951 <file category="source" condition="CM23_GCC" name="Source/portable/GCC/ARM_CM23/non_secure/portasm.c"/>
952 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/secure/"/>
953 <file category="include" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/"/>
954 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/port.c"/>
955 <file category="source" condition="CM33_GCC" name="Source/portable/GCC/ARM_CM33/non_secure/portasm.c"/>
957 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/secure/"/>
958 <file category="include" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/"/>
959 <file category="source" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/port.c"/>
960 <file category="sourceAsm" condition="CM23_IAR" name="Source/portable/IAR/ARM_CM23/non_secure/portasm.s"/>
961 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/secure/"/>
962 <file category="include" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/"/>
963 <file category="source" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/port.c"/>
964 <file category="sourceAsm" condition="CM33_IAR" name="Source/portable/IAR/ARM_CM33/non_secure/portasm.s"/>
966 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
967 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
968 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
972 <component Cgroup="Core" Cvariant="Cortex-A" isDefaultVariant="true" condition="FreeRTOS CA">
973 <description>Core API (Kernel, Tasks, Semaphores, Mutexes, Queues) for Cortex-A</description>
975 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
978 <file category="include" name="Source/include/"/>
980 <file category="header" name="Source/include/FreeRTOS.h"/>
981 <file category="header" name="Source/include/queue.h"/>
982 <file category="header" name="Source/include/semphr.h"/>
983 <file category="header" name="Source/include/task.h"/>
985 <file category="source" name="Source/list.c"/>
986 <file category="source" name="Source/queue.c"/>
987 <file category="source" name="Source/tasks.c"/>
989 <file category="include" condition="ARMCC" name="Source/portable/RVDS/ARM_CA9/"/>
990 <file category="source" condition="ARMCC" name="Source/portable/RVDS/ARM_CA9/port.c"/>
991 <file category="sourceAsm" condition="ARMCC" name="Source/portable/RVDS/ARM_CA9/portASM.s"/>
993 <file category="include" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/"/>
994 <file category="source" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/port.c"/>
995 <file category="sourceAsm" condition="ARMCC6" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
997 <file category="include" condition="GCC" name="Source/portable/GCC/ARM_CA9/"/>
998 <file category="source" condition="GCC" name="Source/portable/GCC/ARM_CA9/port.c"/>
999 <file category="sourceAsm" condition="GCC" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
1001 <file category="include" condition="IAR" name="Source/portable/IAR/ARM_CA9/"/>
1002 <file category="source" condition="IAR" name="Source/portable/IAR/ARM_CA9/port.c"/>
1003 <file category="sourceAsm" condition="IAR" name="Source/portable/IAR/ARM_CA9/portASM.s"/>
1005 <file category="include" name="CMSIS/RTOS2/FreeRTOS/Include/"/>
1006 <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
1007 <file category="other" name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
1011 <component Cgroup="Config" Cvariant="CMSIS RTOS2" condition="CMSIS RTOS2 FreeRTOS">
1012 <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
1014 #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2 /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
1017 <file category="doc" name="CMSIS/Documentation/General/html/cre_freertos_proj.html#cmsis_freertos_config"/>
1018 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM/FreeRTOSConfig.h" version="10.2.0" condition="CoreM"/>
1019 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCA/FreeRTOSConfig.h" version="10.2.0" condition="CoreA"/>
1023 <component Cgroup="Config" Cvariant="FreeRTOS" condition="FreeRTOS Core">
1024 <description>FreeRTOS API configuration file</description>
1026 #define RTE_RTOS_FreeRTOS_CONFIG /* RTOS FreeRTOS Config for FreeRTOS API */
1029 <file category="doc" name="CMSIS/Documentation/General/html/cre_freertos_proj.html#native_freertos_config"/>
1030 <file category="header" attr="config" name="Config/ARMCM/FreeRTOSConfig.h" version="10.2.0" condition="CoreM"/>
1031 <file category="header" attr="config" name="Config/ARMCA/FreeRTOSConfig.h" version="10.2.0" condition="CoreA"/>
1035 <component Cgroup="Coroutines" condition="FreeRTOS Core">
1036 <description>Co-routine API</description>
1038 #define RTE_RTOS_FreeRTOS_COROUTINE /* RTOS FreeRTOS Co-routines */
1041 <file category="header" name="Source/include/croutine.h"/>
1042 <file category="source" name="Source/croutine.c"/>
1046 <component Cgroup="Event Groups" condition="FreeRTOS Core">
1047 <description>Event Group API</description>
1049 #define RTE_RTOS_FreeRTOS_EVENTGROUPS /* RTOS FreeRTOS Event Groups */
1052 <file category="header" name="Source/include/event_groups.h"/>
1053 <file category="source" name="Source/event_groups.c"/>
1057 <component Cgroup="Heap" Cvariant="Heap_1" condition="FreeRTOS Core">
1058 <description>Very simple, does not permit memory to be freed.</description>
1060 #define RTE_RTOS_FreeRTOS_HEAP_1 /* RTOS FreeRTOS Heap 1 */
1063 <file category="source" name="Source/portable/MemMang/heap_1.c"/>
1064 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1068 <component Cgroup="Heap" Cvariant="Heap_2" condition="FreeRTOS Core">
1069 <description>Permits memory to be freed, but not does coalescence adjacent free memory blocks.</description>
1071 #define RTE_RTOS_FreeRTOS_HEAP_2 /* RTOS FreeRTOS Heap 2 */
1074 <file category="source" name="Source/portable/MemMang/heap_2.c"/>
1075 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1079 <component Cgroup="Heap" Cvariant="Heap_3" condition="FreeRTOS Core">
1080 <description>Wraps the standard malloc() and free() for thread safety.</description>
1082 #define RTE_RTOS_FreeRTOS_HEAP_3 /* RTOS FreeRTOS Heap 3 */
1085 <file category="source" name="Source/portable/MemMang/heap_3.c"/>
1086 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1090 <component Cgroup="Heap" Cvariant="Heap_4" condition="FreeRTOS Core" isDefaultVariant="true">
1091 <description>Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.</description>
1093 #define RTE_RTOS_FreeRTOS_HEAP_4 /* RTOS FreeRTOS Heap 4 */
1096 <file category="source" name="Source/portable/MemMang/heap_4.c"/>
1097 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1101 <component Cgroup="Heap" Cvariant="Heap_5" condition="FreeRTOS Core">
1102 <description>Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.</description>
1104 #define RTE_RTOS_FreeRTOS_HEAP_5 /* RTOS FreeRTOS Heap 5 */
1107 <file category="source" name="Source/portable/MemMang/heap_5.c"/>
1108 <file category="doc" name="http://www.freertos.org/a00111.html"/>
1112 <component Cgroup="Message Buffer" condition="FreeRTOS Core">
1113 <description>Message Buffer API</description>
1115 #define RTE_RTOS_FreeRTOS_MESSAGE_BUFFER /* RTOS FreeRTOS Message Buffers */
1118 <file category="header" name="Source/include/message_buffer.h"/>
1119 <file category="source" name="Source/stream_buffer.c"/>
1123 <component Cgroup="Stream Buffer" condition="FreeRTOS Core">
1124 <description>Stream Buffer API</description>
1126 #define RTE_RTOS_FreeRTOS_STREAM_BUFFER /* RTOS FreeRTOS Stream Buffers */
1129 <file category="header" name="Source/include/stream_buffer.h"/>
1130 <file category="source" name="Source/stream_buffer.c"/>
1134 <component Cgroup="Timers" condition="FreeRTOS Core">
1135 <description>Timer API</description>
1137 #define RTE_RTOS_FreeRTOS_TIMERS /* RTOS FreeRTOS Timers */
1140 <file category="header" name="Source/include/timers.h"/>
1141 <file category="source" name="Source/timers.c"/>
1145 <component Cgroup="TrustZone" condition="FreeRTOS TrustZone">
1146 <description>TrustZone Secure Context API</description>
1148 #define RTE_RTOS_FreeRTOS_TZ
1151 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM_TZ/FreeRTOSConfig.h" version="10.2.0"/>
1153 <file category="header" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1154 <file category="include" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/"/>
1155 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1156 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1157 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1158 <file category="source" condition="CM23_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1159 <file category="header" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1160 <file category="include" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/"/>
1161 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1162 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1163 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1164 <file category="source" condition="CM33_TZ_ARMCC6" name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1166 <file category="header" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_port_macros.h"/>
1167 <file category="include" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/"/>
1168 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_context.c"/>
1169 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_context_port.c"/>
1170 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_heap.c"/>
1171 <file category="source" condition="CM23_TZ_GCC" name="Source/portable/GCC/ARM_CM23/secure/secure_init.c"/>
1172 <file category="header" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_port_macros.h"/>
1173 <file category="include" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/"/>
1174 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_context.c"/>
1175 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_context_port.c"/>
1176 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_heap.c"/>
1177 <file category="source" condition="CM33_TZ_GCC" name="Source/portable/GCC/ARM_CM33/secure/secure_init.c"/>
1179 <file category="header" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_port_macros.h"/>
1180 <file category="include" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/"/>
1181 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_context.c"/>
1182 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_context_port.c"/>
1183 <file category="sourceAsm" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_context_port_asm.s"/>
1184 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_heap.c"/>
1185 <file category="source" condition="CM23_TZ_IAR" name="Source/portable/IAR/ARM_CM23/secure/secure_init.c"/>
1186 <file category="header" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_port_macros.h"/>
1187 <file category="include" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/"/>
1188 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_context.c"/>
1189 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_context_port.c"/>
1190 <file category="sourceAsm" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_context_port_asm.s"/>
1191 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_heap.c"/>
1192 <file category="source" condition="CM33_TZ_IAR" name="Source/portable/IAR/ARM_CM33/secure/secure_init.c"/>
1199 <example name="CMSIS-RTOS2 FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky">
1200 <description>CMSIS-RTOS2 Blinky example using FreeRTOS</description>
1201 <board name="uVision Simulator" vendor="Keil"/>
1203 <environment name="uv" load="Blinky.uvprojx"/>
1206 <component Cclass="CMSIS" Cgroup="CORE"/>
1207 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1208 <component Cclass="Device" Cgroup="Startup"/>
1209 <category>Getting Started</category>
1213 <example name="CMSIS-RTOS2 FreeRTOS Blinky CA9 (AC5)" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky_CA9">
1214 <description>CMSIS-RTOS2 Blinky example using FreeRTOS for Cortex-A9 (ARM Compiler 5)</description>
1215 <board name="Fixed Virtual Platform" vendor="ARM"/>
1217 <environment name="ds5" load=".project"/>
1220 <component Cclass="CMSIS" Cgroup="CORE"/>
1221 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1222 <component Cclass="Device" Cgroup="Startup"/>
1223 <category>Getting Started</category>
1227 <example name="CMSIS-RTOS2 FreeRTOS Blinky CA9 (AC6)" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky_CA9_AC6">
1228 <description>CMSIS-RTOS2 Blinky example using FreeRTOS for Cortex-A9 (ARM Compiler 6)</description>
1229 <board name="Fixed Virtual Platform" vendor="ARM"/>
1231 <environment name="ds5" load=".project"/>
1234 <component Cclass="CMSIS" Cgroup="CORE"/>
1235 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1236 <component Cclass="Device" Cgroup="Startup"/>
1237 <category>Getting Started</category>
1241 <example name="Native FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Native_Blinky">
1242 <description>Blinky example using FreeRTOS natively</description>
1243 <board name="uVision Simulator" vendor="Keil"/>
1245 <environment name="uv" load="Blinky.uvprojx"/>
1248 <component Cclass="CMSIS" Cgroup="CORE"/>
1249 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1250 <component Cclass="Device" Cgroup="Startup"/>
1251 <category>Getting Started</category>
1255 <example name="TrustZone for ARMv8-M" doc="NonSecure/Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/TrustZone">
1256 <description>CMSIS-RTOS2 example with secure/non-secure thread context management using FreeRTOS</description>
1257 <board name="uVision Simulator" vendor="Keil"/>
1259 <environment name="uv" load="TrustZone.uvmpw"/>
1262 <component Cclass="CMSIS" Cgroup="CORE"/>
1263 <component Cclass="CMSIS" Cgroup="RTOS2"/>
1264 <component Cclass="Device" Cgroup="Startup"/>
1265 <category>Getting Started</category>