没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式操作系统FreeRTOS的原理与实现
1星 需积分: 35 33 下载量 119 浏览量
2014-11-19
15:32:06
上传
评论
收藏 179KB PDF 举报
温馨提示
试读
7页
嵌入式操作系统FreeRTOS的原理与实现文档,从网页上转换而来,方便阅读,文档中FreeRTOS的版本较低,不过有助于理解FreeRTOS
资源推荐
资源详情
资源评论
在嵌入式领域中,嵌入式实时操作系统正得到越来越广泛的应用。采用嵌入式实时操作系统
(RTOS)可以更合理、更有效地利用 CPU 的资源,简化应用软件的设计,缩短系统开发时
间,更好地保证系统的实时性和可靠性。由于 RTOS 需占用一定的系统资源(尤其是 RAM
资源),只有 μC/OS-II、embOS、salvo、FreeRTOS 等少数实时操作系统能在小 RAM
单片机上运行。相对于 C/OS-II、embOS 等商业操作系统,FreeRTOS 操作系统是完全
免费的操作系统,具有源码公开、可移植、可裁减、调度策略灵活的特点,可以方便地移植
到各种单片机上运行,其最新版本为 2.6 版。
1、FreeRTOS 操作系统功能
作为一个轻量级的操作系统,FreeRTOS 提供的功能包括:任务管理、时间管理、信号
量、消息队列、内存管理、记录功能等,可基本满足较小系统的需要。FreeRTOS 内核支
持优先级调度算法,每个任务可根据重要程度的不同被赋予一定的优先级,CPU 总是让处
于就绪态的、优先级最高的任务先运行。FreeRT0S 内核同时支持轮换调度算法,系统允
许不同的任务使用相同的优先级,在没有更高优先级任务就绪的情况下,同一优先级的任务
共享 CPU 的使用时间。
FreeRTOS 的内核可根据用户需要设置为可剥夺型内核或不可剥夺型内核。当
FreeRTOS 被设置为可剥夺型内核时,处于就绪态的高优先级任务能剥夺低优先级任务的
CPU 使用权,这样可保证系统满足实时性的要求;当 FreeRTOS 被设置为不可剥夺型内核
时,处于就绪态的高优先级任务只有等当前运行任务主动释放 CPU 的使用权后才能获得运
行,这样可提高 CPU 的运行效率。
2、FreeRTOS 操作系统的原理与实现
2.1 任务调度机制的实现
任务调度机制是嵌入式实时操作系统的一个重要概念,也是其核心技术。对于可剥夺型
内核,优先级高的任务一旦就绪就能剥夺优先级较低任务的 CPU 使用权,提高了系统的实
时响应能力。不同于 μC/OS-II,FreeRTOS 对系统任务的数量没有限制,既支持优先级
调度算法也支持轮换调度算法,因此 FreeRTOS 采用双向链表而不是采用查任务就绪表的
方法来进行任务调度。系统定义的链表和链表节点数据结构如下所示:
FreeRTOS 定义就绪任务链表数组为 xList
pxReady—TasksLists[portMAX_PRIORITIES]。其中 portMAX_PRIORITIES 为系统
定义的最大优先级。若想使优先级为 n 的任务进入就绪态,需要把此任务对应的 TCB 中的
结点 xGenericListltem 插入到链表 pxReadyTasksLiStS[n]中,还要把
xGenericListItem 中的 pvContainer 指向 pxReadyTasksLists[n]方可实现。
当进行任务调度时,调度算法首先实现优先级调度。系统按照优先级从高到低的顺序从
就绪任务链表数组中寻找 usNumberOfItems 第一个不为 0 的优先级,此优先级即为当前
资源评论
- 单枪舞九州2018-01-26积分太高了
anobodykey
- 粉丝: 466
- 资源: 21
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功