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