Skip to content

Commit e73a804

Browse files
committed
Merge remote-tracking branch 'remotes/origin/develop'
2 parents 8ecae4c + e5bf8e2 commit e73a804

2,699 files changed

Lines changed: 364942 additions & 263562 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

ARM.CMSIS-FreeRTOS.pdsc

Lines changed: 53 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,14 @@
88
<license>License/license.txt</license>
99

1010
<releases>
11+
<release version="10.0.1" date="2018-02-22">
12+
FreeRTOS 10.0.0
13+
Maintenance for CMSIS 5.3.0:
14+
- Added queue registry support to CMSIS:RTOS2:FreeRTOS component.
15+
- Updated CMSIS-FreeRTOS component view to display queue, mutex and semaphore objects.
16+
- Updated to CMSIS RTOS2 API 2.1.2 and OS Tick API 1.0.1.
17+
- Fixed context switch response latency for API calls from ISR.
18+
</release>
1119
<release version="9.1.0" date="2017-08-11">
1220
FreeRTOS 9.0.0
1321
Maintenance release for CMSIS 5.1.0:
@@ -27,7 +35,7 @@
2735

2836
<requirements>
2937
<packages>
30-
<package vendor="ARM" name="CMSIS" version="5.1.0-0"/>
38+
<package vendor="ARM" name="CMSIS" version="5.3.0-0"/>
3139
</packages>
3240
</requirements>
3341

@@ -304,7 +312,7 @@
304312

305313
<components>
306314
<!-- CMSIS-RTOS FreeRTOS component -->
307-
<component Cclass="CMSIS" Cgroup="RTOS" Csub="FreeRTOS" Cversion="9.0.0" Capiversion="1.0.0" condition="FreeRTOS RTOS2 Core">
315+
<component Cclass="CMSIS" Cgroup="RTOS" Csub="FreeRTOS" Cversion="10.0.1" Capiversion="1.0.0" condition="FreeRTOS RTOS2 Core">
308316
<description>CMSIS-RTOS implementation for Cortex-M based on FreeRTOS</description>
309317
<RTE_Components_h>
310318
#define RTE_CMSIS_RTOS /* CMSIS-RTOS */
@@ -317,7 +325,7 @@
317325
</component>
318326

319327
<!-- CMSIS-RTOS2 FreeRTOS component -->
320-
<component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="9.1.0" Capiversion="2.1.1" condition="FreeRTOS RTOS2 CortexM">
328+
<component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="10.0.1" Capiversion="2.1.2" condition="FreeRTOS RTOS2 CortexM">
321329
<description>CMSIS-RTOS2 implementation for Cortex-M based on FreeRTOS</description>
322330
<RTE_Components_h>
323331
#define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
@@ -334,7 +342,7 @@
334342
</files>
335343
</component>
336344

337-
<component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="9.1.0" Capiversion="2.1.1" condition="FreeRTOS RTOS2 CortexA">
345+
<component Cclass="CMSIS" Cgroup="RTOS2" Csub="FreeRTOS" Cversion="10.0.1" Capiversion="2.1.2" condition="FreeRTOS RTOS2 CortexA">
338346
<description>CMSIS-RTOS2 implementation for Cortex-A based on FreeRTOS</description>
339347
<RTE_Components_h>
340348
#define RTE_CMSIS_RTOS2 /* CMSIS-RTOS2 */
@@ -350,10 +358,10 @@
350358
</files>
351359
</component>
352360

353-
<bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="9.0.0">
361+
<bundle Cbundle="FreeRTOS" Cclass="RTOS" Cversion="10.0.1">
354362
<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">
363+
<doc>http://www.freertos.org/Documentation/FreeRTOS_Reference_Manual_V10.0.0.pdf</doc>
364+
<component Cgroup="Core" Cversion="10.0.1" condition="FreeRTOS">
357365
<description>Core components API (Kernel, Tasks, Semaphores, Mutexes, Queues)</description>
358366
<RTE_Components_h>
359367
#define RTE_RTOS_FreeRTOS_CORE /* RTOS FreeRTOS Core */
@@ -388,9 +396,8 @@
388396
<file category="source" condition="CA9_DP_ARMCC" name="Source/portable/RVDS/ARM_CA9/port.c"/>
389397
<file category="sourceAsm" condition="CA9_DP_ARMCC" name="Source/portable/RVDS/ARM_CA9/portASM.s"/>
390398

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"/ -->
399+
<file category="include" condition="CM0_ARMCC6" name="Source/portable/GCC/ARM_CM0/"/>
400+
<file category="source" condition="CM0_ARMCC6" name="Source/portable/GCC/ARM_CM0/port.c"/>
394401
<file category="include" condition="CM3_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
395402
<file category="source" condition="CM3_ARMCC6" name="Source/portable/GCC/ARM_CM3/port.c"/>
396403
<file category="include" condition="CM4_ARMCC6" name="Source/portable/GCC/ARM_CM3/"/>
@@ -431,31 +438,31 @@
431438
</files>
432439
</component>
433440

434-
<component Cgroup="Config" Cvariant="CMSIS RTOS2" Cversion="9.0.0" condition="CMSIS RTOS2 FreeRTOS">
441+
<component Cgroup="Config" Cvariant="CMSIS RTOS2" Cversion="10.0.1" condition="CMSIS RTOS2 FreeRTOS">
435442
<description>FreeRTOS CMSIS-RTOS2 API configuration file</description>
436443
<RTE_Components_h>
437444
#define RTE_RTOS_FreeRTOS_CONFIG_RTOS2 /* RTOS FreeRTOS Config for CMSIS RTOS2 API */
438445
</RTE_Components_h>
439446
<files>
440447
<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"/>
448+
<file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCM/FreeRTOSConfig.h" version="10.0.1" condition="CoreM"/>
449+
<file category="header" attr="config" name="CMSIS/RTOS2/FreeRTOS/Config/ARMCA/FreeRTOSConfig.h" version="10.0.1" condition="CoreA"/>
443450
</files>
444451
</component>
445452

446-
<component Cgroup="Config" Cvariant="FreeRTOS" Cversion="9.0.0" condition="FreeRTOS Core">
453+
<component Cgroup="Config" Cvariant="FreeRTOS" Cversion="10.0.1" condition="FreeRTOS Core">
447454
<description>FreeRTOS API configuration file</description>
448455
<RTE_Components_h>
449456
#define RTE_RTOS_FreeRTOS_CONFIG /* RTOS FreeRTOS Config for FreeRTOS API */
450457
</RTE_Components_h>
451458
<files>
452459
<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"/>
460+
<file category="header" attr="config" name="Config/ARMCM/FreeRTOSConfig.h" version="10.0.0" condition="CoreM"/>
461+
<file category="header" attr="config" name="Config/ARMCA/FreeRTOSConfig.h" version="10.0.0" condition="CoreA"/>
455462
</files>
456463
</component>
457464

458-
<component Cgroup="Coroutines" Cversion="9.0.0" condition="FreeRTOS Core">
465+
<component Cgroup="Coroutines" Cversion="10.0.1" condition="FreeRTOS Core">
459466
<description>Co-routine API</description>
460467
<RTE_Components_h>
461468
#define RTE_RTOS_FreeRTOS_COROUTINE /* RTOS FreeRTOS Co-routines */
@@ -466,7 +473,7 @@
466473
</files>
467474
</component>
468475

469-
<component Cgroup="Event Groups" Cversion="9.0.0" condition="FreeRTOS Core">
476+
<component Cgroup="Event Groups" Cversion="10.0.1" condition="FreeRTOS Core">
470477
<description>Event Group API</description>
471478
<RTE_Components_h>
472479
#define RTE_RTOS_FreeRTOS_EVENTGROUPS /* RTOS FreeRTOS Event Groups */
@@ -476,8 +483,30 @@
476483
<file category="source" name="Source/event_groups.c"/>
477484
</files>
478485
</component>
486+
487+
<component Cgroup="Stream Buffer" Cversion="10.0.1" condition="FreeRTOS Core">
488+
<description>Stream Buffer API</description>
489+
<RTE_Components_h>
490+
#define RTE_RTOS_FreeRTOS_STREAM_BUFFER /* RTOS FreeRTOS Stream Buffers */
491+
</RTE_Components_h>
492+
<files>
493+
<file category="header" name="Source/include/stream_buffer.h"/>
494+
<file category="source" name="Source/stream_buffer.c"/>
495+
</files>
496+
</component>
497+
498+
<component Cgroup="Message Buffer" Cversion="10.0.1" condition="FreeRTOS Core">
499+
<description>Message Buffer API</description>
500+
<RTE_Components_h>
501+
#define RTE_RTOS_FreeRTOS_MESSAGE_BUFFER /* RTOS FreeRTOS Message Buffers */
502+
</RTE_Components_h>
503+
<files>
504+
<file category="header" name="Source/include/message_buffer.h"/>
505+
<file category="source" name="Source/stream_buffer.c"/>
506+
</files>
507+
</component>
479508

480-
<component Cgroup="Timers" Cversion="9.0.0" condition="FreeRTOS Core">
509+
<component Cgroup="Timers" Cversion="10.0.1" condition="FreeRTOS Core">
481510
<description>Timer API</description>
482511
<RTE_Components_h>
483512
#define RTE_RTOS_FreeRTOS_TIMERS /* RTOS FreeRTOS Timers */
@@ -488,7 +517,7 @@
488517
</files>
489518
</component>
490519

491-
<component Cgroup="Heap" Cvariant="Heap_1" Cversion="9.0.0" condition="FreeRTOS Core">
520+
<component Cgroup="Heap" Cvariant="Heap_1" Cversion="10.0.1" condition="FreeRTOS Core">
492521
<description>Very simple, does not permit memory to be freed.</description>
493522
<RTE_Components_h>
494523
#define RTE_RTOS_FreeRTOS_HEAP_1 /* RTOS FreeRTOS Heap 1 */
@@ -499,7 +528,7 @@
499528
</files>
500529
</component>
501530

502-
<component Cgroup="Heap" Cvariant="Heap_2" Cversion="9.0.0" condition="FreeRTOS Core">
531+
<component Cgroup="Heap" Cvariant="Heap_2" Cversion="10.0.1" condition="FreeRTOS Core">
503532
<description>Permits memory to be freed, but not does coalescence adjacent free memory blocks.</description>
504533
<RTE_Components_h>
505534
#define RTE_RTOS_FreeRTOS_HEAP_2 /* RTOS FreeRTOS Heap 2 */
@@ -510,7 +539,7 @@
510539
</files>
511540
</component>
512541

513-
<component Cgroup="Heap" Cvariant="Heap_3" Cversion="9.0.0" condition="FreeRTOS Core">
542+
<component Cgroup="Heap" Cvariant="Heap_3" Cversion="10.0.1" condition="FreeRTOS Core">
514543
<description>Wraps the standard malloc() and free() for thread safety.</description>
515544
<RTE_Components_h>
516545
#define RTE_RTOS_FreeRTOS_HEAP_3 /* RTOS FreeRTOS Heap 3 */
@@ -521,7 +550,7 @@
521550
</files>
522551
</component>
523552

524-
<component Cgroup="Heap" Cvariant="Heap_4" Cversion="9.0.0" condition="FreeRTOS Core" isDefaultVariant="true">
553+
<component Cgroup="Heap" Cvariant="Heap_4" Cversion="10.0.1" condition="FreeRTOS Core" isDefaultVariant="true">
525554
<description>Coalescences adjacent free memory blocks to avoid fragmentation. Includes absolute address placement option.</description>
526555
<RTE_Components_h>
527556
#define RTE_RTOS_FreeRTOS_HEAP_4 /* RTOS FreeRTOS Heap 4 */
@@ -532,7 +561,7 @@
532561
</files>
533562
</component>
534563

535-
<component Cgroup="Heap" Cvariant="Heap_5" Cversion="9.0.0" condition="FreeRTOS Core">
564+
<component Cgroup="Heap" Cvariant="Heap_5" Cversion="10.0.1" condition="FreeRTOS Core">
536565
<description>Same as Heap_4, with the ability to span the heap across multiple non-adjacent memory areas.</description>
537566
<RTE_Components_h>
538567
#define RTE_RTOS_FreeRTOS_HEAP_5 /* RTOS FreeRTOS Heap 5 */

CMSIS/RTOS2/FreeRTOS/Config/ARMCA/FreeRTOSConfig.h

Lines changed: 42 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,29 @@
1-
/*
2-
FreeRTOS V9.0.0 - Copyright (C) 2016 Real Time Engineers Ltd.
3-
All rights reserved
4-
5-
VISIT http://www.FreeRTOS.org TO ENSURE YOU ARE USING THE LATEST VERSION.
6-
7-
This file is part of the FreeRTOS distribution.
8-
9-
FreeRTOS is free software; you can redistribute it and/or modify it under
10-
the terms of the GNU General Public License (version 2) as published by the
11-
Free Software Foundation >>>> AND MODIFIED BY <<<< the FreeRTOS exception.
12-
13-
***************************************************************************
14-
>>! NOTE: The modification to the GPL is included to allow you to !<<
15-
>>! distribute a combined work that includes FreeRTOS without being !<<
16-
>>! obliged to provide the source code for proprietary components !<<
17-
>>! outside of the FreeRTOS kernel. !<<
18-
***************************************************************************
19-
20-
FreeRTOS is distributed in the hope that it will be useful, but WITHOUT ANY
21-
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
22-
FOR A PARTICULAR PURPOSE. Full license text is available on the following
23-
link: http://www.freertos.org/a00114.html
24-
25-
***************************************************************************
26-
* *
27-
* FreeRTOS provides completely free yet professionally developed, *
28-
* robust, strictly quality controlled, supported, and cross *
29-
* platform software that is more than just the market leader, it *
30-
* is the industry's de facto standard. *
31-
* *
32-
* Help yourself get started quickly while simultaneously helping *
33-
* to support the FreeRTOS project by purchasing a FreeRTOS *
34-
* tutorial book, reference manual, or both: *
35-
* http://www.FreeRTOS.org/Documentation *
36-
* *
37-
***************************************************************************
38-
39-
http://www.FreeRTOS.org/FAQHelp.html - Having a problem? Start by reading
40-
the FAQ page "My application does not run, what could be wrong?". Have you
41-
defined configASSERT()?
42-
43-
http://www.FreeRTOS.org/support - In return for receiving this top quality
44-
embedded software for free we request you assist our global community by
45-
participating in the support forum.
46-
47-
http://www.FreeRTOS.org/training - Investing in training allows your team to
48-
be as productive as possible as early as possible. Now you can receive
49-
FreeRTOS training directly from Richard Barry, CEO of Real Time Engineers
50-
Ltd, and the world's leading authority on the world's leading RTOS.
51-
52-
http://www.FreeRTOS.org/plus - A selection of FreeRTOS ecosystem products,
53-
including FreeRTOS+Trace - an indispensable productivity tool, a DOS
54-
compatible FAT file system, and our tiny thread aware UDP/IP stack.
55-
56-
http://www.FreeRTOS.org/labs - Where new FreeRTOS products go to incubate.
57-
Come and try FreeRTOS+TCP, our new open source TCP/IP stack for FreeRTOS.
58-
59-
http://www.OpenRTOS.com - Real Time Engineers ltd. license FreeRTOS to High
60-
Integrity Systems ltd. to sell under the OpenRTOS brand. Low cost OpenRTOS
61-
licenses offer ticketed support, indemnification and commercial middleware.
62-
63-
http://www.SafeRTOS.com - High Integrity Systems also provide a safety
64-
engineered and independently SIL3 certified version for use in safety and
65-
mission critical applications that require provable dependability.
66-
67-
1 tab == 4 spaces!
68-
*/
1+
/* --------------------------------------------------------------------------
2+
* Copyright (c) 2013-2018 Arm Limited. All rights reserved.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*
6+
* Licensed under the Apache License, Version 2.0 (the License); you may
7+
* not use this file except in compliance with the License.
8+
* You may obtain a copy of the License at
9+
*
10+
* www.apache.org/licenses/LICENSE-2.0
11+
*
12+
* Unless required by applicable law or agreed to in writing, software
13+
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
14+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
* See the License for the specific language governing permissions and
16+
* limitations under the License.
17+
*
18+
* --------------------------------------------------------------------------
19+
*
20+
* $Revision: V10.0.1
21+
*
22+
* Project: CMSIS-FreeRTOS
23+
* Title: FreeRTOS configuration definitions
24+
*
25+
* --------------------------------------------------------------------------*/
26+
6927

7028
#ifndef FREERTOS_CONFIG_H
7129
#define FREERTOS_CONFIG_H
@@ -89,7 +47,6 @@
8947

9048
#include "os_tick.h"
9149

92-
9350
//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
9451

9552
// <o>Minimal stack size [words] <0-65535>
@@ -122,6 +79,11 @@
12279
// <i> Default: 5
12380
#define configTIMER_QUEUE_LENGTH 5
12481

82+
// <o>Preemption interrupt priority
83+
// <i> Maximum priority of interrupts that are safe to call FreeRTOS API.
84+
// <i> Default: 16
85+
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 16
86+
12587
// <q>Use time slicing
12688
// <i> Enable setting to use timeslicing.
12789
// <i> Default: 1
@@ -163,22 +125,28 @@
163125
// <i> Default: 0
164126
#define configUSE_MALLOC_FAILED_HOOK 0
165127

166-
// <q>Interrupt controller base address
128+
// <o>Queue registry size
129+
// <i> Define maximum number of queue objects registered for debug purposes.
130+
// <i> The queue registry is used by kernel aware debuggers to locate queue and semaphore structures and display associated text names.
131+
// <i> Default: 0
132+
#define configQUEUE_REGISTRY_SIZE 0
133+
134+
// <o>Interrupt controller base address
167135
// <i> Must be set to the base address of the ARM Generic Interrupt Controller (GIC).
168136
// <i> Default: 0x2C000000
169137
#define configINTERRUPT_CONTROLLER_BASE_ADDRESS 0x2C000000UL
170138

171-
// <q>Interrupt controller CPU interface offset
139+
// <o>Interrupt controller CPU interface offset
172140
// <i> Must be set to the offset from interrupt controller base address at which the CPU interface starts.
173141
// <i> Default: 0x1000
174142
#define configINTERRUPT_CONTROLLER_CPU_INTERFACE_OFFSET 0x00000100UL
175143

176-
// <q>Interrupt controller unique priorities
144+
// <o>Interrupt controller unique priorities
177145
// <i> The number of unique priorities that can be specified in the ARM Generic Interrupt Controller (GIC).
178146
// <i> Default: 32
179147
#define configUNIQUE_INTERRUPT_PRIORITIES 32
180148

181-
// <q>Maximum API call interrupt priority
149+
// <o>Maximum API call interrupt priority
182150
// <i> Interrupts assigned a priority at or below this priority can call interrupt safe FreeRTOS API function, and will nest.
183151
// <i> Interrupts assigned a priority above this priority will not be effected by RTOS critical sections, and will nest,
184152
// <i> but cannot call any FreeRTOS API functions.
@@ -201,7 +169,6 @@
201169
#define configUSE_16_BIT_TICKS 0
202170
#define configUSE_PORT_OPTIMISED_TASK_SELECTION 0
203171
#define configMAX_PRIORITIES 56
204-
#define configMAX_SYSCALL_INTERRUPT_PRIORITY 16
205172
#define configKERNEL_INTERRUPT_PRIORITY 255
206173

207174
/* Defines that include FreeRTOS functions which implement CMSIS RTOS2 API. Do not change! */
@@ -225,6 +192,6 @@
225192
OS_Tick_Enable();
226193

227194
#define configCLEAR_TICK_INTERRUPT() \
228-
OS_Tick_AcknowledgeIRQ()
195+
OS_Tick_AcknowledgeIRQ()
229196

230197
#endif /* FREERTOS_CONFIG_H */

0 commit comments

Comments
 (0)