- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
v1.0 可编辑可修改
第1章 嵌入式实时操作系统的基本概念
1、 什么是嵌入式系统(了解)
人们把嵌入到对象体系中,为实现对象体系智能化控制的计算机系统,称作嵌入式
计算机系统,简称为嵌入式系统。
2、 什么是嵌入式操作系统
运行在嵌入式硬件平台上,对整个系统及其所操作的部件、装置等资源进行统一协
调、指挥和控制的系统软件就叫做嵌入式操作系统。
3、 实时操作系统需要满足的条件有哪些
实时操作系统应满足以下三个条件:
1) 实时操作系统必须是多任务系统。
2) 任务的切换时间应与系统中的任务数无关。
3) 中断延迟的时间可预知并尽可能短。
4、 一个用 C 语言编写的任务的结构( P11 例 1-1 ,重点掌握):
void mytask(void *pdata)
{
for(;;)
{
用户编写的代码 ;
}
}
第2章 预备知识
1、 取址运算符与取值运算符
“取址”运算符“ ”,“取值”运算符“ * ”。
2、 函数指针
函数名就是该函数的指针(重点掌握) 。
第3章 uC/OS-II 中的任务
1
v1.0 可编辑可修改
1、任务的组成
2、任务有哪两种
用户任务、系统任务
3、任务的 5 种状态(重点) (作简单描述即可)
1)睡眠状态:任务在没有被配备任务控制块或被剥夺了任务控制块时的状态叫做任务的睡眠状态;
2)就绪状态:如果系统为任务配备了任务控制块且在任务就绪表中进行了就绪登记,则任务就具备了运行的充分条件,这时任务的状态叫做就绪状态;
(3)运行状态:处于就绪状态的任务如果经调度器判断获得了 CPU的使用权,则
任务就进入运行状态。 任何时刻只能有一个任务处于运行状态, 就绪的任务只有当所有
优先级高于本任务的任务都转为等待状态,才能进入运行状态;
4)等待状态:正在运行的任务,需要等待一段时间或需要等待一个事件发生再运行时,该任务就会把 CPU的使用权让给其他任务而使任务进入等待状态;
5)中断服务状态:一个正在运行的任务一旦响应中断申请就会中止运行而去执行中断服务程序,这时任务的状态叫做中断服务状态。
4、 P61 例 3-1 一个用 C 语言编写的任务
2
v1.0 可编辑可修改
5、空闲任务(该任务必须用)
为了使 CPU在没有用户任务可执行时有事可做, uC/OS-II 提供了一个叫做空闲任
务 OSTaskIdle() 的系统任务。
6、统计任务(该任务可用可不用)
统计任务 OSTaskStart() 。
7、任务的优先权与优先级
最多可以在 uC/OS-II 中创建 64 个任务,所以任务的优先级别最多有 64 级,每个
级别都用一个整数数字来表示,即 0、 1、 2、 、 63;数字越小优先级别越高。
8、任务堆栈
所谓堆栈,就是在存储器中按数据“后进先出( LIFO)”的原则组织的连续存储空
间。
9、任务堆栈的创建
#define Task_STK_SIZE 512 // 定义堆栈的长度为( 1024 字节)
OS_STK [Task_STK_SIZE] ; // 定义一个数组来作为任务堆栈
10、堆栈的增长方向
堆栈的增长方向有两种:向下的(如 [MyTaskStKN-1] )、向上的。
11、任务控制块结构(给出结构体,说明其成员及作用)
3
v1.0 可编辑可修改
12、 P70 了解空任务链表和任务控制块链表
13、 P73 任务就绪表结构
4
v1.0 可编辑可修改
14、任务调度
调度器的主要工作:
1) 在任务就绪表中查找具有最高优先级别的就绪任务;
2) 实现任务的切换。
实现函数
1) 任务级的调度器由函数 OSSched()来实现;
2) 中断级的调度器由函数 OSIntExt() 来实现。
15、用函数 OSTaskCreate() 创建任务
16、挂起任务(了解)
5
v1.0 可编辑可修改
挂起任务函数 OSTaskSuspend()
17、恢复任务(了解)
恢复任务函数 OSTaskResume()
18、任务的删除
(过程重要)先申请再删除自己。
19、 uC/OS-II 的初始化
初始化函数 OSInit()
20、 uC/OS-II 的启动
启动函数 OSStart()
课后题
1、 什么是可剥夺型内核
2、 一个应用程序为什么一定要使用空闲任务
3、 统计任务是必须使用的吗
4、 什么叫做任务的优先权 uC/OS-II 是用什么来描述任务的优先权的
5、 在 uC/OS-II 中任务有哪 5 种状态
6、 任务控制块记录了任务的哪些信息
6
v1.0 可编辑可修改
7、 什么是空任务控制块链表什么是任务控制块链表
8、 数组 OSTCBTbl[] 有什么用途
9、 正在运行任务的任务控制块指针存放在哪个指针变量中
10、
原创力文档


文档评论(0)