]> begriffs open source - cmsis-freertos/blob - ARM.CMSIS-FreeRTOS.pdsc
Merge branch 'develop'
[cmsis-freertos] / ARM.CMSIS-FreeRTOS.pdsc
1 <?xml version="1.0" encoding="utf-8"?>
2
3 <package schemaVersion="1.4" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
4   <vendor>ARM</vendor>
5   <name>CMSIS-FreeRTOS</name>
6   <description>Bundle of FreeRTOS for Cortex-M and Cortex-A</description>
7   <url>http://www.keil.com/pack/</url>
8   <license>License/license.txt</license>
9     
10   <releases>
11     <release version="9.1.0" date="2017-08-11">
12       FreeRTOS 9.0.0
13       Maintenance release for CMSIS 5.1.0:
14       - Added support for ARM Compiler 6
15       - Updated Cortex-A example to use IRQ Controller component
16       - Corrected stack size allocation in RTOS2 osThreadNew function
17       - Added support for OS Tick component
18       - Added documentation for configuration options (native/CMSIS-RTOS2)
19       - Debug event TaskIncrementTick level set to Detail
20     </release>
21     <release version="9.0.0" date="2017-03-13">
22       Initial release version:
23       - native FreeRTOS component (RTOS: Variant=FreeRTOS)
24       - CMSIS-RTOS FreeRTOS for Cortex-M and Cortex-A9 (CMSIS:RTOS:FreeRTOS, CMSIS:RTOS2:FreeRTOS)
25     </release>
26   </releases>
27
28   <requirements>
29     <packages>
30       <package vendor="ARM" name="CMSIS" version="5.1.0-0"/>
31     </packages>
32   </requirements>
33   
34   <conditions>
35     <condition id="ARMCC6">
36       <accept Tcompiler="ARMCC" Toptions="AC6"/>
37       <accept Tcompiler="ARMCC" Toptions="AC6LTO"/>
38     </condition>
39     <condition id="ARMCC">
40       <require Tcompiler="ARMCC" Toptions="AC5"/>
41     </condition>
42     <condition id="GCC">
43       <require Tcompiler="GCC"/>
44     </condition>
45     <condition id="IAR">
46       <require Tcompiler="IAR"/>
47     </condition>
48     <condition id="ARMCC GCC">
49       <accept Tcompiler="ARMCC"/>
50       <accept Tcompiler="GCC"/>
51     </condition>
52     <condition id="ARMCC GCC IAR">
53       <accept Tcompiler="ARMCC"/>
54       <accept Tcompiler="GCC"/>
55       <accept Tcompiler="IAR"/>
56     </condition>
57     
58     <condition id="CM0">
59       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device</description>
60       <accept Dcore="Cortex-M0"/>
61       <accept Dcore="Cortex-M0+"/>
62       <accept Dcore="SC000"/>
63     </condition>
64     
65     <condition id="CM3">
66       <description>Cortex-M3 or SC300 processor based device</description>
67       <accept Dcore="Cortex-M3"/>
68       <accept Dcore="SC300"/>
69     </condition>
70     
71     <condition id="CM4">
72       <description>Cortex-M4 processor based device</description>
73       <require Dcore="Cortex-M4" Dfpu="NO_FPU"/>
74     </condition>
75     
76     <condition id="CM4_FP">
77       <description>Cortex-M4 processor based device using Floating Point Unit</description>
78       <require Dcore="Cortex-M4" Dfpu="FPU"/>
79     </condition>
80     
81     <condition id="CM7">
82       <description>Cortex-M7 processor based device</description>
83       <require Dcore="Cortex-M7" Dfpu="NO_FPU"/>
84     </condition>
85     
86     <condition id="CM7_FP">
87       <description>Cortex-M7 processor based device using Floating Point Unit</description>
88       <accept Dcore="Cortex-M7" Dfpu="SP_FPU"/>
89       <accept Dcore="Cortex-M7" Dfpu="DP_FPU"/>
90     </condition>
91     
92     <condition id="CM7_SP">
93       <description>Cortex-M7 processor based device using Floating Point Unit (SP)</description>
94       <require Dcore="Cortex-M7" Dfpu="SP_FPU"/>
95     </condition>
96     
97     <condition id="CM7_DP">
98       <description>Cortex-M7 processor based device using Floating Point Unit (DP)</description>
99       <require Dcore="Cortex-M7" Dfpu="DP_FPU"/>
100     </condition>
101
102     <condition id="CA9_DP">
103       <description>Cortex-A9 processor based device using Floating Point Unit (DP)</description>
104       <require Dcore="Cortex-A9" Dfpu="DP_FPU"/>
105     </condition>
106
107     <condition id="CoreM">
108       <description>Cortex-M processor based device</description>
109       <accept condition="CM0"/>
110       <accept condition="CM3"/>
111       <accept condition="CM4"/>
112       <accept condition="CM4_FP"/>
113       <accept condition="CM7"/>
114       <accept condition="CM7_FP"/>
115     </condition>
116
117     <condition id="CoreA">
118       <description>Cortex-A processor based device</description>
119       <accept condition="CA9_DP"/>
120     </condition>
121
122     <!-- ARMCC compiler -->
123     <condition id="CM0_ARMCC">
124       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 5</description>
125       <require condition="CM0"/>
126       <require condition="ARMCC"/>
127     </condition>
128
129     <condition id="CM3_ARMCC">
130       <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 5</description>
131       <require condition="CM3"/>
132       <require condition="ARMCC"/>
133     </condition>
134
135     <condition id="CM4_ARMCC">
136       <description>Cortex-M4 processor based device for the ARM Compiler 5</description>
137       <require condition="CM4"/>
138       <require condition="ARMCC"/>
139     </condition>
140     <condition id="CM4_FP_ARMCC">
141       <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 5</description>
142       <require condition="CM4_FP"/>
143       <require condition="ARMCC"/>
144     </condition>
145
146     <condition id="CM7_ARMCC">
147       <description>Cortex-M7 processor based device for the ARM Compiler 5</description>
148       <require condition="CM7"/>
149       <require condition="ARMCC"/>
150     </condition>
151     <condition id="CM7_SP_ARMCC">
152       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 5</description>
153       <require condition="CM7_SP"/>
154       <require condition="ARMCC"/>
155     </condition>
156     <condition id="CM7_DP_ARMCC">
157       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 5</description>
158       <require condition="CM7_DP"/>
159       <require condition="ARMCC"/>
160     </condition>
161
162     <condition id="CA9_DP_ARMCC">
163       <description>Cortex-A9 processor based device for the ARM Compiler 5</description>
164       <require condition="CA9_DP"/>
165       <require condition="ARMCC"/>
166     </condition>
167
168     <!-- ARMCC6 compiler -->
169     <condition id="CM0_ARMCC6">
170       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler 6</description>
171       <require condition="CM0"/>
172       <require condition="ARMCC6"/>
173     </condition>
174
175     <condition id="CM3_ARMCC6">
176       <description>Cortex-M3 or SC300 processor based device for the ARM Compiler 6</description>
177       <require condition="CM3"/>
178       <require condition="ARMCC6"/>
179     </condition>
180
181     <condition id="CM4_ARMCC6">
182       <description>Cortex-M4 processor based device for the ARM Compiler 6</description>
183       <require condition="CM4"/>
184       <require condition="ARMCC6"/>
185     </condition>
186     <condition id="CM4_FP_ARMCC6">
187       <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler 6</description>
188       <require condition="CM4_FP"/>
189       <require condition="ARMCC6"/>
190     </condition>
191
192     <condition id="CM7_ARMCC6">
193       <description>Cortex-M7 processor based device for the ARM Compiler 6</description>
194       <require condition="CM7"/>
195       <require condition="ARMCC6"/>
196     </condition>
197     <condition id="CM7_SP_ARMCC6">
198       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler 6</description>
199       <require condition="CM7_SP"/>
200       <require condition="ARMCC6"/>
201     </condition>
202     <condition id="CM7_DP_ARMCC6">
203       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler 6</description>
204       <require condition="CM7_DP"/>
205       <require condition="ARMCC6"/>
206     </condition>
207
208     <condition id="CA9_DP_ARMCC6">
209       <description>Cortex-A9 processor based device for the ARM Compiler 6</description>
210       <require condition="CA9_DP"/>
211       <require condition="ARMCC6"/>
212     </condition>
213
214     <!-- GCC compiler -->
215     <condition id="CM0_GCC">
216       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the GCC Compiler</description>
217       <require condition="CM0"/>
218       <require condition="GCC"/>
219     </condition>
220
221     <condition id="CM3_GCC">
222       <description>Cortex-M3 or SC300 processor based device for the GCC Compiler</description>
223       <require condition="CM3"/>
224       <require condition="GCC"/>
225     </condition>
226
227     <condition id="CM4_GCC">
228       <description>Cortex-M4 processor based device for the GCC Compiler</description>
229       <require condition="CM4"/>
230       <require condition="GCC"/>
231     </condition>
232
233     <condition id="CM4_FP_GCC">
234       <description>Cortex-M4 processor based device using Floating Point Unit for the GCC Compiler</description>
235       <require condition="CM4_FP"/>
236       <require condition="GCC"/>
237     </condition>
238
239     <condition id="CM7_GCC">
240       <description>Cortex-M7 processor based device for the GCC Compiler</description>
241       <require condition="CM7"/>
242       <require condition="GCC"/>
243     </condition>
244
245     <condition id="CM7_SP_GCC">
246       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the GCC Compiler</description>
247       <require condition="CM7_SP"/>
248       <require condition="GCC"/>
249     </condition>
250
251     <condition id="CM7_DP_GCC">
252       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the GCC Compiler</description>
253       <require condition="CM7_DP"/>
254       <require condition="GCC"/>
255     </condition>
256
257     <condition id="CA9_DP_GCC">
258       <description>Cortex-A9 processor based device for the GCC Compiler</description>
259       <require condition="CA9_DP"/>
260       <require condition="GCC"/>
261     </condition>
262
263     <condition id="CMSIS RTOS2 FreeRTOS">
264       <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>  
265     </condition>
266
267     <condition id="FreeRTOS">
268       <require condition="ARMCC GCC"/>
269       <require Cclass="Device" Cgroup="Startup"/>
270       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config"/>
271       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Heap"/>
272     </condition>
273
274     <condition id="FreeRTOS Core">
275       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
276     </condition>
277
278     <condition id="FreeRTOS RTOS2 Core">
279       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
280       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
281       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
282       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
283     </condition>
284
285     <condition id="FreeRTOS RTOS2 CortexM">
286       <require condition="CoreM"/>
287       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
288       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
289       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
290       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
291     </condition>
292
293     <condition id="FreeRTOS RTOS2 CortexA">
294       <require condition="CoreA"/>
295       <require Cclass="Device" Cgroup="IRQ Controller"/>
296       <require Cclass="Device" Cgroup="OS Tick"/>
297       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Event Groups"/>
298       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Timers"/>
299       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
300       <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Config" Cvariant="CMSIS RTOS2"/>
301     </condition>
302
303   </conditions>
304
305   <components>
306     <!-- CMSIS-RTOS FreeRTOS component -->
307     <component Cclass="CMSIS" Cgroup="RTOS" Csub="FreeRTOS" Cversion="9.0.0" Capiversion="1.0.0" condition="FreeRTOS RTOS2 Core">
308       <description>CMSIS-RTOS implementation for Cortex-M based on FreeRTOS</description>
309       <RTE_Components_h>
310         #define RTE_CMSIS_RTOS                  /* CMSIS-RTOS */
311         #define RTE_CMSIS_RTOS_FreeRTOS         /* CMSIS-RTOS FreeRTOS */
312       </RTE_Components_h>
313       <files>
314         <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include1/cmsis_os.h"/>
315         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os1.c"/>
316       </files>
317     </component>
318
319     <!-- CMSIS-RTOS2 FreeRTOS component -->
320     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="9.1.0" Capiversion="2.1.1" condition="FreeRTOS RTOS2 CortexM">
321       <description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
322       <RTE_Components_h>
323         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
324         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
325       </RTE_Components_h>
326       <files>
327         <file category="doc"    name="CMSIS/Documentation/General/html/index.html"/>
328         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
329         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
330         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
331
332         <!-- OS Tick (SysTick) -->
333         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/os_systick.c"/>
334       </files>
335     </component>
336
337     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="9.1.0" Capiversion="2.1.1" condition="FreeRTOS RTOS2 CortexA">
338       <description>CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS</description>
339       <RTE_Components_h>
340         #define RTE_CMSIS_RTOS2                 /* CMSIS-RTOS2 */
341         #define RTE_CMSIS_RTOS2_FreeRTOS        /* CMSIS-RTOS2 FreeRTOS */
342       </RTE_Components_h>
343       <files>
344         <file category="doc"    name="CMSIS/Documentation/General/html/index.html"/>
345         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
346         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
347         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC6"/>
348         
349         <file category="source" attr="config" name="CMSIS/RTOS2/FreeRTOS/Source/handlers.c" version="9.1.0"/>
350       </files>
351     </component>
352
353     <bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="9.0.0">
354       <description>FreeRTOS Real Time Kernel</description>
355       <doc>http://www.freertos.org/Documentation/FreeRTOS_Reference_Manual_V9.0.0.pdf</doc>
356       <component Cgroup="Core" Cversion="9.0.0" condition="FreeRTOS">
357         <description>Core components API (Kernel, Tasks, Semaphores, Mutexes, Queues)</description>
358         <RTE_Components_h>
359           #define RTE_RTOS_FreeRTOS_CORE          /* RTOS FreeRTOS Core */
360         </RTE_Components_h>
361         <files>
362           <file category="include" name="Source/include/"/>
363   
364           <file category="header"  name="Source/include/FreeRTOS.h"/>
365           <file category="header"  name="Source/include/queue.h"/>
366           <file category="header"  name="Source/include/semphr.h"/>
367           <file category="header"  name="Source/include/task.h"/>
368   
369           <file category="source"  name="Source/list.c"/>
370           <file category="source"  name="Source/queue.c"/>
371           <file category="source"  name="Source/tasks.c"/>
372   
373           <file category="include"   condition="CM0_ARMCC"    name="Source/portable/RVDS/ARM_CM0/"/>
374           <file category="source"    condition="CM0_ARMCC"    name="Source/portable/RVDS/ARM_CM0/port.c"/>
375           <file category="include"   condition="CM3_ARMCC"    name="Source/portable/RVDS/ARM_CM3/"/>
376           <file category="source"    condition="CM3_ARMCC"    name="Source/portable/RVDS/ARM_CM3/port.c"/>
377           <file category="include"   condition="CM4_ARMCC"    name="Source/portable/RVDS/ARM_CM3/"/>
378           <file category="source"    condition="CM4_ARMCC"    name="Source/portable/RVDS/ARM_CM3/port.c"/>
379           <file category="include"   condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/"/>
380           <file category="source"    condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/port.c"/>
381           <file category="include"   condition="CM7_ARMCC"    name="Source/portable/RVDS/ARM_CM3/"/>
382           <file category="source"    condition="CM7_ARMCC"    name="Source/portable/RVDS/ARM_CM3/port.c"/>
383           <file category="include"   condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
384           <file category="source"    condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
385           <file category="include"   condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
386           <file category="source"    condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
387           <file category="include"   condition="CA9_DP_ARMCC" name="Source/portable/RVDS/ARM_CA9/"/>
388           <file category="source"    condition="CA9_DP_ARMCC" name="Source/portable/RVDS/ARM_CA9/port.c"/>
389           <file category="sourceAsm" condition="CA9_DP_ARMCC" name="Source/portable/RVDS/ARM_CA9/portASM.s"/>
390   
391           <!-- Cortex-M0 Port of latest FreeRTOS 9.0.0 is broken for ARM Compiler 6 -->
392           <!-- file category="include"   condition="CM0_ARMCC6"    name="Source/portable/GCC/ARM_CM0/"/>
393           <file category="source"    condition="CM0_ARMCC6"    name="Source/portable/GCC/ARM_CM0/port.c"/ -->
394           <file category="include"   condition="CM3_ARMCC6"    name="Source/portable/GCC/ARM_CM3/"/>
395           <file category="source"    condition="CM3_ARMCC6"    name="Source/portable/GCC/ARM_CM3/port.c"/>
396           <file category="include"   condition="CM4_ARMCC6"    name="Source/portable/GCC/ARM_CM3/"/>
397           <file category="source"    condition="CM4_ARMCC6"    name="Source/portable/GCC/ARM_CM3/port.c"/>
398           <file category="include"   condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/"/>
399           <file category="source"    condition="CM4_FP_ARMCC6" name="Source/portable/GCC/ARM_CM4F/port.c"/>
400           <file category="include"   condition="CM7_ARMCC6"    name="Source/portable/GCC/ARM_CM3/"/>
401           <file category="source"    condition="CM7_ARMCC6"    name="Source/portable/GCC/ARM_CM3/port.c"/>
402           <file category="include"   condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
403           <file category="source"    condition="CM7_DP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
404           <file category="include"   condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
405           <file category="source"    condition="CM7_SP_ARMCC6" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
406           <file category="include"   condition="CA9_DP_ARMCC6" name="Source/portable/GCC/ARM_CA9/"/>
407           <file category="source"    condition="CA9_DP_ARMCC6" name="Source/portable/GCC/ARM_CA9/port.c"/>
408           <file category="sourceAsm" condition="CA9_DP_ARMCC6" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
409   
410           <file category="include"   condition="CM0_GCC"    name="Source/portable/GCC/ARM_CM0/"/>
411           <file category="source"    condition="CM0_GCC"    name="Source/portable/GCC/ARM_CM0/port.c"/>
412           <file category="include"   condition="CM3_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
413           <file category="source"    condition="CM3_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
414           <file category="include"   condition="CM4_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
415           <file category="source"    condition="CM4_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
416           <file category="include"   condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/"/>
417           <file category="source"    condition="CM4_FP_GCC" name="Source/portable/GCC/ARM_CM4F/port.c"/>
418           <file category="include"   condition="CM7_GCC"    name="Source/portable/GCC/ARM_CM3/"/>
419           <file category="source"    condition="CM7_GCC"    name="Source/portable/GCC/ARM_CM3/port.c"/>
420           <file category="include"   condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
421           <file category="source"    condition="CM7_DP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
422           <file category="include"   condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/"/>
423           <file category="source"    condition="CM7_SP_GCC" name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
424           <file category="include"   condition="CA9_DP_GCC" name="Source/portable/GCC/ARM_CA9/"/>
425           <file category="source"    condition="CA9_DP_GCC" name="Source/portable/GCC/ARM_CA9/port.c"/>
426           <file category="sourceAsm" condition="CA9_DP_GCC" name="Source/portable/GCC/ARM_CA9/portASM.S"/>
427
428           <file category="header" name="CMSIS/RTOS2/FreeRTOS/Include/freertos_evr.h"/>
429           <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/freertos_evr.c"/>
430           <file category="other"  name="CMSIS/RTOS2/FreeRTOS/FreeRTOS.scvd"/>
431         </files>
432       </component>
433   
434       <component Cgroup="Config" Cvariant="CMSIS RTOS2" Cversion="9.0.0" condition="CMSIS RTOS2 FreeRTOS">
435         <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
436         <RTE_Components_h>
437           #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2  /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
438         </RTE_Components_h>
439         <files>
440           <file category="doc"    name="CMSIS/Documentation/General/html/cre_freertos_proj.html#cmsis_freertos_config"/>
441           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM/FreeRTOSConfig.h" version="10.0.0" condition="CoreM"/>
442           <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCA/FreeRTOSConfig.h" version="10.0.0" condition="CoreA"/>
443         </files>
444       </component>
445      
446       <component Cgroup="Config" Cvariant="FreeRTOS" Cversion="9.0.0" condition="FreeRTOS Core">
447         <description>FreeRTOS API configuration file</description>
448         <RTE_Components_h>
449           #define RTE_RTOS_FreeRTOS_CONFIG        /* RTOS FreeRTOS Config for FreeRTOS API */
450         </RTE_Components_h>
451         <files>
452           <file category="doc"    name="CMSIS/Documentation/General/html/cre_freertos_proj.html#native_freertos_config"/>
453           <file category="header" attr="config" name="Config/ARMCM/FreeRTOSConfig.h" version="9.0.0" condition="CoreM"/>
454           <file category="header" attr="config" name="Config/ARMCA/FreeRTOSConfig.h" version="9.0.0" condition="CoreA"/>
455         </files>
456       </component>
457      
458       <component Cgroup="Coroutines" Cversion="9.0.0" condition="FreeRTOS Core">
459         <description>Co-routine API</description>
460         <RTE_Components_h>
461           #define RTE_RTOS_FreeRTOS_COROUTINE     /* RTOS FreeRTOS Co-routines */
462         </RTE_Components_h>
463         <files>
464           <file category="header" name="Source/include/croutine.h"/>
465           <file category="source" name="Source/croutine.c"/>
466         </files>
467       </component>
468      
469       <component Cgroup="Event Groups" Cversion="9.0.0" condition="FreeRTOS Core">
470         <description>Event Group API</description>
471         <RTE_Components_h>
472           #define RTE_RTOS_FreeRTOS_EVENTGROUPS   /* RTOS FreeRTOS Event Groups */
473         </RTE_Components_h>
474         <files>
475           <file category="header" name="Source/include/event_groups.h"/>
476           <file category="source" name="Source/event_groups.c"/>
477         </files>
478       </component>
479      
480       <component Cgroup="Timers" Cversion="9.0.0" condition="FreeRTOS Core">
481         <description>Timer API</description>
482         <RTE_Components_h>
483           #define RTE_RTOS_FreeRTOS_TIMERS        /* RTOS FreeRTOS Timers */
484         </RTE_Components_h>
485         <files>
486           <file category="header" name="Source/include/timers.h"/>
487           <file category="source" name="Source/timers.c"/>
488         </files>
489       </component>
490      
491       <component Cgroup="Heap" Cvariant="Heap_1" Cversion="9.0.0" condition="FreeRTOS Core">
492         <description>Very simple, does not permit memory to be freed.</description>
493         <RTE_Components_h>
494           #define RTE_RTOS_FreeRTOS_HEAP_1        /* RTOS FreeRTOS Heap 1 */
495         </RTE_Components_h>
496         <files>
497           <file category="source" name="Source/portable/MemMang/heap_1.c"/>
498           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
499         </files>
500       </component>
501      
502       <component Cgroup="Heap" Cvariant="Heap_2" Cversion="9.0.0" condition="FreeRTOS Core">
503         <description>Permits memory to be freed, but not does coalescence adjacent free memory blocks.</description>
504         <RTE_Components_h>
505           #define RTE_RTOS_FreeRTOS_HEAP_2        /* RTOS FreeRTOS Heap 2 */
506         </RTE_Components_h>
507         <files>
508           <file category="source" name="Source/portable/MemMang/heap_2.c"/>
509           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
510         </files>
511       </component>
512      
513       <component Cgroup="Heap" Cvariant="Heap_3" Cversion="9.0.0" condition="FreeRTOS Core">
514         <description>Wraps the standard malloc() and free() for thread safety.</description>
515         <RTE_Components_h>
516           #define RTE_RTOS_FreeRTOS_HEAP_3        /* RTOS FreeRTOS Heap 3 */
517         </RTE_Components_h>
518         <files>
519           <file category="source" name="Source/portable/MemMang/heap_3.c"/>
520           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
521         </files>
522       </component>
523      
524       <component Cgroup="Heap" Cvariant="Heap_4" Cversion="9.0.0" condition="FreeRTOS Core" isDefaultVariant="true">
525         <description>Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.</description>
526         <RTE_Components_h>
527           #define RTE_RTOS_FreeRTOS_HEAP_4        /* RTOS FreeRTOS Heap 4 */
528         </RTE_Components_h>
529         <files>
530           <file category="source" name="Source/portable/MemMang/heap_4.c"/>
531           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
532         </files>
533       </component>
534      
535       <component Cgroup="Heap" Cvariant="Heap_5" Cversion="9.0.0" condition="FreeRTOS Core">
536         <description>Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.</description>
537         <RTE_Components_h>
538           #define RTE_RTOS_FreeRTOS_HEAP_5        /* RTOS FreeRTOS Heap 5 */
539         </RTE_Components_h>
540         <files>
541           <file category="source" name="Source/portable/MemMang/heap_5.c"/>
542           <file category="doc"    name="http://www.freertos.org/a00111.html"/>
543         </files>
544       </component>
545     </bundle>
546   </components>
547
548   <examples>
549     <example name="CMSIS-RTOS2 FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky">
550       <description>CMSIS-RTOS2 Blinky example using FreeRTOS</description>
551       <board name="uVision Simulator" vendor="Keil"/>
552       <project>
553         <environment name="uv" load="Blinky.uvprojx"/>
554       </project>
555       <attributes>
556         <component Cclass="CMSIS" Cgroup="CORE"/>
557         <component Cclass="CMSIS" Cgroup="RTOS2"/>
558         <component Cclass="Device" Cgroup="Startup"/>
559         <category>Getting Started</category>
560       </attributes>
561     </example>
562
563     <example name="CMSIS-RTOS2 FreeRTOS Blinky CA9 (AC5)" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky_CA9">
564       <description>CMSIS-RTOS2 Blinky example using FreeRTOS for Cortex-A9 (ARM Compiler 5)</description>
565       <board name="Fixed Virtual Platform" vendor="ARM"/>
566       <project>
567         <environment name="ds5" load=".project"/>
568       </project>
569       <attributes>
570         <component Cclass="CMSIS" Cgroup="CORE"/>
571         <component Cclass="CMSIS" Cgroup="RTOS2"/>
572         <component Cclass="Device" Cgroup="Startup"/>
573         <category>Getting Started</category>
574       </attributes>
575     </example>
576
577     <example name="CMSIS-RTOS2 FreeRTOS Blinky CA9 (AC6)" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky_CA9_AC6">
578       <description>CMSIS-RTOS2 Blinky example using FreeRTOS for Cortex-A9 (ARM Compiler 6)</description>
579       <board name="Fixed Virtual Platform" vendor="ARM"/>
580       <project>
581         <environment name="ds5" load=".project"/>
582       </project>
583       <attributes>
584         <component Cclass="CMSIS" Cgroup="CORE"/>
585         <component Cclass="CMSIS" Cgroup="RTOS2"/>
586         <component Cclass="Device" Cgroup="Startup"/>
587         <category>Getting Started</category>
588       </attributes>
589     </example>
590
591     <example name="Native FreeRTOS Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Native_Blinky">
592       <description>Blinky example using FreeRTOS natively</description>
593       <board name="uVision Simulator" vendor="Keil"/>
594       <project>
595         <environment name="uv" load="Blinky.uvprojx"/>
596       </project>
597       <attributes>
598         <component Cclass="CMSIS" Cgroup="CORE"/>
599         <component Cclass="CMSIS" Cgroup="RTOS2"/>
600         <component Cclass="Device" Cgroup="Startup"/>
601         <category>Getting Started</category>
602       </attributes>
603     </example>
604   </examples>
605 </package>