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</description>
7 <url>http://www.keil.com/pack/</url>
8 <license>License/license.txt</license>
11 <release version="9.0.0-RC2">
18 <package vendor="ARM" name="CMSIS" version="5.0.1-0"/>
23 <condition id="ARMCC">
24 <require Tcompiler="ARMCC"/>
27 <require Tcompiler="GCC"/>
30 <require Tcompiler="IAR"/>
32 <condition id="ARMCC GCC">
33 <accept Tcompiler="ARMCC"/>
34 <accept Tcompiler="GCC"/>
36 <condition id="ARMCC GCC IAR">
37 <accept Tcompiler="ARMCC"/>
38 <accept Tcompiler="GCC"/>
39 <accept Tcompiler="IAR"/>
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"/>
50 <description>Cortex-M3 or SC300 processor based device</description>
51 <accept Dcore="Cortex-M3"/>
52 <accept Dcore="SC300"/>
56 <description>Cortex-M4 processor based device</description>
57 <require Dcore="Cortex-M4" Dfpu="NO_FPU"/>
60 <condition id="CM4_FP">
61 <description>Cortex-M4 processor based device using Floating Point Unit</description>
62 <require Dcore="Cortex-M4" Dfpu="FPU"/>
66 <description>Cortex-M7 processor based device</description>
67 <require Dcore="Cortex-M7" Dfpu="NO_FPU"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
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"/>
169 <condition id="CMSIS RTOS2 FreeRTOS">
170 <require Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS"/>
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"/>
179 <condition id="FreeRTOS Core">
180 <require Cclass="RTOS" Cbundle="FreeRTOS" Cgroup="Core"/>
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"/>
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>
197 #define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
198 #define RTE_CMSIS_RTOS2_FreeRTOS /* CMSIS-RTOS2 FreeRTOS */
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"/>
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>
213 #define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
216 <file category="include" name="Source/include/"/>
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"/>
223 <file category="source" name="Source/list.c"/>
224 <file category="source" name="Source/queue.c"/>
225 <file category="source" name="Source/tasks.c"/>
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"/>
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"/>
259 <component Cgroup="Config" Cvariant="CMSIS RTOS2" Cversion="9.0.0" condition="CMSIS RTOS2 FreeRTOS">
260 <description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
262 #define RTE_RTOS_FreeRTOS_CONFIG_RTOS2 /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
265 <file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/FreeRTOSConfig.h" version="9.0.0"/>
269 <component Cgroup="Config" Cvariant="FreeRTOS" Cversion="9.0.0" condition="FreeRTOS Core">
270 <description>FreeRTOS API configuration file</description>
272 #define RTE_RTOS_FreeRTOS_CONFIG /* RTOS FreeRTOS Config for FreeRTOS API */
275 <file category="header" attr="config" name="Config/FreeRTOSConfig.h" version="9.0.0"/>
279 <component Cgroup="Coroutines" Cversion="9.0.0" condition="FreeRTOS Core">
280 <description>Co-routine API</description>
282 #define RTE_RTOS_FreeRTOS_COROUTINE /* RTOS FreeRTOS Co-routines */
285 <file category="header" name="Source/include/croutine.h"/>
286 <file category="source" name="Source/croutine.c"/>
290 <component Cgroup="Event Groups" Cversion="9.0.0" condition="FreeRTOS Core">
291 <description>Event Group API</description>
293 #define RTE_RTOS_FreeRTOS_EVENTGROUPS /* RTOS FreeRTOS Event Groups */
296 <file category="header" name="Source/include/event_groups.h"/>
297 <file category="source" name="Source/event_groups.c"/>
301 <component Cgroup="Timers" Cversion="9.0.0" condition="FreeRTOS Core">
302 <description>Timer API</description>
304 #define RTE_RTOS_FreeRTOS_TIMERS /* RTOS FreeRTOS Timers */
307 <file category="header" name="Source/include/timers.h"/>
308 <file category="source" name="Source/timers.c"/>
312 <component Cgroup="Heap" Cvariant="Heap_1" Cversion="9.0.0" condition="FreeRTOS Core">
313 <description>Heap management scheme 1</description>
315 #define RTE_RTOS_FreeRTOS_HEAP_1 /* RTOS FreeRTOS Heap 1 */
318 <file category="source" name="Source/portable/MemMang/heap_1.c"/>
322 <component Cgroup="Heap" Cvariant="Heap_2" Cversion="9.0.0" condition="FreeRTOS Core">
323 <description>Heap management scheme 2</description>
325 #define RTE_RTOS_FreeRTOS_HEAP_2 /* RTOS FreeRTOS Heap 2 */
328 <file category="source" name="Source/portable/MemMang/heap_2.c"/>
332 <component Cgroup="Heap" Cvariant="Heap_3" Cversion="9.0.0" condition="FreeRTOS Core">
333 <description>Heap management scheme 3</description>
335 #define RTE_RTOS_FreeRTOS_HEAP_3 /* RTOS FreeRTOS Heap 3 */
338 <file category="source" name="Source/portable/MemMang/heap_3.c"/>
342 <component Cgroup="Heap" Cvariant="Heap_4" Cversion="9.0.0" condition="FreeRTOS Core">
343 <description>Heap management scheme 4</description>
345 #define RTE_RTOS_FreeRTOS_HEAP_4 /* RTOS FreeRTOS Heap 4 */
348 <file category="source" name="Source/portable/MemMang/heap_4.c"/>
352 <component Cgroup="Heap" Cvariant="Heap_5" Cversion="9.0.0" condition="FreeRTOS Core">
353 <description>Heap management scheme 5</description>
355 #define RTE_RTOS_FreeRTOS_HEAP_5 /* RTOS FreeRTOS Heap 5 */
358 <file category="source" name="Source/portable/MemMang/heap_5.c"/>
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"/>
369 <environment name="uv" load="Blinky.uvprojx"/>
372 <component Cclass="CMSIS" Cgroup="CORE"/>
373 <component Cclass="CMSIS" Cgroup="RTOS2"/>
374 <component Cclass="Device" Cgroup="Startup"/>
375 <category>Getting Started</category>