Created
July 26, 2019 08:19
-
-
Save avtolstoy/2f4b147f3a678bef75afde818a8ff77c to your computer and use it in GitHub Desktop.
FreeRTOS 10.0.1 -> 10.2.1 Changelog
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Changes between FreeRTOS V10.2.1 and FreeRTOS V10.2.0 released May 13 2019: | |
+ Added ARM Cortex-M23 port layer to complement the pre-existing ARM | |
Cortex-M33 port layer. | |
+ The RISC-V port now automatically switches between 32-bit and 64-bit | |
cores. | |
+ Introduced the portMEMORY_BARRIER macro to prevent instruction re-ordering | |
when GCC link time optimisation is used. | |
+ Introduced the portDONT_DISCARD macro to the ARMv8-M ports to try and | |
prevent the secure side builds from removing symbols required by the | |
non secure side build. | |
+ Introduced the portARCH_NAME to provide additional data to select semi- | |
automated build environments. | |
+ Cortex-M33 and Cortex-M23 ports now correctly disable the MPU before | |
updating the MPU registers. | |
+ Added Nuvoton NuMaker-PFM-M2351 ARM Cortex-M23 demo. | |
+ Added LPC55S69 ARM Cortex-M33 demo. | |
+ Added an STM32 dual core AMP stress test demo. | |
Changes between FreeRTOS V10.1.1 and FreeRTOS V10.2.0 released February 25 2019: | |
+ Added GCC RISC-V MCU port with three separate demo applications. | |
+ Included pre-existing ARM Cortex-M33 (ARMv8-M) GCC/ARMclang and IAR ports | |
with Keil simulator demo. | |
+ Update the method used to detect if a timer is active. Previously the | |
timer was deemed to be inactive if it was not referenced from a list. | |
However, when a timer is updated it is temporarily removed from, then | |
re-added to a list, so now the timer's active status is stored separately. | |
+ Add vTimerSetReloadMode(), xTaskGetIdleRunTimeCounter(), and | |
xTaskGetApplicationTaskTagFromISR() API functions. | |
+ Updated third party Xtensa port so it is MIT licensed. | |
+ Added configINCLUDE_PLATFORM_H_INSTEAD_OF_IODEFINE_H to the Renesas | |
compiler RX600v2 port to enable switching between platform.h and | |
iodefine.h includes within that port's port.c file. | |
+ Removed the 'FromISR' functions from the MPU ports as ISRs run privileged | |
anyway. | |
+ Added uxTaskGetStackHighWaterMark2() function to enable the return type to | |
be changed without breaking backward compatibility. | |
uxTaskGetStackHighWaterMark() returns a UBaseType_t as always, | |
uxTaskGetStackHighWaterMark2() returns configSTACK_DEPTH_TYPE to allow the | |
user to determine the return type. | |
+ Fixed issues in memory protected ports related to different combinations | |
of static memory only and dynamic memory only builds. As a result the | |
definition of tskSTATIC_AND_DYNAMIC_ALLOCATION_POSSIBLE became more | |
complex and was moved to FreeRTOS.h with a table explaining its definition. | |
+ Added a 'get task tag from ISR' function. | |
+ Change the method used to determine if a timer is active or not from just | |
seeing if it is referenced from the active timer list to storing its | |
active state explicitly. The change prevents the timer reporting that it | |
is inactive while it is being moved from one list to another. | |
+ The pcName parameter passed into the task create functions can be NULL, | |
previously a name had to be provided. | |
+ When using tickless idle, prvResetNextTaskUnblockTime() is now only called | |
in xTaskRemoveFromEventList() if the scheduler is not suspended. | |
+ Introduced portHAS_STACK_OVERFLOW_CHECKING, which should be set to 1 for | |
FreeRTOS ports that run on architectures that have stack limit registers. | |
Changes between FreeRTOS V10.1.0 and FreeRTOS V10.1.1 released 7 September 2018 | |
+ Reverted a few structure name changes that broke several kernel aware | |
debugger plug-ins. | |
+ Updated to the latest trace recorder code. | |
+ Fixed some formatting in the FreeRTOS+TCP TCP/IP stack code. | |
+ Reverted moving some variables from file to function scope as doing so | |
broke debug scenarios that require the static qualifier to be removed. | |
Changes between FreeRTOS V10.0.1 and FreeRTOS V10.1.0 released 22 August 2018 | |
FreeRTOS Kernel Changes: | |
+ Update lint checked MISRA compliance to use the latest MISRA standard, was | |
previously using the original MISRA standard. | |
+ Updated all object handles (TaskHandle_t, QueueHandle_t, etc.) to be | |
unique types instead of void pointers, improving type safety. (this was | |
attempted some years back but had to be backed out due to bugs in some | |
debuggers). Note this required the pvContainer member of a ListItem_t | |
struct to be renamed - set configENABLE_BACKWARD_COMPATIBILITY to 1 if | |
this causes an issue. | |
+ Added configUSE_POSIX_ERRNO to enable per task POSIX style errno | |
functionality in a more user friendly way - previously the generic thread | |
local storage feature was used for this purpose. | |
+ Added Xtensa port and demo application for the XCC compiler. | |
+ Changed the implementation of vPortEndScheduler() for the Win32 port to | |
simply call exit( 0 ). | |
+ Bug fix in vPortEnableInterrupt() for the GCC Microblaze port to protect | |
the read modify write access to an internal Microblaze register. | |
+ Fix minor niggles when the MPU is used with regards to prototype | |
differences, static struct size differences, etc. | |
+ The usStackHighWaterMark member of the TaskStatus_t structure now has type | |
configSTACK_DEPTH_TYPE in place of uint16_t - that change should have been | |
made when the configSTACK_DEPTH_TYPE type (which gets around the previous | |
16-bit limit on stack size specifications) was introduced. | |
+ Added the xMessageBufferNextLengthBytes() API function and likewise stream | |
buffer equivalent. | |
+ Introduce configMESSAGE_BUFFER_LENGTH_TYPE to allow the number of bytes | |
used to hold the length of a message in the message buffer to be reduced. | |
configMESSAGE_BUFFER_LENGTH_TYPE default to size_t, but if, for example, | |
messages can never be more than 255 bytes it could be set to uint8_t, | |
saving 3 bytes each time a message is written into the message buffer | |
(assuming sizeof( size_t ) is 4). | |
+ Updated the StaticTimer_t structure to ensure it matches the size of the | |
Timer_t structure when the size of TaskFunction_t does not equal the size | |
of void *. | |
+ Update various Xilinx demos to use 2018.1 version of the SDK tools. | |
+ Various updates to demo tasks to maintain test coverage. | |
+ FreeRTOS+UDP was removed in FreeRTOS V10.1.0 as it was replaced by | |
FreeRTOS+TCP, which was brought into the main download in FreeRTOS | |
V10.0.0. FreeRTOS+TCP can be configured as a UDP only stack, and | |
FreeRTOS+UDP does not contain the patches applied to FreeRTOS+TCP. | |
FreeRTOS+TCP Changes: | |
+ Multiple security improvements and fixes in packet parsing routines, DNS | |
caching, and TCP sequence number and ID generation. | |
+ Disable NBNS and LLMNR by default. | |
+ Add TCP hang protection by default. | |
We thank Ori Karliner of Zimperium zLabs Team for reporting these issues. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment