]> begriffs open source - cmsis-freertos/blob - ARM.CMSIS-FreeRTOS.pdsc
fixing pack generation script
[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</description>
7   <url>http://www.freertos.org/</url>
8   <license>license.txt</license>
9     
10   <releases>
11     <release version="9.0.0-RC1">
12       Initial release
13     </release>
14   </releases>
15
16   <apis>
17     <!-- CMSIS-RTOS2 API -->
18     <api Cclass="CMSIS" Cgroup="RTOS2" Capiversion="2.1.0" exclusive="1">
19       <description>CMSIS-RTOS API for Cortex-M, SC000, and SC300</description>
20       <files>
21       </files>
22     </api>
23   </apis>
24   
25   <conditions> 
26     <condition id="ARMCC">
27       <require Tcompiler="ARMCC"/>
28     </condition>
29     <condition id="GCC">
30       <require Tcompiler="GCC"/>
31     </condition>
32     <condition id="IAR">
33       <require Tcompiler="IAR"/>
34     </condition>
35     <condition id="ARMCC GCC">
36       <accept Tcompiler="ARMCC"/>
37       <accept Tcompiler="GCC"/>
38     </condition>
39     <condition id="ARMCC GCC IAR">
40       <accept Tcompiler="ARMCC"/>
41       <accept Tcompiler="GCC"/>
42       <accept Tcompiler="IAR"/>
43     </condition>
44     
45     <condition id="CM0">
46       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device</description>
47       <accept Dcore="Cortex-M0"/>
48       <accept Dcore="Cortex-M0+"/>
49       <accept Dcore="SC000"/>
50     </condition>
51     
52     <condition id="CM3">
53       <description>Cortex-M3 or SC300 processor based device</description>
54       <accept Dcore="Cortex-M3"/>
55       <accept Dcore="SC300"/>
56     </condition>
57     
58     <condition id="CM4">
59       <description>Cortex-M4 processor based device</description>
60       <require Dcore="Cortex-M4" Dfpu="NO_FPU"/>
61     </condition>
62     
63     <condition id="CM4_FP">
64       <description>Cortex-M4 processor based device using Floating Point Unit</description>
65       <require Dcore="Cortex-M4" Dfpu="FPU"/>
66     </condition>
67     
68     <condition id="CM7">
69       <description>Cortex-M7 processor based device</description>
70       <require Dcore="Cortex-M7" Dfpu="NO_FPU"/>
71     </condition>
72     
73     <condition id="CM7_FP">
74       <description>Cortex-M7 processor based device using Floating Point Unit</description>
75       <accept Dcore="Cortex-M7" Dfpu="SP_FPU"/>
76       <accept Dcore="Cortex-M7" Dfpu="DP_FPU"/>
77     </condition>
78     
79     <condition id="CM7_SP">
80       <description>Cortex-M7 processor based device using Floating Point Unit (SP)</description>
81       <require Dcore="Cortex-M7" Dfpu="SP_FPU"/>
82     </condition>
83     
84     <condition id="CM7_DP">
85       <description>Cortex-M7 processor based device using Floating Point Unit (DP)</description>
86       <require Dcore="Cortex-M7" Dfpu="DP_FPU"/>
87     </condition>
88
89     <!-- ARMCC compiler -->
90     <condition id="CM0_ARMCC">
91       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the ARM Compiler</description>
92       <require condition="CM0"/>
93       <require Tcompiler="ARMCC"/>
94     </condition>
95
96     <condition id="CM3_ARMCC">
97       <description>Cortex-M3 or SC300 processor based device for the ARM Compiler</description>
98       <require condition="CM3"/>
99       <require Tcompiler="ARMCC"/>
100     </condition>
101
102     <condition id="CM4_ARMCC">
103       <description>Cortex-M4 processor based device for the ARM Compiler</description>
104       <require condition="CM4"/>
105       <require Tcompiler="ARMCC"/>
106     </condition>
107     <condition id="CM4_FP_ARMCC">
108       <description>Cortex-M4 processor based device using Floating Point Unit for the ARM Compiler</description>
109       <require condition="CM4_FP"/>
110       <require Tcompiler="ARMCC"/>
111     </condition>
112
113     <condition id="CM7_ARMCC">
114       <description>Cortex-M7 processor based device for the ARM Compiler</description>
115       <require condition="CM7"/>
116       <require Tcompiler="ARMCC"/>
117     </condition>
118     <condition id="CM7_SP_ARMCC">
119       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the ARM Compiler</description>
120       <require condition="CM7_SP"/>
121       <require Tcompiler="ARMCC"/>
122     </condition>
123     <condition id="CM7_DP_ARMCC">
124       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the ARM Compiler</description>
125       <require condition="CM7_DP"/>
126       <require Tcompiler="ARMCC"/>
127     </condition>
128
129     <!-- GCC compiler -->
130     <condition id="CM0_GCC">
131       <description>Cortex-M0 or Cortex-M0+ or SC000 processor based device for the GCC Compiler</description>
132       <require condition="CM0"/>
133       <require Tcompiler="GCC"/>
134     </condition>
135
136     <condition id="CM3_GCC">
137       <description>Cortex-M3 or SC300 processor based device for the GCC Compiler</description>
138       <require condition="CM3"/>
139       <require Tcompiler="GCC"/>
140     </condition>
141
142     <condition id="CM4_GCC">
143       <description>Cortex-M4 processor based device for the GCC Compiler</description>
144       <require condition="CM4"/>
145       <require Tcompiler="GCC"/>
146     </condition>
147     <condition id="CM4_FP_GCC">
148       <description>Cortex-M4 processor based device using Floating Point Unit for the GCC Compiler</description>
149       <require condition="CM4_FP"/>
150       <require Tcompiler="GCC"/>
151     </condition>
152
153     <condition id="CM7_GCC">
154       <description>Cortex-M7 processor based device for the GCC Compiler</description>
155       <require condition="CM7"/>
156       <require Tcompiler="GCC"/>
157     </condition>
158     <condition id="CM7_SP_GCC">
159       <description>Cortex-M7 processor based device using Floating Point Unit (SP) for the GCC Compiler</description>
160       <require condition="CM7_SP"/>
161       <require Tcompiler="GCC"/>
162     </condition>
163     <condition id="CM7_DP_GCC">
164       <description>Cortex-M7 processor based device using Floating Point Unit (DP) for the GCC Compiler</description>
165       <require condition="CM7_DP"/>
166       <require Tcompiler="GCC"/>
167     </condition>
168
169     <condition id="CMSIS RTOS2 FreeRTOS">
170       <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>  
171     </condition>
172
173     <condition id="FreeRTOS">
174       <require condition="ARMCC GCC"/>
175       <require Cclass="RTOS" Cgroup="FreeRTOS" Csub="Config"/>
176       <require Cclass="RTOS" Cgroup="FreeRTOS" Csub="Heap"/>
177     </condition>
178
179     <condition id="FreeRTOS Core">
180       <require Cclass="RTOS" Cgroup="FreeRTOS" Csub="Core"/>
181     </condition>
182
183     <condition id="FreeRTOS RTOS2 Core">
184       <require Cclass="RTOS" Cgroup="FreeRTOS" Csub="Core"/>
185       <require Cclass="RTOS" Cgroup="FreeRTOS" Csub="Event Groups"/>
186       <require Cclass="RTOS" Cgroup="FreeRTOS" Csub="Timers"/>
187       <require Cclass="RTOS" Cgroup="FreeRTOS" Csub="Config" Cvariant="CMSIS RTOS2"/>
188     </condition>
189         
190   </conditions>  
191    
192   <components>
193     <!-- CMSIS-RTOS2 FreeRTOS component -->
194     <component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="9.0.0" Capiversion="2.1.0" condition="FreeRTOS RTOS2 Core">
195       <description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
196       <RTE_Components_h>
197         #define RTE_CMSIS_RTOS2                     /* CMSIS-RTOS2 */
198         #define RTE_CMSIS_RTOS2_FreeRTOS            /* CMSIS-RTOS2 FreeRTOS */
199       </RTE_Components_h>
200       <files>
201         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/cmsis_os2.c"/>
202         
203         <file category="source" name="CMSIS/RTOS2/FreeRTOS/Source/ARM/clib_arm.c" condition="ARMCC"/>
204       </files>
205     </component>
206
207     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Core" Cversion="9.0.0" condition="FreeRTOS">
208       <description>Core components API (Kernel, Tasks, Semaphores, Mutexes, Queues)</description>
209       <RTE_Components_h>
210         #define RTE_RTOS_FreeRTOS_CORE            /* RTOS FreeRTOS Core */
211       </RTE_Components_h>
212       <files>
213         <file category="include" name="Source/include/"/>
214
215         <file category="header"  name="Source/include/FreeRTOS.h"/>
216         <file category="header"  name="Source/include/queue.h"/>
217         <file category="header"  name="Source/include/semphr.h"/>
218         <file category="header"  name="Source/include/task.h"/>
219
220         <file category="source"  name="Source/list.c"/>
221         <file category="source"  name="Source/queue.c"/>
222         <file category="source"  name="Source/tasks.c"/>
223
224         <file category="include" condition="CM0_ARMCC"    name="Source/portable/RVDS/ARM_CM0/"/>
225         <file category="source"  condition="CM0_ARMCC"    name="Source/portable/RVDS/ARM_CM0/port.c"/>
226         <file category="include" condition="CM3_ARMCC"    name="Source/portable/RVDS/ARM_CM3/"/>
227         <file category="source"  condition="CM3_ARMCC"    name="Source/portable/RVDS/ARM_CM3/port.c"/>
228         <file category="include" condition="CM4_ARMCC"    name="Source/portable/RVDS/ARM_CM3/"/>
229         <file category="source"  condition="CM4_ARMCC"    name="Source/portable/RVDS/ARM_CM3/port.c"/>
230         <file category="include" condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/"/>
231         <file category="source"  condition="CM4_FP_ARMCC" name="Source/portable/RVDS/ARM_CM4F/port.c"/>
232         <file category="include" condition="CM7_ARMCC"    name="Source/portable/RVDS/ARM_CM3/"/>
233         <file category="source"  condition="CM7_ARMCC"    name="Source/portable/RVDS/ARM_CM3/port.c"/>
234         <file category="include" condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
235         <file category="source"  condition="CM7_DP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
236         <file category="include" condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/"/>
237         <file category="source"  condition="CM7_SP_ARMCC" name="Source/portable/RVDS/ARM_CM7/r0p1/port.c"/>
238
239         <file category="include" condition="CM0_GCC"      name="Source/portable/GCC/ARM_CM0/"/>
240         <file category="source"  condition="CM0_GCC"      name="Source/portable/GCC/ARM_CM0/port.c"/>
241         <file category="include" condition="CM3_GCC"      name="Source/portable/GCC/ARM_CM3/"/>
242         <file category="source"  condition="CM3_GCC"      name="Source/portable/GCC/ARM_CM3/port.c"/>
243         <file category="include" condition="CM4_GCC"      name="Source/portable/GCC/ARM_CM3/"/>
244         <file category="source"  condition="CM4_GCC"      name="Source/portable/GCC/ARM_CM3/port.c"/>
245         <file category="include" condition="CM4_FP_GCC"   name="Source/portable/GCC/ARM_CM4F/"/>
246         <file category="source"  condition="CM4_FP_GCC"   name="Source/portable/GCC/ARM_CM4F/port.c"/>
247         <file category="include" condition="CM7_GCC"      name="Source/portable/GCC/ARM_CM3/"/>
248         <file category="source"  condition="CM7_GCC"      name="Source/portable/GCC/ARM_CM3/port.c"/>
249         <file category="include" condition="CM7_DP_GCC"   name="Source/portable/GCC/ARM_CM7/r0p1/"/>
250         <file category="source"  condition="CM7_DP_GCC"   name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
251         <file category="include" condition="CM7_SP_GCC"   name="Source/portable/GCC/ARM_CM7/r0p1/"/>
252         <file category="source"  condition="CM7_SP_GCC"   name="Source/portable/GCC/ARM_CM7/r0p1/port.c"/>
253       </files>
254     </component>
255
256     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Config" Cvariant="CMSIS RTOS2" Cversion="9.0.0" condition="CMSIS RTOS2 FreeRTOS">
257       <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
258       <RTE_Components_h>
259         #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2    /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
260       </RTE_Components_h>
261       <files>
262         <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/FreeRTOSConfig.h" version="9.0.0"/>
263       </files>
264     </component>
265
266     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Config" Cvariant="FreeRTOS" Cversion="9.0.0" condition="FreeRTOS Core">
267       <description>FreeRTOS API configuration file</description>
268       <RTE_Components_h>
269         #define RTE_RTOS_FreeRTOS_CONFIG          /* RTOS FreeRTOS Config for FreeRTOS API */
270       </RTE_Components_h>
271       <files>
272         <file category="header" attr="config" name="Config/FreeRTOSConfig.h" version="9.0.0"/>
273       </files>
274     </component>
275
276     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Coroutines" Cversion="9.0.0" condition="FreeRTOS Core">
277       <description>Co-routine API</description>
278       <RTE_Components_h>
279         #define RTE_RTOS_FreeRTOS_COROUTINE       /* RTOS FreeRTOS Co-routines */
280       </RTE_Components_h>
281       <files>
282         <file category="header" name="Source/include/croutine.h"/>
283         <file category="source" name="Source/croutine.c"/>
284       </files>
285     </component>
286
287     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Event Groups" Cversion="9.0.0" condition="FreeRTOS Core">
288       <description>Event Group API</description>
289       <RTE_Components_h>
290         #define RTE_RTOS_FreeRTOS_EVENTGROUPS     /* RTOS FreeRTOS Event Groups */
291       </RTE_Components_h>
292       <files>
293         <file category="header" name="Source/include/event_groups.h"/>
294         <file category="source" name="Source/event_groups.c"/>
295       </files>
296     </component>
297
298     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Timers" Cversion="9.0.0" condition="FreeRTOS Core">
299       <description>Timer API</description>
300       <RTE_Components_h>
301         #define RTE_RTOS_FreeRTOS_TIMERS          /* RTOS FreeRTOS Timers */
302       </RTE_Components_h>
303       <files>
304         <file category="header" name="Source/include/timers.h"/>
305         <file category="source" name="Source/timers.c"/>
306       </files>
307     </component>
308
309     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Heap" Cvariant="Heap_1" Cversion="9.0.0" condition="FreeRTOS Core">
310       <description>Heap management scheme 1</description>
311       <RTE_Components_h>
312         #define RTE_RTOS_FreeRTOS_HEAP_1          /* RTOS FreeRTOS Heap 1 */
313       </RTE_Components_h>
314       <files>
315         <file category="source" name="Source/portable/MemMang/heap_1.c"/>
316       </files>
317     </component>
318
319     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Heap" Cvariant="Heap_2" Cversion="9.0.0" condition="FreeRTOS Core">
320       <description>Heap management scheme 2</description>
321       <RTE_Components_h>
322         #define RTE_RTOS_FreeRTOS_HEAP_2          /* RTOS FreeRTOS Heap 2 */
323       </RTE_Components_h>
324       <files>
325         <file category="source" name="Source/portable/MemMang/heap_2.c"/>
326       </files>
327     </component>
328
329     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Heap" Cvariant="Heap_3" Cversion="9.0.0" condition="FreeRTOS Core">
330       <description>Heap management scheme 3</description>
331       <RTE_Components_h>
332         #define RTE_RTOS_FreeRTOS_HEAP_3          /* RTOS FreeRTOS Heap 3 */
333       </RTE_Components_h>
334       <files>
335         <file category="source" name="Source/portable/MemMang/heap_3.c"/>
336       </files>
337     </component>
338
339     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Heap" Cvariant="Heap_4" Cversion="9.0.0" condition="FreeRTOS Core">
340       <description>Heap management scheme 4</description>
341       <RTE_Components_h>
342         #define RTE_RTOS_FreeRTOS_HEAP_4          /* RTOS FreeRTOS Heap 4 */
343       </RTE_Components_h>
344       <files>
345         <file category="source" name="Source/portable/MemMang/heap_4.c"/>
346       </files>
347     </component>
348
349     <component Cclass="RTOS" Cgroup="FreeRTOS" Csub="Heap" Cvariant="Heap_5" Cversion="9.0.0" condition="FreeRTOS Core">
350       <description>Heap management scheme 5</description>
351       <RTE_Components_h>
352         #define RTE_RTOS_FreeRTOS_HEAP_5          /* RTOS FreeRTOS Heap 5 */
353       </RTE_Components_h>
354       <files>
355         <file category="source" name="Source/portable/MemMang/heap_5.c"/>
356       </files>
357     </component>
358     
359   </components>
360
361   <boards>
362     <board name="uVision Simulator" vendor="Keil">
363       <description>uVision Simulator</description>
364       <mountedDevice deviceIndex="0" Dvendor="ARM:82" Dname="ARMCM3"/>
365    </board>
366   </boards>
367
368   <examples>
369     <example name="CMSIS-RTOS2 Blinky" doc="Abstract.txt" folder="CMSIS/RTOS2/FreeRTOS/Examples/Blinky">
370       <description>CMSIS-RTOS2 Blinky example using FreeRTOS</description>
371       <board name="uVision Simulator" vendor="Keil"/>
372       <project>
373         <environment name="uv" load="Blinky.uvprojx"/>
374       </project>
375       <attributes>
376         <component Cclass="CMSIS" Cgroup="CORE"/>
377         <component Cclass="CMSIS" Cgroup="RTOS2"/>
378         <component Cclass="Device" Cgroup="Startup"/>
379         <category>Getting Started</category>
380       </attributes>
381     </example>
382   </examples>
383 </package>