嵌入式系统开发 (14).ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * 第14章 μC/OS-Ⅱ嵌入式操作系统应用分析 * * 14.1 μC/OS-II的特点和基础 14.1.1 μC/OC-II的特点 14.1.2 任务、多任务和任务切换 14.1.3 实时操作系统的内核 14.1.4 任务间通信 14.1.5 实时操作系统的中断 * * 14.1.1 μC/OC-II的特点 μC/OS-II具有以下特点: 提供开放式源代码,并且可以移植到不同的处理器上。 可以固化到实时系统中。 具有可裁剪性,可以根据实际用户的应用需要使用条件编译来完成对系统的裁剪,从而可以减少操作系统对代码空间和数据空间的需求。 内核具有可剥夺性,支持最高优先级任务就绪后执行。 支持多任务,除了系统保留的8个任务之外,用户可以使用56个任务。 绝大多数的系统函数调用和服务的执行时间是确定的。 每个任务都具有自己的单独的任务堆栈,并且提供了相应的系统函数用于确定每个任务需要的堆栈空间。 提供了例如信号量、互斥信号量、消息邮箱、事件标志、数据队列、块大小固定的内存的申请与释放及时间管理函数等系统服务。 具有良好的中断管理系统,支持中断嵌套,最多可以支持255层。 * * 14.1.2 任务、多任务和任务切换 普通嵌入式处理器的任务,也称作线程,是一个简单的程序,该程序可以认为此时处理器完全只属该程序自己;在应用代码设计过程中需要把整个应用代码分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,如下左图所示有属于其的一套寄存器和堆栈空间。 嵌入式处理器的任务本质也是一个无限的循环,每个任务始终都位于以下五种状态中的一种,且可以相互切换,其相互切换的示意如上右图所示。 * * 14.1.3 实时操作系统的内核 在多任务操作系统中,内核(Kernel)负责管理各个任务,或者说为每个任务分配处理器使用时间,并且负责任务之间的通讯。 1. 内核的任务和类型 内核提供的基本服务是提供任务切换,实时操作系统的内核允许将应用分成若干个任务,由内核来管理它们。但是需要注意的是内核本身也需要使用嵌入式处理器更多的硬件资源。 2. 内核和任务的调度和同步 调度(Scheduler)是实时操作系统内核最重要的职责之一,通俗的说就是决定当前应该轮到哪一个任务开始运行。 大多数实时操作系统是基于优先级调度算法的,需要运行的任务根据其重要程度的不同设定一定的优先级,然后内核根据这个优先级决定运行当前那个任务;当两个或者多个任务有同样的优先级,内核则允许一个任务运行一段时间(时间额度quantum),然后使另外一个任务运行一段时间——这种方式叫做时间片调度算法。 * * 14.1.4任务间通信 当用全程变量时,必须保证每个任务或中断服务程序独享该变量,而在中断服务中保证独该享该变量的唯一办法是关中断;如果两个任务共享某变量,各任务实现独享该变量的办法可以是关中断再开中断,或使用信号量(如前面提到的那样),此时该变量是一个共享资源。需要注意的是,任务只能通过全程变量与中断服务程序通讯,而任务并不知道什么时候全程变量被中断服务程序修改了,除非中断程序以信号量方式向任务发信号或者是该任务以查询方式不断周期性地查询变量的值。为了避免这种情况,用户可以考虑使用邮箱或消息队列。 1. 消息邮箱(Message Mail boxes) 2. 消息队列(Message Queue) * * 14.1.5 实时操作系统的中断 实时操作系统的中断其本质是和嵌入式处理器中断系统相关的,其是一种硬件机制,用于通知处理器是异步时间发生,当有中断事件发生时,嵌入式处理器通常会自动保护当前全部或者部分寄存器值并且调用对应的中断服务子程序进行相应的操作,当从中断服务子程序退出的时候,程序将根据嵌入式处理器上运行不同系统状态进行如下操作: 前后台系统:回到后台应用程序。 不可剥夺型内核:回到被中断的任务。 可剥夺型内核:回到进入就绪态的优先级别最高的任务。 1. 中断延迟 2. 中断响应 3. 中断恢复时间 4. 中断处理 5. 非屏蔽中断 6. 时钟节拍 * * 14.2 μC/OS-II操作系统解析 14.2.1 内核结构 14.2.2 任务管理 14.2.3 时间管理 14.2.4 任务之间的通信和同步 14.2.5 内存管理 * * 14.2.1 内核结构 下左图是μC/OS-II操作系统的内核涉及的文件结构示意,其主要包括了内核文件、配置文件和处理器驱动文件三个部分。下右图是μC/OS-II操作系统的内核体系结构图。 1. μC/OS-II的临界段处理 2. μC/OS-II的任务切换 3. 任务控制块(TCB) 4. μC/OS-II的任务调度 5. μ

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档