FreeRTOS 8.1.1 发布,小型嵌入式系统

来源: OSCHINA
编辑: oschina
2014-09-02 00:00:00

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
	  algorithms.
	+ 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
	  interfaces.
	+ Updated the CCS Cortex-R4 port to enable it to be built with the latest
	  CCS compiler.

	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.

	Other updates:

	+ Updated the XMC4200 IAR project so it links with version 7.x of the IAR
	  tools.
	+ Add RL78L1C demo.
	+ Add pcTimerGetTimerName() API function.
	+ Call _reclaim_reent() when a task is deleted if configUSE_NEWLIB_REENTRANT
	  is defined.

Changes between V7.6.0 and V8.0.0 released 19th Feb 2014

	http://www.freertos.org/upgrading-to-FreeRTOS-V8.html

	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
	information.

	New features and functionality:

	+ Event groups - see http://www.freertos.org/FreeRTOS-Event-Groups.html
	+ Centralised deferred interrupt processing - see
	  http://www.freertos.org/xTimerPendFunctionCallFromISR.html

	Other updates:

	+ 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
	  http://www.freertos.org/STM32L-discovery-low-power-tickless-RTOS-demo.html
	+ 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

FreeRTOS是一个迷你操作系统内核的小型嵌入式系统。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。

功能和特点
混合配置选项
提供一个高层次的信任代码的完整性
目的是小,简单易用
以开发C,非常便携代码结构
支持两项任务和共同例程
强大的执行跟踪功能
堆栈溢出检测
没有软件任务的限制数量
没有软件优先事项的限制数量
没有施加的限制,优先转让,多个任务可以分配相同的优先权
队列,二进制信号量,计数信号灯和递归通信和同步的任务
Mutexes优先继承权
免费开发工具
免费嵌入式软件的源代码
从一个标准的Windows主机交叉发展


展开阅读全文
18 收藏
分享
1 评论
18 收藏
分享
返回顶部
顶部
返回顶部
顶部