FreeRTOS 8.1.1 发布，此版本修复了从中断处理器给一个互斥型信号量（优先级继承）的功能。
FreeRTOS 8.1.0 在 26 号发布，此版本最主要的特性是支持非连续堆栈（heap_5.c），需要分配内存（创建任务，队列等等）。
Changes between V8.0.1 and V8.1.0 released August 26th 2014
FreeRTOS scheduler, kernel, demo and test updates:
+ Improved the priority inheritance algorithms to assist integration with
off the shelf middleware that may hold multiple mutexes simultaneously.
+ Introduce heap_5.c, which is similar to heap_4.c but allows the heap to
span multiple non-contiguous memory regions.
+ Updated all Cortex-A9 ports to help trap a couple of common usage errors –
the first being when a task incorrectly attempts to exit its implementing
function and the second being when a non interrupt safe API function is
called from an interrupt.
+ Update all Cortex-A9 ports to remove obsolete mode switches prior to
restoring a task context.
+ configUSE_PORT_OPTIMISED_TASK_SELECTION now defaults to 1 instead of 0.
+ Update all Cortex-M3/4F ports to trap a non interrupt safe API function
being called from an interrupt handler.
+ Simplify the alignment checks in heap_4.c.
+ Update the MSVC Windows simulator demo to use heap_5.c in place of
heap_4.c to ensure end users have an example to refer to.
+ Updated standard demo test code to test the new priority inheritance
+ Updated the standard demo tasks to make use of stdint and the FreeRTOS
specific typedefs that were introduced in FreeRTOS V8.0.0.
+ Introduce the pdMS_TO_TICKS() macro as a more user friendly and intuitive
alternative to pdTICKS_PER_MS – both of which can be used to convert a
time specified in milliseconds to a time specified in RTOS ticks.
+ Fix a bug in the Tasking compiler's Cortex-M port that resulted in an
incorrect value being written to the basepri register. This only effects
users of the Tasking compiler.
+ Update the Zynq demo to use version 14.2 of the SDK and add in an lwIP
example that demonstrates lwIP being used with both its raw and sockets
+ Updated the CCS Cortex-R4 port to enable it to be built with the latest
New ports and demo applications:
+ Two Renesas RX64M ports (RXv2 core) and demos introduced, one for the GCC
compiler and one for the Renesas compiler. Both demos use e2 studio.
+ Generic IAR Cortex-A5 port (without any reliance on a GIC) introduced.
The new port is demonstrated on an Atmel SAMA5D3 XPlained board.
FreeRTOS+ component updates:
+ Update CyaSSL to the latest version.
+ Updated the FreeRTOS+ components supplied directly by Real Time Engineers
Ltd. to make use of stdint and the FreeRTOS specific typedefs that were
introduced in FreeRTOS V8.0.0.
+ Rework and simplify the FreeRTOS+FAT SL RAM disk driver.
Miscellaneous updates and maintenance:
+ Update the IAR and DS-5/ARM RZ demos to target the official RZ RSK
hardware in place of the previously targeted Renesas internal (not
publicly available) hardware.
+ Various other maintenance tasks.
Changes between V8.0.0 and V8.0.1 released 2nd May 2014
+ Minor fixes to the event group functionality that was released in V8.0.0.
The 'clear bits from ISR' functionality is now implemented using a
deferred interrupt callback instead of a function, and the 'wait bits' and
'task sync' functions now correctly clear internal control bits before
returning a value in every possible path through the respective functions.
+ Ensure the updating of internal control data is protected by a critical
section after a task is deleted or suspended.
+ Minor fixes to FreeRTOS+FAT SL – namely seeking beyond the end of a file
when the offset was not a multiple of the sector size.
+ Ensure Cortex-A9 system registers are only ever accessed as 32-bit values,
even when only the lest significant byte of the register is implemented.
+ Updated the XMC4200 IAR project so it links with version 7.x of the IAR
+ Add RL78L1C demo.
+ Add pcTimerGetTimerName() API function.
+ Call _reclaim_reent() when a task is deleted if configUSE_NEWLIB_REENTRANT
Changes between V7.6.0 and V8.0.0 released 19th Feb 2014
FreeRTOS V8.x.x is a drop-in compatible replacement for FreeRTOS V7.x.x,
although a change to the type used to reference character strings may result
in application code generating a few (easily clearable) compiler warnings
after the upgrade, and an updated typedef naming convention means use of the
old typedef names is now discouraged.
See http://www.freertos.org/upgrading-to-FreeRTOS-V8.html for full
New features and functionality:
+ Event groups – see http://www.freertos.org/FreeRTOS-Event-Groups.html
+ Centralised deferred interrupt processing – see
+ Previously, when a task left the Blocked state, a context switch was
performed if the priority of the unblocked task was greater than or equal
to the priority of the Running task. Now a context switch is only
performed if the priority of the unblocked task is greater than the
priority of the Running task.
+ New low power tickless demonstration project that targets the ST STM32L
microcontroller – see
+ Add xPortGetMinimumEverFreeHeapSize() to heap_4.c.
+ Small change to the tickless low power implementation on the SAM4L to
ensure the alarm value (compare match value) cannot be set to zero when a
tickless period is exited due to an interrupt originating from a source
other than the RTOS tick.
+ Update the GCC/Eclipse Win32 simulator demo to make better use of Eclipse
resource filters and match the functionality of the MSVC equivalent.
+ xTaskIsTaskSuspended() is no longer a public function. Use
eTaskGetState() in its place.
+ Improved trace macros, including tracing of heap usage.
+ Remove one level of indirection when accepting interrupts on the PIC32MZ.
+ Add Cortex-A9 GCC port layer.
+ Add Xilinx Zynq demo application