Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1912458
  • 博文数量: 376
  • 博客积分: 2147
  • 博客等级: 大尉
  • 技术积分: 3642
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-06 10:47
文章分类

全部博文(376)

文章存档

2019年(3)

2017年(28)

2016年(15)

2015年(17)

2014年(182)

2013年(16)

2012年(115)

我的朋友

分类: 嵌入式

2014-09-27 15:01:22

开源的免费的小型实时内核,支持的处理器内核:ARM7,ARM9,CortexM3,ATMEL AVR32,AVR,MSP430等

功能介绍:

 

FreeRTOS内核支持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU总是让处于就绪态的、优先级最高的任务先运行。

 

FreeRT0S内核同时支持轮换调度算法,系统允许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务共享CPU的使用时间。

 

任务可以选择是否共享堆栈,并且任务没有数量限制。

 

消息队列,二值信号量,计数信号量。

 

时间管理

 

内存管理


 FreeRTOS的内核可根据用户需要设置为可剥夺型内核或不可剥夺型内核。当FreeRTOS被设置为可剥夺型内核时,处于就绪态的高优先级任务能剥夺低优先级任务的CPU使用权,这样可保证系统满足实时性的要求;当FreeRTOS被设置为不可剥夺型内核时,处于就绪态的高优先级任务只有等当前运行任务主动释放CPU的使用权后才能获得运行,这样可提高CPU的运行效率。

嵌入式系统基本概念:多任务,调度,上下文切换,实时应用和调度。

 

FreeRTOS与UCOS比较:

1:ucosii不同,它是free的,ucosii不是free的,虽然它的代码是公开的。

2:它支持同优先级任务时间片调度,轮换调度算法,UCOS不允许任务使用相同优先级。

3:任务数目FREERTOS没有限制,UCOS有限制,一般64个。

4:freertos既可以配置为可抢占内核也可以配置为不可抢占内核。 UCOS是可抢占。

5:内核ROM和耗费RAM都比uCOS 小,特别是RAM。 这在单片机里面是稀缺资源,uCOS至少要5K以上,而freeOS用2~3K也可以跑的很好。

6:freeRTOS 可以用协程(Co-routine),减少RAM消耗(共用STACK)。uCOS只能用任务(TASK,每个任务有一个独立的STACK)。
7:比uSOS简单,任务间通讯freeRTOS只支持Queque, Semaphores, Mutex。 uCOS除这些外,还支持Flag, MailBox.
8:uCOS可靠性更高,而且耐优化,freeRTOS 在我设置成中等优化的时候,就会出问题。

9:

freertos的任务挂起与ucosii也不大一样。它把 所有挂起的任务加到xSuspendedTaskList中,而且一旦调用vTaskSuspend()函数挂起一个任务,该任务就将从所有它原先连入的链表中删除(包括就绪表,延时表和它等待的事件链表),也就是说,和 ucosii不同,一旦一个任务被挂起,它将取消先前它的延 时和对事件的等待。ucosii中是不同的,在ucosii里 面一个任务被挂起仅仅是把任务的状态或上一个OS_STAT_SUSPEND并从就绪表中删除,如果先前这个任务正在等待某事件,则并不取消等待。

阅读(6407) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~