Skip to content

Commit a28b479

Browse files
committed
FreeRTOS v10.3.0
1 parent 0d90511 commit a28b479

30 files changed

+566
-153
lines changed

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=FreeRTOS
2-
version=10.2.0-3
2+
version=10.3.0-1
33
author=Richard Barry <info@freertos.org>
44
maintainer=Phillip Stevens <phillip.stevens@gmail.com>
55
sentence=Real Time Operating System implemented for AVR (Uno, Leonardo, Mega).

src/Arduino_FreeRTOS.h

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* FreeRTOS Kernel V10.2.0
3-
* Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
* FreeRTOS Kernel V10.3.0
3+
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of
66
* this software and associated documentation files (the "Software"), to deal in
@@ -237,6 +237,26 @@ extern "C" {
237237
#define configASSERT_DEFINED 1
238238
#endif
239239

240+
/* configPRECONDITION should be defined as configASSERT.
241+
The CBMC proofs need a way to track assumptions and assertions.
242+
A configPRECONDITION statement should express an implicit invariant or
243+
assumption made. A configASSERT statement should express an invariant that must
244+
hold explicit before calling the code. */
245+
#ifndef configPRECONDITION
246+
#define configPRECONDITION( X ) configASSERT(X)
247+
#define configPRECONDITION_DEFINED 0
248+
#else
249+
#define configPRECONDITION_DEFINED 1
250+
#endif
251+
252+
#ifndef portMEMORY_BARRIER
253+
#define portMEMORY_BARRIER()
254+
#endif
255+
256+
#ifndef portSOFTWARE_BARRIER
257+
#define portSOFTWARE_BARRIER()
258+
#endif
259+
240260
/* The timers module relies on xTaskGetSchedulerState(). */
241261
#if configUSE_TIMERS == 1
242262

@@ -762,8 +782,8 @@ extern "C" {
762782
#define portALLOCATE_SECURE_CONTEXT( ulSecureStackSize )
763783
#endif
764784

765-
#ifndef portHAS_STACK_OVERFLOW_CHECKING
766-
#define portHAS_STACK_OVERFLOW_CHECKING 0
785+
#ifndef portDONT_DISCARD
786+
#define portDONT_DISCARD
767787
#endif
768788

769789
#ifndef configUSE_TIME_SLICING
@@ -929,6 +949,7 @@ V8 if desired. */
929949
#define pcTimerGetTimerName pcTimerGetName
930950
#define pcQueueGetQueueName pcQueueGetName
931951
#define vTaskGetTaskInfo vTaskGetInfo
952+
#define xTaskGetIdleRunTimeCounter ulTaskGetIdleRunTimeCounter
932953

933954
/* Backward compatibility within the scheduler code only - these definitions
934955
are not really required but are included for completeness. */

src/FreeRTOSConfig.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* FreeRTOS Kernel V10.2.0
3-
* Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
* FreeRTOS Kernel V10.3.0
3+
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of
66
* this software and associated documentation files (the "Software"), to deal in

src/FreeRTOSVariant.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (C) 2019 Phillip Stevens All Rights Reserved.
2+
* Copyright (C) 2020 Phillip Stevens All Rights Reserved.
33
*
44
* Permission is hereby granted, free of charge, to any person obtaining a copy of
55
* this software and associated documentation files (the "Software"), to deal in

src/croutine.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* FreeRTOS Kernel V10.2.0
3-
* Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
* FreeRTOS Kernel V10.3.0
3+
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of
66
* this software and associated documentation files (the "Software"), to deal in

src/croutine.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* FreeRTOS Kernel V10.2.0
3-
* Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
* FreeRTOS Kernel V10.3.0
3+
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of
66
* this software and associated documentation files (the "Software"), to deal in
@@ -29,7 +29,7 @@
2929
#define CO_ROUTINE_H
3030

3131
#ifndef INC_ARDUINO_FREERTOS_H
32-
#error "include Arduino_FreeRTOS.h must appear in source files before include croutine.h"
32+
#error "include Arduino_FreeRTOS.h must appear in source files before include croutine.h"
3333
#endif
3434

3535
#include "list.h"
@@ -157,7 +157,7 @@ BaseType_t xCoRoutineCreate( crCOROUTINE_CODE pxCoRoutineCode, UBaseType_t uxPri
157157
}
158158
159159
// Alternatively, if you do not require any other part of the idle task to
160-
// execute, the idle task hook can call vCoRoutineScheduler() within an
160+
// execute, the idle task hook can call vCoRoutineSchedule() within an
161161
// infinite loop.
162162
void vApplicationIdleHook( void )
163163
{

src/event_groups.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* FreeRTOS Kernel V10.2.0
3-
* Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
* FreeRTOS Kernel V10.3.0
3+
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of
66
* this software and associated documentation files (the "Software"), to deal in

src/event_groups.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* FreeRTOS Kernel V10.2.0
3-
* Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
* FreeRTOS Kernel V10.3.0
3+
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of
66
* this software and associated documentation files (the "Software"), to deal in

src/heap_3.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
2-
* FreeRTOS Kernel V10.2.0
3-
* Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
2+
* FreeRTOS Kernel V10.3.0
3+
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
44
*
55
* Permission is hereby granted, free of charge, to any person obtaining a copy of
66
* this software and associated documentation files (the "Software"), to deal in
@@ -92,4 +92,3 @@ void vPortFree( void *pv )
9292
}
9393

9494
#endif /* ( configSUPPORT_DYNAMIC_ALLOCATION > 0 ) */
95-

src/history.txt

Lines changed: 97 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,77 @@
1-
Documentation and download available at https://www.FreeRTOS.org/
1+
Documentation and download available at http://www.FreeRTOS.org/
2+
3+
Changes between FreeRTOS V10.2.1 and FreeRTOS V10.3.0 released February 7 2020
4+
5+
See http://www.FreeRTOS.org/FreeRTOS-V10.3.x.html
6+
7+
New and updated kernel ports:
8+
9+
+ Added RISC-V port for the IAR compiler.
10+
+ Update the Windows simulator port to use a synchronous object to prevent
11+
a user reported error whereby a task continues to run for a short time
12+
after being moved to the Blocked state. Note we were not able to
13+
replicate the reported issue and it likely depends on your CPU model.
14+
+ Correct alignment of stack top in RISC-V port when
15+
configISR_STACK_SIZE_WORDS is defined to a non zero value, which causes
16+
the interrupt stack to be statically allocated.
17+
+ The RISC-V machine timer compare register can now be for any HART, whereas
18+
previously it was always assumed FreeRTOS was running on HART 0.
19+
+ Update the sequence used to update the 64-bit machine timer
20+
compare register on 32-bit cores to match that suggested in RISC-V
21+
documentation.
22+
+ Added tickless low power modes into the ARM, IAR and GCC Cortex-M0 compiler
23+
ports.
24+
+ Updated the behaviour of the ARMv7-M MPU (Memory Protection Unit) ports to
25+
match that of the ARMv8-M ports whereby privilege escalations can only
26+
originate from within the kernel's own memory segment. Added
27+
configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY configuration constant.
28+
+ Update existing MPU ports to correctly disable the MPU before it is
29+
updated.
30+
+ Added contributed port and demo application for a T-Head (formally C-SKY)
31+
microcontroller.
32+
33+
New API functions:
34+
35+
+ Added the vPortGetHeapStats() API function which returns information on
36+
the heap_4 and heap_5 state.
37+
+ Added xTaskCatchUpTicks(), which corrects the tick count value after the
38+
application code has held interrupts disabled for an extended period.
39+
+ Added xTaskNotifyValueClear() API function.
40+
+ Added uxTimerGetReloadMode() API function.
41+
42+
Other miscellaneous changes:
43+
+ Change type of uxPendedTicks from UBaseType_t to TickType_t to ensure it
44+
has the same type as variables with which it is compared to, and therefore
45+
also renamed the variable xPendingTicks.
46+
+ Update Keil projects that use the MPU so memory regions come from linker
47+
script (scatter file) variables instead of being hard coded.
48+
+ Added LPC51U68 Cortex-M0+ demos for GCC (MCUXpresso), Keil and IAR
49+
compilers.
50+
+ Added CORTEX_MPU_STM32L4_Discovery_Keil_STM32Cube demo.
51+
+ Added LPC54018 MPU demo.
52+
+ Rename xTaskGetIdleRunTimeCounter() to ulTaskGetIdleRunTimeCounter().
53+
54+
55+
Changes between FreeRTOS V10.2.1 and FreeRTOS V10.2.0 released May 13 2019:
56+
57+
+ Added ARM Cortex-M23 port layer to complement the pre-existing ARM
58+
Cortex-M33 port layer.
59+
+ The RISC-V port now automatically switches between 32-bit and 64-bit
60+
cores.
61+
+ Introduced the portMEMORY_BARRIER macro to prevent instruction re-ordering
62+
when GCC link time optimisation is used.
63+
+ Introduced the portDONT_DISCARD macro to the ARMv8-M ports to try and
64+
prevent the secure side builds from removing symbols required by the
65+
non secure side build.
66+
+ Introduced the portARCH_NAME to provide additional data to select semi-
67+
automated build environments.
68+
+ Cortex-M33 and Cortex-M23 ports now correctly disable the MPU before
69+
updating the MPU registers.
70+
71+
+ Added Nuvoton NuMaker-PFM-M2351 ARM Cortex-M23 demo.
72+
+ Added LPC55S69 ARM Cortex-M33 demo.
73+
+ Added an STM32 dual core AMP stress test demo.
74+
275

376
Changes between FreeRTOS V10.1.1 and FreeRTOS V10.2.0 released February 25 2019:
477

@@ -36,6 +109,9 @@ Changes between FreeRTOS V10.1.1 and FreeRTOS V10.2.0 released February 25 2019:
36109
previously a name had to be provided.
37110
+ When using tickless idle, prvResetNextTaskUnblockTime() is now only called
38111
in xTaskRemoveFromEventList() if the scheduler is not suspended.
112+
+ Introduced portHAS_STACK_OVERFLOW_CHECKING, which should be set to 1 for
113+
FreeRTOS ports that run on architectures that have stack limit registers.
114+
39115

40116
Changes between FreeRTOS V10.1.0 and FreeRTOS V10.1.1 released 7 September 2018
41117

@@ -91,7 +167,24 @@ Changes between FreeRTOS V10.0.1 and FreeRTOS V10.1.0 released 22 August 2018
91167
V10.0.0. FreeRTOS+TCP can be configured as a UDP only stack, and
92168
FreeRTOS+UDP does not contain the patches applied to FreeRTOS+TCP.
93169

94-
Changes since FreeRTOS V9.0.1:
170+
Changes between FreeRTOS V10.0.0 and FreeRTOS V10.0.1, released December 20 2017
171+
172+
+ Fix position of "#if defined( __cplusplus )" in stream_buffer.h.
173+
+ Correct declarations of MPU_xQueuePeek() and MPU_xQueueSemaphoreTake() in
174+
mpu_prototypes.h.
175+
+ Correct formatting in vTaskList() helper function when it prints the state
176+
of the currently executing task.
177+
+ Introduce #error if stream_buffer.c is built without
178+
configUSE_TASK_NOTIFICATIONS set to 1.
179+
+ Update FreeRTOS+TCP to V2.0.0
180+
- Improve the formatting of text that displays the available netword
181+
interfaces when FreeRTOS+TCP is used on Windows with WinPCap.
182+
- Introduce ipconfigSOCKET_HAS_USER_WAKE_CALLBACK option to enable a user
183+
definable callback to execute when data arrives on a socket.
184+
185+
Changes between FreeRTOS V9.0.1 and FreeRTOS V10.0.0:
186+
187+
The FreeRTOS kernel is now MIT licensed: https://www.FreeRTOS.org/license
95188

96189
New Features and components:
97190

@@ -447,6 +540,8 @@ Changes between V8.2.0 and V8.2.1 released 24th March 2015.
447540
Windows port.
448541
+ Update the PIC32 port to remove deprecation warnings output by the latest
449542
XC32 compilers.
543+
+ Fix bug when xQueueOverwrite() and xQueueOverwrite() from ISR are used to
544+
overwrite items in two queues that are part of the same set.
450545

451546
Demo application updates:
452547

@@ -2640,4 +2735,3 @@ Changes between V1.00 and V1.01
26402735

26412736

26422737

2643-

0 commit comments

Comments
 (0)