Lines Matching +full:freertos +full:- +full:kernel

1 Documentation and download available at https://www.FreeRTOS.org/
3 Changes between FreeRTOS V11.0.0 and FreeRTOS V11.0.1 released December 21, 2023
7 Changes between FreeRTOS V10.6.2 and FreeRTOS V11.0.0 released December 18, 2023
9 + SMP merged into the mainline: While FreeRTOS introduced Asymmetric
10 Multiprocessing (AMP) support in 2017, FreeRTOS Version 11.0.0 is the
12 release. SMP enables one instance of the FreeRTOS Kernel to schedule tasks
21 + Add a template FreeRTOS port which can be used as a starting point for
22 developing a new FreeRTOS port.
35 was last assigned to the task - which due to priority inheritance, may not
37 + Add pdTICKS_TO_MS macro to convert time in FreeRTOS ticks to time in
42 FreeRTOSConfig.h. We thank @mdnr-g for their contribution.
46 vTaskResume or vTaskResumeFromISR. We thank @Moral-Hao for their
49 FreeRTOS handlers for PendSV and SVCall interrupts on Cortex-M devices.
54 + Add CMake support to allow the application writer to select the RISC-V
58 + Make taskYIELD available to unprivileged tasks for ARMv8-M ports.
59 + Update Cortex-M23 ports to not use PSPLIM_NS. We thank @urutva for their
61 + Update the SysTick setup code for ARMv8-M ports to first configure the clock
66 + Add the port-optimized task selection algorithm optionally available for
67 ARMv7-M ports to the ARMv8-M ports. We thank @jefftenney for their
71 @Moral-Hao for their contribution.
74 @Moral-Hao for their contribution.
75 + Update xTaskNotifyWait and ulTaskNotifyTake to remove the non-deterministic
82 is bigger than the inherited priority. We thank @Moral-Hao for their
89 of the stack. We thank @bebebib-rs for their contribution.
95 Changes between FreeRTOS V10.6.1 and FreeRTOS V10.6.2 released November 29, 2023
99 - Introduce Access Control List (ACL) feature to allow the application
100 writer to control an unprivileged task’s access to kernel objects.
101 - Update the system call entry mechanism to only require one Supervisor
103 - Wrap parameters for system calls with more than four parameters in a
105 - Fix 2 possible integer overflows.
106 - Convert some asserts to run time parameter checks.
108 Changes between FreeRTOS V10.6.0 and FreeRTOS V10.6.1 released August 17, 2023
114 - Lan Luo, Zixia Liu of School of Computer Science and Technology,
116 - Xinwen Fu of Department of Computer Science, University of
118 - Xinhui Shao, Yumeng Wei, Huaiyu Yan, Zhen Ling of School of
121 Changes between FreeRTOS V10.5.1 and FreeRTOS 10.6.0 released July 13, 2023
127 1. Opaque and indirectly verifiable integers for kernel object handles:
128 All the kernel object handles (for example, queue handles) are now
133 3. Execute system calls on a separate privileged only stack: FreeRTOS
139 4. Memory bounds checks: FreeRTOS system calls which accept a pointer
140 and de-reference it, now verify that the calling task has required
144 - vQueueDelete
145 - xQueueCreateMutex
146 - xQueueCreateMutexStatic
147 - xQueueCreateCountingSemaphore
148 - xQueueCreateCountingSemaphoreStatic
149 - xQueueGenericCreate
150 - xQueueGenericCreateStatic
151 - xQueueCreateSet
152 - xQueueRemoveFromSet
153 - xQueueGenericReset
154 - xTaskCreate
155 - xTaskCreateStatic
156 - vTaskDelete
157 - vTaskPrioritySet
158 - vTaskSuspendAll
159 - xTaskResumeAll
160 - xTaskGetHandle
161 - xTaskCallApplicationTaskHook
162 - vTaskList
163 - vTaskGetRunTimeStats
164 - xTaskCatchUpTicks
165 - xEventGroupCreate
166 - xEventGroupCreateStatic
167 - vEventGroupDelete
168 - xStreamBufferGenericCreate
169 - xStreamBufferGenericCreateStatic
170 - vStreamBufferDelete
171 - xStreamBufferReset
176 - David Reiss of Meta Platforms, Inc.
177 - Lan Luo, Xinhui Shao, Yumeng Wei, Zixia Liu, Huaiyu Yan and Zhen Ling
180 - Xinwen Fu of Department of Computer Science, University of
182 - Yueqi Chen, Zicheng Wang, Minghao Lin, Jiahe Wang of University of
184 + Add Cortex-M35P port. Contributed by @urutva.
185 + Add embedded extension (RV32E) support to the IAR RISC-V port.
189 created kernel objects. The following new APIs are added:
190 - xTaskGetStaticBuffers
191 - xQueueGetStaticBuffers
192 - xQueueGenericGetStaticBuffers
193 - xSemaphoreGetStaticBuffer
194 - xEventGroupGetStaticBuffer
195 - xStreamBufferGetStaticBuffers
196 - xMessageBufferGetStaticBuffers
198 the kernel object and free/reuse them at the time of deletion. Earlier
200 and the kernel object in the application. Contributed by @Dazza0.
202 by @keith-packard.
212 + Add macros used in FreeRTOS-Plus libraries. Contributed by @Holden.
214 + Add assertions to ARMv8-M ports to detect when FreeRTOS APIs are called from
219 + Add the ability to use Cortex-R5 port on the parts without FPU.
221 + Update interrupt priority asserts for Cortex-M ports so that these do not fire
223 + Update ARMv7-M ports to ensure that kernel interrupts run at the lowest priority.
224 configKERNEL_INTERRUPT_PRIORITY is now obsolete for ARMv7-M ports and brings
225 these ports inline with the newer ARMv8-M ports. Contributed by @chrisnc.
232 Changes between FreeRTOS V10.5.0 and FreeRTOS V10.5.1 released November 16 2022
233 + Updated the kernel version in manifest and SBOM
235 Changes between FreeRTOS V10.4.6 and FreeRTOS V10.5.0 released September 16 2022
237 + ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
245 + ARMv7-M and ARMv8-M MPU ports: It was possible for an unprivileged task
254 + ARMv7-M and ARMv8-M MPU ports: It was possible for a third party that
257 FreeRTOS MPU API wrapper function with a manually crafted stack frame.
260 by branching directly inside a FreeRTOS MPU API wrapper.
264 + ARMv7-M MPU ports: It was possible to configure overlapping memory
266 privileged data. The kernel now uses highest numbered MPU regions for
267 kernel protections to prevent such MPU configurations.
270 + Add support for ARM Cortex-M55.
271 + Add support for ARM Cortex-M85. Contributed by @gbrtth.
272 + Add vectored mode interrupt support to the RISC-V port.
273 + Add support for RV32E extension (Embedded Profile) in RISC-V GCC port.
276 - Add a check to heap_2 to track if a memory block is allocated to
280 - Add a new flag configHEAP_CLEAR_MEMORY_ON_FREE to heap_2, heap_4
283 - Add a new API pvPortCalloc to heap_2, heap_4 and heap_5 which has the same
285 - Update the pointer types to portPOINTER_SIZE_TYPE. Contributed by
291 and stream buffers to be used differently - for example, some for inter core
302 + Generalize the FreeRTOS's Thread Local Storage (TLS) support so that it
303 is not tied to newlib and can be used with other c-runtime libraries also.
306 + Add support to build and link FreeRTOS using CMake build system. Contributed
309 + Add support for 16 MPU regions to the GCC Cortex-M33 ports.
310 + Add ARM Cortex-M7 r0p0/r0p1 Errata 837070 workaround to ARM CM4 MPU ports.
312 when using CM4 MPU ports on a Cortex-M7 r0p0/r0p1 core.
313 + Add configSYSTICK_CLOCK_HZ to Cortex-M0 ports. This is needed to support
322 observed when strict-aliasing and link time optimization are enabled.
327 without any warning with -Wmissing-prototypes compiler option.
339 The new function xTimerGetAutoReload() provides the auto-reload state as
350 + Fix a warning in tasks.c when compiled with -Wduplicated-branches
351 GCC option. Contributed by @pierrenoel-bouteville-act.
360 Contributed by @felipe-iar.
361 + Add tick type is atomic flag when tick count is 16-bit to PIC24 port. This
364 + Fix offset-out-of-range errors for GCC CM3/CM4 mpu ports when
366 + Remove #error when RISC-V port is compiled on a 64-bit RISC-V platform.
368 + Fix ullPortInterruptNesting alignment in Cortex-A53 port so that it is
369 8-byte aligned. This fixes the unaligned access exception. Contributed
373 + Change FreeRTOS IRQ Handler for Cortex-A53 SRE port to store and restore
380 Changes between FreeRTOS V10.4.5 and FreeRTOS V10.4.6 released November 12 2021
382 + ARMv7-M and ARMv8-M MPU ports – prevent non-kernel code from calling the
390 Changes between FreeRTOS V10.4.4 and FreeRTOS V10.4.5 released September 10 2021
392 See https://www.FreeRTOS.org/FreeRTOS-V10.4.5.html
398 + Introduce ulTaskGetIdleRunTimePercent() to complement the pre-existing
399 ulTaskGetIdleRunTimeCounter(). Whereas the pre-existing function returns
405 + ARMv8-M secure-side port: Tasks that call secure functions from the
406 non-secure side of an ARMv8-M MCU (ARM Cortex-M23 and Cortex-M33) have two
407 contexts - one on the non-secure side and one on the secure-side. Previous
408 versions of the FreeRTOS ARMv8-M secure-side ports allocated the structures
409 that reference secure-side contexts at run time. Now the structures are
414 Applications that only use FreeRTOS code on the non-secure side, such as
415 those running third-party code on the secure side, are not affected by
418 Changes between FreeRTOS V10.4.3 and FreeRTOS V10.4.4 released May 28 2021
423 post to its own event queue. A consequence of this change is that auto-
435 (configMAX_PRIORITIES - 1) should it be set to a value above that priority.
447 + Update the ESP32 port and TF-M (Trusted Firmware M)code to the latest from
455 Multiprocessing Kernel. https://github.com/FreeRTOS/FreeRTOS-Kernel/tree/smp
457 Changes between FreeRTOS V10.4.2 and FreeRTOS V10.4.3 released December 14 2020
459 …V10.4.3 is included in the 202012.00 LTS release. Learn more at https:/freertos.org/lts-libraries…
461 See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
466 - xTaskCreateRestricted
467 - xTaskCreateRestrictedStatic
468 - vTaskAllocateMPURegions
471 Changes between FreeRTOS V10.4.1 and FreeRTOS V10.4.2 released November 10 2020
473 See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
475 + Fix an issue in the ARMv8-M ports that caused BASEPRI to be masked
477 a FreeRTOS API call.
484 + Re-introduce uxTopUsedPriority to support OpenOCD debugging.
485 + Convert most dependent libraries in FreeRTOS/FreeRTOS to submodules.
489 Changes between FreeRTOS V10.4.0 and FreeRTOS V10.4.1 released September 17 2020
491 See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
498 Changes between FreeRTOS V10.3.1 and FreeRTOS V10.4.0 released September 10 2020
500 See https://www.FreeRTOS.org/FreeRTOS-V10.4.x.html
504 + Task notifications: Prior to FreeRTOS V10.4.0 each created task had a
505 single direct to task notification. From FreeRTOS V10.4.0 each task has
509 https://www.freertos.org/RTOS-task-notifications.html for more information.
510 + Kernel ports that support memory protection units (MPUs): The ARMv7-M and
511 ARMv8-M MPU ports now support a privilege access only heap. The ARMv7-M
514 regions, and have the ability to place the FreeRTOS kernel code outside of
515 the Flash memory. The ARMv8-M MPU ports now support tickless idle mode.
516 See https://www.freertos.org/FreeRTOS-MPU-memory-protection-unit.html
522 collaborative development in Git. The auto-formated code is not identical
526 such as vApplicationStackOverflowHook()) are now in the FreeRTOS header
532 + Added new POSIX port layer that allows FreeRTOS to run on Linux hosts in
533 the same way the Windows port layer enables FreeRTOS to run on Windows
536 see https://github.com/FreeRTOS/FreeRTOS-Kernel/commits/main
539 Changes between FreeRTOS V10.3.0 and FreeRTOS V10.3.1 released February 18 2020
541 See https://www.FreeRTOS.org/FreeRTOS-V10.3.x.html
543 + ./FreeRTOS-Labs directory was removed from this file. The libraries it
546 Changes between FreeRTOS V10.2.1 and FreeRTOS V10.3.0 released February 7 2020
548 See https://www.FreeRTOS.org/FreeRTOS-V10.3.x.html
550 New and updated kernel ports:
552 + Added RISC-V port for the IAR compiler.
557 + Correct alignment of stack top in RISC-V port when
560 + The RISC-V machine timer compare register can now be for any HART, whereas
561 previously it was always assumed FreeRTOS was running on HART 0.
562 + Update the sequence used to update the 64-bit machine timer
563 compare register on 32-bit cores to match that suggested in RISC-V
565 + Added tickless low power modes into the ARM, IAR and GCC Cortex-M0 compiler
567 + Updated the behaviour of the ARMv7-M MPU (Memory Protection Unit) ports to
568 match that of the ARMv8-M ports whereby privilege escalations can only
569 originate from within the kernel's own memory segment. Added
573 + Added contributed port and demo application for a T-Head (formally C-SKY)
591 + Added LPC51U68 Cortex-M0+ demos for GCC (MCUXpresso), Keil and IAR
598 Changes between FreeRTOS V10.2.1 and FreeRTOS V10.2.0 released May 13 2019:
600 + Added ARM Cortex-M23 port layer to complement the pre-existing ARM
601 Cortex-M33 port layer.
602 + The RISC-V port now automatically switches between 32-bit and 64-bit
604 + Introduced the portMEMORY_BARRIER macro to prevent instruction re-ordering
606 + Introduced the portDONT_DISCARD macro to the ARMv8-M ports to try and
609 + Introduced the portARCH_NAME to provide additional data to select semi-
611 + Cortex-M33 and Cortex-M23 ports now correctly disable the MPU before
614 + Added Nuvoton NuMaker-PFM-M2351 ARM Cortex-M23 demo.
615 + Added LPC55S69 ARM Cortex-M33 demo.
619 Changes between FreeRTOS V10.1.1 and FreeRTOS V10.2.0 released February 25 2019:
621 + Added GCC RISC-V MCU port with three separate demo applications.
622 + Included pre-existing ARM Cortex-M33 (ARMv8-M) GCC/ARMclang and IAR ports
627 re-added to a list, so now the timer's active status is stored separately.
644 complex and was moved to FreeRTOS.h with a table explaining its definition.
655 FreeRTOS ports that run on architectures that have stack limit registers.
658 Changes between FreeRTOS V10.1.0 and FreeRTOS V10.1.1 released 7 September 2018
660 + Reverted a few structure name changes that broke several kernel aware
661 debugger plug-ins.
663 + Fixed some formatting in the FreeRTOS+TCP TCP/IP stack code.
667 Changes between FreeRTOS V10.0.1 and FreeRTOS V10.1.0 released 22 August 2018
669 FreeRTOS Kernel Changes:
677 struct to be renamed - set configENABLE_BACKWARD_COMPATIBILITY to 1 if
680 functionality in a more user friendly way - previously the generic thread
690 configSTACK_DEPTH_TYPE in place of uint16_t - that change should have been
692 16-bit limit on stack size specifications) was introduced.
706 + FreeRTOS+UDP was removed in FreeRTOS V10.1.0 as it was replaced by
707 FreeRTOS+TCP, which was brought into the main download in FreeRTOS
708 V10.0.0. FreeRTOS+TCP can be configured as a UDP only stack, and
709 FreeRTOS+UDP does not contain the patches applied to FreeRTOS+TCP.
711 FreeRTOS+TCP Changes:
721 Changes between FreeRTOS V10.0.0 and FreeRTOS V10.0.1, released December 20 2017
730 + Update FreeRTOS+TCP to V2.0.0
731 - Improve the formatting of text that displays the available netword
732 interfaces when FreeRTOS+TCP is used on Windows with WinPCap.
733 - Introduce ipconfigSOCKET_HAS_USER_WAKE_CALLBACK option to enable a user
736 Changes between FreeRTOS V9.0.1 and FreeRTOS V10.0.0:
738 The FreeRTOS kernel is now MIT licensed: https://www.FreeRTOS.org/license
742 + Stream Buffers - see https://www.FreeRTOS.org/RTOS-stream-buffer-example.html
743 + Message Buffers - see https://www.FreeRTOS.org//RTOS-message-buffer-example.html
744 + Move FreeRTOS+TCP into the main repository, along with the basic Win32
757 + Cortex-M ports push additional register prior to calling
758 vTaskSwitchContext to ensure 8-byte alignment is maintained. Only
760 requires 8-byte alignment.
762 Cortex-M devices.
767 + The uxNumberOfItems member of List_t is now volatile - solving an issue
772 functionality, and user defined initialisation, to be added to FreeRTOS's
784 even called - previously it was only possible to abort from within the
797 checking, or high water mark checking/viewing, is in use - removing the
806 Changes since FreeRTOS V9.0.0:
808 + Priority dis-inheritance behaviour has been enhanced in the case where a
820 testing purposes - although setting configUSE_16_BIT_TICKS to 1 can also
822 + Ensure the Cortex-M SysTick count is cleared to zero before starting the
824 + Add configASSERT() into ARM Cortex-M ports to check the number of priority
826 + Clear the 'control' register before starting ARM Cortex-M4F ports in case
834 when FreeRTOS was only used on small MCUs, the type was set to uint16_t,
835 but that can be too restrictive when FreeRTOS is used on larger
843 Changes between FreeRTOS V9.0.0 and FreeRTOS V9.0.0rc2 released May 25 2016:
845 See https://www.FreeRTOS.org/FreeRTOS-V9.html
847 RTOS kernel updates:
854 https://www.FreeRTOS.org/xTaskCreateStatic.html
855 + GCC ARM Cortex-A port: Introduced the configUSE_TASK_FPU_SUPPORT
858 + GCC ARM Cortex-A port: It is now possible to automatically save and
862 + All ARM Cortex-M3/4F/7 ports: Clear the least significant bit of the task
864 strict compliance with the ARM Cortex-M3/4/7 architecture documentation
866 + Added GCC and Keil ARM Cortex-M4F MPU ports - previously the MPU was only
867 supported on ARM Cortex-M3.
868 + ARM Cortex-M3/4F MPU ports: Update to fully support the FreeRTOS V9.0.0
870 FreeRTOS/Demo/CORTEX_MPU_Simulator_Keil_GCC demo application to
872 + All ARM Cortex-M3/4F/7 ports: Add additional barrier instructions to the
874 + All ARM Cortex-M0 ports: Prevent an item being left on the stack of the
878 + Add an ARM Cortex-M4F port for the MikroC compiler. Ensure to read the
894 + Move the Xilinx UltraScale Cortex-R5 demo into the main distribution.
896 + Add Microchip CEC1302 (ARM Cortex-M4F) demos for GCC, Keil and MikroC
900 Changes between FreeRTOS V9.0.0rc1 and FreeRTOS V9.0.0rc2 (release candidate 2)
903 NOTE - See https://www.FreeRTOS.org/FreeRTOS-V9.html for details
909 allow a FreeRTOS application to be built without a heap even being being
911 /FreeRTOS/demo/WIN32-MSVC-Static-Allocation-Only directory is provided as
912 a reference for projects that do not include a FreeRTOS heap.
913 + Minor run-time optimisations.
918 Changes between FreeRTOS V8.2.3 and FreeRTOS V9.0.0rc1 (release candidate 1)
921 RTOS Kernel Updates:
923 + Major new feature - tasks, semaphores, queues, timers and event groups can
926 + Major new features - Added the xTaskAbortDelay() API function which allows
930 + Updates necessary to allow FreeRTOS to run on 64-bit architectures.
939 later re-use.
953 the array that will be used as the FreeRTOS heap, and in-so-doing, place
962 + Replicate previous Cortex-M4F and Cortex-M7 optimisations in some
963 Cortex-M3 port layers.
967 Further demo applications will be added prior to the final FreeRTOS V9
971 + Added ARM Cortex-A53 64-bit port.
972 + Added a port and demo for the ARM Cortex-A53 64-bit cores on the Xilinx
974 + Added Cortex-M7 SAME70 GCC demo.
980 RTOS kernel updates:
987 + New IAR and GCC Cortex-R ports for microprocessors that do not use an ARM
1002 + License simplifications. See /FreeRTOS/License/license.txt in the
1005 FreeRTOS+ updates:
1008 WolfSSL's re-branding.
1010 + Update to latest FreeRTOS+Trace recorder code.
1011 + Add in the FreeRTOS+Trace recorder library required for streaming trace.
1015 + Add demo applications for Renesas RZ/T (Cortex-R), PIC32MZ EF (PIC32 with
1022 RTOS kernel updates:
1024 + Added Intel IA32/x86 32-bit port.
1029 + Add the errno definitions used by FreeRTOS+ components into projdefs.h.
1030 + Remove the restriction that prevented tick-less idle implementations
1045 + Update heap_4 and heap_5 to allow use on 64-bit processors.
1047 + General improved tick-less idle behaviour.
1048 + Ensure none of the variables in the common kernel files are initialised to
1057 + Added FreeRTOS BSP repository for automatic creation of FreeRTOS
1059 + Added Atmel Studio / GCC project for the SAMV71 (ARM Cortex-M7)
1064 FreeRTOS+ Updates:
1066 + Updated FreeRTOS+Trace recorder library, which requires an update to the
1067 FreeRTOS+Trace application.
1071 + Introduce configAPPLICATION_PROVIDES_cOutputBuffer to allow FreeRTOS+CLI
1074 FreeRTOS+UDP.
1078 RTOS kernel updates:
1085 + Added ARM Cortex-M4F port for Texas Instruments Code Composer Studio.
1086 + Added ARM Cortex-M7 r0p1 port layer for IAR, GCC and Keil which contains a
1087 minor errata work around. All other ARM Cortex-M7 core revisions should
1088 use the ARM Cortex-M4F port.
1090 + Change some data types from uint32_t to size_t in preparation for 64-bit
1099 + Added demo application for TI's ARM Cortex-M4F based MSP432
1101 + Added demo application for STM32F ARM Cortex-M7 based microcontroller
1103 + Added demo application for Atmel SAMV71 ARM Cortex-M7 based
1113 Significant RTOS kernel updates:
1116 details: https://www.FreeRTOS.org/RTOS-task-notifications.html
1118 a new header file called FreeRTOS/Source/include/deprecated_definitions.h.
1122 Other RTOS kernel updates:
1133 + GCC, IAR and Keil Cortex-M4F ports now use more inlining (performance
1139 tick count to be read atomically (performance benefits - especially when
1142 application writer to provide their own heap array - and in so doing
1147 is likely application code has written over RAM used by the kernel.
1148 + configASSERT()s in all Cortex-M ports used to test the lowest 5 bits of
1154 + Cortex-A5 GIC-less port no longer passes the address of the interrupting
1156 + Fix an issue in FreeRTOS-MPU where an attempt was made to free the stack
1162 + Update FreeRTOS+Trace recorder library to version 2.7.0.
1167 + Added port and demo application for Atmel SAMA5D4 Cortex-A5 MPU.
1168 + Added demo application for Altera Cyclone V Cortex-A9 MPU.
1176 + Updated MSVC FreeRTOS simulator demo to include the latest standard test
1178 + Updated MingW/Eclipse FreeRTOS simulator demo to match the FreeRTOS MSVC
1180 + Updated all demos that use FreeRTOS+Trace to work with the latest trace
1192 By popular requests - a minor patch to V8.1.0 to re-instate the ability to
1198 FreeRTOS scheduler, kernel, demo and test updates:
1203 span multiple non-contiguous memory regions.
1204 + Updated all Cortex-A9 ports to help trap a couple of common usage errors -
1208 + Update all Cortex-A9 ports to remove obsolete mode switches prior to
1211 + Update all Cortex-M3/4F ports to trap a non interrupt safe API function
1218 + Updated the standard demo tasks to make use of stdint and the FreeRTOS
1219 specific typedefs that were introduced in FreeRTOS V8.0.0.
1221 alternative to pdTICKS_PER_MS - both of which can be used to convert a
1223 + Fix a bug in the Tasking compiler's Cortex-M port that resulted in an
1229 + Updated the CCS Cortex-R4 port to enable it to be built with the latest
1236 + Generic IAR Cortex-A5 port (without any reliance on a GIC) introduced.
1239 FreeRTOS+ component updates:
1242 + Updated the FreeRTOS+ components supplied directly by Real Time Engineers
1243 Ltd. to make use of stdint and the FreeRTOS specific typedefs that were
1244 introduced in FreeRTOS V8.0.0.
1245 + Rework and simplify the FreeRTOS+FAT SL RAM disk driver.
1249 + Update the IAR and DS-5/ARM RZ demos to target the official RZ RSK
1264 + Minor fixes to FreeRTOS+FAT SL - namely seeking beyond the end of a file
1266 + Ensure Cortex-A9 system registers are only ever accessed as 32-bit values,
1280 https://www.FreeRTOS.org/upgrading-to-FreeRTOS-V8.html
1282 FreeRTOS V8.x.x is a drop-in compatible replacement for FreeRTOS V7.x.x,
1287 See https://www.FreeRTOS.org/upgrading-to-FreeRTOS-V8.html for full
1292 + Event groups - see https://www.FreeRTOS.org/FreeRTOS-Event-Groups.html
1293 + Centralised deferred interrupt processing - see
1294 https://www.FreeRTOS.org/xTimerPendFunctionCallFromISR.html
1304 microcontroller - see
1305 https://www.FreeRTOS.org/STM32L-discovery-low-power-tickless-RTOS-demo.html
1317 + Add Cortex-A9 GCC port layer.
1323 V7.6.0 changes some behaviour when the co-operative scheduler is used (when
1325 behaviour of the pre-emptive scheduler is unchanged - the following
1338 set to 0, so the normal pre-emptive scheduler is being used, then task B
1344 + Update the PIC32MX port layer to re-introduce some ehb instructions that
1353 + Slight improvement to the Cortex-M4F port layers where previously one
1359 + Update the Cortex-M0 port layers to allow the scheduler to be started
1365 correctly with the updated co-operative scheduling behaviour.
1367 FreeRTOS+UDP, FreeRTOS+FAT SL and FreeRTOS+CLI.
1369 FreeRTOS+ Changes:
1371 + Minor maintenance on FreeRTOS+UDP.
1375 Kernel changes:
1378 same tick interrupt - revert to that original behaviour.
1380 + Introduced the prvTaskExitError() function to Cortex-M0, Cortex-M3/4
1381 and Cortex-M4F ports. prvTaskExitError() is used to trap tasks that
1384 + The Cortex-M0 version of portSET_INTERRUPT_MASK_FROM_ISR and
1386 + Improved behaviour and robustness of the default Cortex-M tickless idle
1389 all Cortex-M4F ports.
1390 + Add Cortex-M0 port for Keil.
1395 FreeRTOS+ changes:
1397 + Update FreeRTOS+UDP to V1.0.1 - including direct integration of the
1398 FreeRTOS+Nabto task, improvements to the DHCP behaviour, and a correction
1400 network down event. The FreeRTOS+UDP change history is maintained
1405 + Replace double quotes (") with single quotes (') in FreeRTOS+CLI help
1407 in the FreeRTOS+Nabto demos.
1411 + Added demo for the Atmel SAMD20 Cortex-M0+. The demo includes
1412 FreeRTOS+CLI
1413 + Added a demo for the Infineon Cortex-M0 that can be built with the IAR
1424 V7.5.2 makes the new Cortex-M vPortCheckInterruptPriority() function
1435 Compatibility information for FreeRTOS users:
1436 FreeRTOS V7.5.0 is backward compatible with FreeRTOS V7.4.0 with one
1443 Compatibility information for FreeRTOS port writers:
1450 + Core kernel files now pass PC-Lint V8 static checking without outputting
1455 + uxTaskGetSystemState() https://www.FreeRTOS.org/uxTaskGetSystemState.html
1456 + xQueueOverwrite() https://www.FreeRTOS.org/xQueueOverwrite.html
1461 are now incorporated into the main FreeRTOS zip file download:
1463 + ARM Cortex-A9 IAR
1464 + ARM Cortex-A9 ARM compiler
1469 https://freertos.org/a00110.html
1483 will trigger if an interrupt safe FreeRTOS function is called from an
1486 + The included FreeRTOS+Trace recorder code has been updated to the latest
1489 + The FreeRTOS Windows Simulator (MSVC version only) has been updated to
1495 + As FreeRTOS now comes with FreeRTOS+FAT SL (donated by HCC) the Chan FATfs
1496 files have been removed from FreeRTOS/Demo/Common.
1497 + Fix build error when R4 port is build in co-operative mode.
1502 NOTE: There are no changes in the FreeRTOS kernel between V7.4.1 and V7.4.2
1504 + Added FreeRTOS+FAT SL source code and demo project. The demo project
1505 runs in the FreeRTOS Windows simulator for easy and hardware independent
1506 experimentation and evaluation. See https://www.FreeRTOS.org/fat_sl
1512 the yield macros of Cortex-M and Cortex-R port layers. For efficiency
1513 the Cortex-M port layer "yield" and "yield" from ISR are now implemented
1515 + Added FreeRTOS+UDP into main download.
1516 + Reorganised the FreeRTOS+ directory so it now matches the FreeRTOS
1518 + Implemented the Berkeley sockets select() function in FreeRTOS+UDP.
1522 tickless (tick suppression) low power FreeRTOS features.
1535 https://www.FreeRTOS.org/Pend-on-multiple-rtos-objects.html
1537 ARM Cortex-M3 port layers.
1538 + Enhanced tickless support in the core kernel code with the introduction of
1545 + Added the FreeRTOS+Trace recorder code to the MSVC Win32 demo.
1547 pre-processor macro for backward compatibility with the previous name.
1551 + Updated the CCS Cortex-R4 port layer to replace the CLZ assembler function
1559 + Minor changes to tasks.c that allow the state viewer plug-ins to display
1564 + Update the FreeRTOS+Trace recorder code to the latest version.
1576 + Reworked the Cortex-M3 and Cortex-M4F port layers for GCC, Keil and IAR to
1583 macros in the Cortex-M ports. The save macro now returns the previous
1585 changes are not necessary for the kernel's own implementation, and are
1593 + Added SAM3 demos targeting the ATSAM3S-EK2 and ATSAM3X-EK evaluation
1598 + Improved character handling in FreeRTOS+CLI.
1602 FreeRTOS V7.2.0 is backward compatible with FreeRTOS V7.1.2.
1604 + Added a FreeRTOS+ sub-directory. The directory contains some FreeRTOS+
1605 source code, and example projects that use the FreeRTOS Win32 simulator.
1608 + Added a demo that targets the Atmel SAM4S Cortex-M4 based microcontroller.
1612 + The last parameter in ISR safe FreeRTOS queue and semaphore functions
1619 + Added a vQueueDelete() handler for the FreeRTOS MPU port (this was
1621 + Updated the vPortSVCHandler() functions in the FreeRTOS MPU port layer to
1626 + Add #error macros into the Keil and IAR Cortex-M ports to ensure they
1629 + Added comments in the FreeRTOSConfig.h files associated with Cortex-M3 and
1630 Cortex-M4 demos stating that the configMAX_SYSCALL_INTERRUPT_PRIORITY
1634 + Added two new list handling macros - for internal use only in upcoming new
1637 macros. FreeRTOS+Trace supersedes the legacy trace.
1645 used in the FreeRTOS MPU port.
1647 to ensure compatibility with FreeRTOS MPU.
1654 + Cortex-M3 Tasking
1657 of months, but are now included in the main FreeRTOS download.
1658 + Cortex-M0 IAR
1659 + Cortex-M0 GCC
1660 + Cortex-M4F GCC (with full floating point support)
1669 of months, but are now included in the main FreeRTOS download.
1678 Kernel miscellaneous / maintenance:
1682 macro available for use by FreeRTOS+Trace (https://www.FreeRTOS.org/trace).
1684 FreeRTOS+Trace versions to provide even more information to users.
1685 + Updated the FreeRTOS MPU port to be correct for changes that were
1686 introduced in FreeRTOS V7.1.0.
1693 + Correct the alignment given to the initial stack of Cortex-M4F tasks.
1697 the port making use of the traceTASK_DELETE() trace macros - leaving this
1698 macro free for use by FreeRTOS+Trace.
1703 V7.1.0 as it broke the IAR plug-in.
1708 + The command interpreter has now been formally released as FreeRTOS+CLI,
1709 and been moved out of the main FreeRTOS download, to instead be available
1710 from the FreeRTOS+ Ecosystem site https://www.FreeRTOS.org/plus.
1737 + Cortex-M4F IAR port.
1738 + Cortex-M4F Keil/RVDS port.
1746 the IAR STM32F407ZG-SK starter kit.
1755 can execute stand alone - without being connected to the debugger.
1759 return parameter sub-strings.
1766 ports - including the new TriCore port where the checked pointer does not
1769 up when a task is deleted - again this is required by the TriCore port.
1777 + The legacy trace mechanism has been completely removed - it has been
1784 - the queue structure includes an additional member to hold the queue
1787 - the queue structure includes an additional member to hold a queue
1789 purposes. The kernel does not use the queue number itself.
1790 - the TCB structure includes an additional member to hold a task number
1792 purposes. The kernel does not use the task number itself.
1795 + Added two new trace macros - traceTASK_PRIORITY_INHERIT() and
1810 + The official FreeRTOS Renesas RX200 port and demo application have been
1811 incorporated into the main FreeRTOS zip file download.
1812 + The official FreeRTOS Renesas RL78 port and demo application have been
1813 incorporated into the main FreeRTOS zip file download.
1814 + The official FreeRTOS Freescale Kinetis K60 tower demo application has
1815 been incorporated into the main FreeRTOS zip file download. This includes
1823 + The official FreeRTOS Fujitsu FM3 MB9A310 demo application has been
1824 incorporated into the main FreeRTOS zip file download. Projects are
1854 + The old Virtex-4 Microblaze demo has been marked as deprecated. Please
1855 use the brand new Spartan-6 port and demo in its place.
1857 FreeRTOS/Demo/Common/Utils/CommandInterpreter.c. This is still a work in
1869 + lwIP V1.4.0 is now included in the FreeRTOS/Demo/Common directory, and
1882 heavy load, and updated the uIP handling task to make use of the FreeRTOS
1893 FreeRTOS V7.0.0 is backward compatible with FreeRTOS V6.x.x
1904 + Various enhancements to the kernel implementation in tasks.c. These are
1905 transparent to users and do not effect the pre-existing API.
1906 + Added calls to configASSERT() within the kernel code. configASSERT() is
1923 kernel).
1942 revisions, and the new J-Link debug interface DLL.
1965 immediately suspended even when the kernel has not been started. This
1966 allows them to effectively start in the Suspended state - a feature that
1991 new Community Contributions section of the FreeRTOS website. See
1992 https://www.FreeRTOS.org/RTOS-contributed-ports.html
2002 + SuperH SH7216 (SH2A-FPU) port and demo application added.
2006 be defined when a memory protection unit (MPU) is being used - and then
2023 + Altered pxPortInitialiseStack() for all Cortex-M3 ports to ensure the
2027 The following minor changes only effect the Cortex-M3 MPU port:
2041 FreeRTOS V6 is backward compatible with FreeRTOS V5.x.
2045 + FreeRTOS V6 is the first version to include memory protection unit (MPU)
2046 support. Two ports now exist for the Cortex M3, the standard FreeRTOS
2047 which does not include MPU support, and FreeRTOS-MPU which does.
2049 in support of FreeRTOS-MPU.
2061 setting up the initial stack of a task - removing the need for
2077 + Posix simulator has been upgraded - see the corresponding WEB page on the
2078 FreeRTOS.org site.
2127 + Added a new demo application for the Atmel AT91SAM3U Cortex-M3 based
2129 + Added a new demo application for the NXP LPC1766 Cortex-M3 based
2131 + Added a contributed port/demo that allows FreeRTOS to be 'simulated' in a
2136 statistics gathering feature - and include a served WEB page that
2174 + Updated the threads.js Java script used for kernel aware debugging in
2184 + Included FreeRTOS-uIP - a faster uIP. This is not yet complete.
2194 + BUG FIX - set the PIC32 definition of portSTACK_GROWTH to the correct
2195 value of -1.
2207 + Completely re-written port for ColdFire GCC.
2210 + Some header files require that FreeRTOS.h be included prior to their
2220 ports and demos. See the port documentation pages on the FreeRTOS.org
2237 allows the omit-frame-pointer optimisation to be turned off.
2242 interrupts above the kernel interrupt priority, and to allow full
2245 used to allow the use of a floating point co-processor. The
2254 above the kernel priority. This is only supported on PIC32 ports thus
2258 + Remove all inline usage of 'inline' from the core kernel code.
2260 means for kernel aware debuggers to locate queue definitions. It has no
2261 purpose unless you are using a kernel aware debugger. The queue registry
2263 + Added the ST Cortex-M3 drivers into the Demo/Common/Drivers directory to
2277 *** VERY IMPORTANT INFORMATION ON UPGRADING TO FREERTOS.ORG V5.0.0 ***
2287 + Support added for the new Luminary Micro LM3S3768 and LM3S3748 Cortex-M3
2300 + Efficiency improvements to the Cortex-M3 port layer. NOTE: This
2308 + Ports that used the arm-stellaris-eabi-gcc tools have been converted to
2309 use the arm-non-eabi-gcc tools.
2317 + Removed some redundant casting that was generating warnings - but was
2328 + Updating demos to allow more to run with the co-operative scheduler.
2329 + Fixed co-operative scheduler behaviour upon the occurrence of a tick
2358 without the -fomit-frame-pointer option, and at all optimisation levels.
2365 xQueueSend() function - which is maintained for backward compatibility.
2376 + Optimised the GCC and IAR port layer code - specifically the context
2386 + Added an lwIP demo for the STR9 - thanks ST for assistance.
2408 + Added STMicroelectronics STM32 Cortex-M3 demo application.
2413 + Introduced configKERNEL_INTERRUPT_PRIORITY to the IAR Cortex-M3, PIC24
2422 + Included the LPC2368/uIP/Rowley demo into the main FreeRTOS.org
2430 + Added -fomit-frame-pointer option to lwIP SAM7X demo makefile.
2438 + Added Cortex-M3 LM3S811 demos for GCC and IAR tools.
2443 + Added -fomit-frame-pointer option to Rowley ARM7 demos as work around
2447 + CO-ROUTINE BUG FIX: Removed the call to prvIsQueueEmpty from within
2479 + Modified the AVR demo applications to demonstrate the use of co-routines.
2494 + When ending the scheduler - do not try to attempt a context switch when
2510 + Added a port and demo application for the Cortex-M3 target using the IAR
2512 + The ARM Cortex-m3 Rowley projects have been updated to use V1.6 of the
2517 + The lwIP Rowley demo not includes a 'kernel aware' debug window.
2560 + Added new co-routine functionality.
2562 Other kernel changes:
2575 This is to allow co-routines to run when there are no tasks.
2583 + Changed the WinAVR makefile to make chars signed - needed for the
2584 co-routine code if BaseType_t is set to char.
2585 + Added new demo application file crflash.c. This demonstrates co-routine
2586 functionality including passing data between co-routines.
2587 + Added new demo application file crhook.c. This demonstrates co-routine
2589 a co-routine.
2593 demo co-routines as an example of their use.
2600 some systems when the code is executed using a j-link debugger. The
2601 j-link macro file configures the PLL before the code executes so
2643 Changes between V3.2.1 and V3.2.2 - Released 23 September, 2005
2648 + Updated the J-Link macro file included with the SAM7X uIP demo project
2649 to allow the demo board to be reset over the J-Link.
2651 Changes between V3.2.0 and V3.2.1 - Released 1 September, 2005
2666 Changes between V3.1.1 and V3.2.0 - Released 29 June, 2005
2668 V3.2.0 introduces two new MSP430 ports and corrects a minor kernel
2686 Changes between V3.1.0 and V3.1.1 - Released 21st June, 2005
2688 This release updates the HCS12 port. The common kernel code
2703 Changes between V3.0.0 and V3.1.0 - Released 11th June, 2005
2721 Changes between V3.0.0 and V2.6.1 - Released 23rd April, 2005
2729 Kernel and miscellaneous changes changes
2731 - API changes
2736 FreeRTOS API function prototypes.
2738 See the "New for V3.0.0" section of the FreeRTOS online
2741 - New ports
2750 - Directory name changes
2765 - Kernel and miscellaneous changes changes
2767 See the "New for V3.0.0" section of the FreeRTOS online
2776 in each of FreeRTOS/Demo subdirectories - as it's settings relate to
2798 + The header file 'FreeRTOS.h' has been created and is used to include
2800 order. FreeRTOS.h can now be included in place of these other
2817 Changes between V2.6.0 and V2.6.1 - Released Feb 22, 2005
2826 + AVR port - Replaced the inb() and outb() functions with direct memory
2829 + GCC LPC2106 port - removed the 'static' from the definition of
2832 + GCC LPC2106 port - Corrected the optimisation options in the batch files
2834 -o is replaced by an uppercase -O.
2835 + Tasks.c - The strcpy call has been removed when copying across the task
2844 + SAM7 USB driver - Replaced the duplicated RX_DATA_BK0 in the interrupt
2848 Changes between V2.5.5 and V2.6.0 - Released January 16, 2005
2858 Changes between V2.5.4 and V2.5.5 - Released January 3, 2005
2879 Changes between V2.5.3 and V2.5.4 - Released Dec 1, 2004
2884 prior to the kernel being initialised. This was an issue as
2888 Changes between V2.5.2 and V2.5.3 - Released Nov 2, 2004
2895 optimisation levels - including -Os.
2902 Changes between V2.5.1 and V2.5.2 - Released Oct 26, 2004
2908 Changes between V2.5.0 and V2.5.1 - Released Oct 9, 2004
2921 Changes between V2.4.2 and V2.5.0 - Released Aug 12, 2004
2924 schemes - so you can choose the most appropriate for your application.
2940 Changes between V2.4.1 and V2.4.2 - Released July 14, 2004
2945 Changes between V2.4.0 and V2.4.1 - Released July 2, 2004
2947 + Rationalised the ARM7 port version of portEXIT_CRITICAL() -
2952 Changes between V2.4.0 and V2.3.1 - Released June 30, 2004
2954 + Added the first ARM7 port - thanks to Bill Knight for the assistance
2961 Changes between V2.3.0 and V2.3.1 - Released June 25, 2004
2968 Changes between V2.2.0 and V2.3.0 - Released June 19, 2004
2980 Changes between V2.1.1 and V2.2.0 - Released May 18, 2004
2989 Changes between V2.1.0 and V2.1.1 - Released March 12, 2004
2991 + Bug fix - pxCurrentTCB is now initialised before the call to
2996 Changes between V2.0.0 and V2.1.0 - Released Feb 29, 2004
2999 the kernel has interrupts disabled. The first section of modifications
3001 are related to the kernel implementation and as such are transparent.
3032 Changes between V1.2.6 and V2.0.0 - Released Jan 31, 2004
3042 kernel that are unused by an application to be excluded from the build.
3049 + Updated the documentation contained in the kernel header files.
3051 has a higher priority than the calling task - assuming the kernel is
3056 Changes between V1.2.5 and V1.2.6 - Released December 31, 2003
3062 0x18 to 0x08 - where it should have always been. The incorrect address
3094 section of www.FreeRTOS.org for details.
3118 The zip file also contains a pre-release version of the PIC18 port. This
3158 at improving the context switch time - with is now approximately 10% faster.