网站大量收购闲置独家精品文档,联系QQ:2885784924

提高篇:嵌入式操作系统研究.ppt

  1. 1、本文档共159页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内 容 uCOS-II操作系统简介 uCOS-II操作系统内核结构 uCOS-II操作系统任务管理 uCOS-II操作系统内存管理 uCOS-II操作系统时间管理 uCOS-II操作系统任务间的通讯 uCOS-II操作系统移植 uC/OS-II简介 1、uC/OS-II是一个简单、高效的嵌入式实时操作系统内核。 2、支持 x86、ARM、PowerPC、MIPS 等众多体系结构。 3、可从网站上获得全部源码及其在各种体系结构平台上的移植范例。 μC/OS-II的各种商业应用 全世界有数百种产品在应用: 医疗器械 移动电话 路由器 工业控制 GPS 导航系统 智能仪器 更多 uC/OS-II简介 μC/OS 和μC/OS-II 是专门为计算机的嵌入式应用设计的, 绝大部分代码是用C语言编写的。CPU 硬件相关部分是用汇编语言编写的、总量约200行的汇编语言部分被压缩到最低限度,为的是便于移植到任何一种其它的CPU 上。 uC/OS-II简介 uC/OS-II是一种基于优先级的可抢先的硬实时内核。自从92年发布以来,在世界各地都获得了广泛的应用,它是一种专门为嵌入式设备设计的内核,目前已经被移植到40多种不同结构的CPU上,运行在从8位到64位的各种系统之上。 尤其值得一提的是,该系统自从2.51版本之后,就通过了美国FAA认证,可以运行在诸如航天器等对安全要求极为苛刻的系统之上。鉴于uC/OS-II可以免费获得代码,对于嵌入式RTOS而言,选择uC/OS无疑是最经济的选择。 uC/OS-II嵌入式系统基本模型 严格地说uC/OS-II只是一个实时操作系统内核,它仅仅包含了任务调度,任务管理,时间管理,内存管理和任务间的通信和同步等基本功能。没有提供输入输出管理,文件系统,网络等额外的服务。但由于uC/OS-II良好的可扩展性和源码开放,这些非必须的功能完全可以由用户自己根据需要分别实现。 uC/OS操作系统的特点 uC/OS是一个完成的,可移植、可固化、可裁减的抢占式实时多任务操作系统内核。 主要用ANSI的C语言编写,少部分代码是汇编语言。 抢占式内核 内核抢占(可抢占式内核):即当进程位于内核空间时,有一个更高优先级的任务出现时,如果当前内核允许抢占,则可以将当前任务挂起,执行优先级更高的进程。 非抢占式内核:高优先级的进程不能中止正在内核中运行的低优先级的进程而抢占CPU运行。进程一旦处于核心态(例如用户进程执行系统调用),则除非进程自愿放弃CPU,否则该进程将一直运行下去,直至完成或退出内核。 优点 1、与终端硬件平台相适应 全部源代码5500行,可裁减定制,生成的可执行代码占15~20k,可以移植到多种系列单片机上,包括ARM; 2、考虑成本,免费的源代码公开; 3、uC/OS-II代码简单,容易掌握和使用;具有多任务调度的基本功能。 缺点 1、缺少技术支持,相关的支持软件少; 2、和商业软件比,功能较弱(如不支持时间片轮转,最大任务数为64等);对应用开发的支持不够。 uC/OS-II文件结构 临界段(Critical Sections) 目的:为了实现资源共享。 实现方法:进入临界段时关中断,退出临界段时开中断。这使得μC/OS-Ⅱ能够在临界段代码时避免被其它任务或中断服务所中断。 μC/OS-Ⅱ定义两个宏(macros)来开关中断。分别是: 进入临界段:OS_ENTER_CRITICAL() 退出临界段:OS_EXIT_CRITICAL()。 这两个宏的定义取决于所用的微处理器,每种微处理器都有自己的OS_CPU.H文件。 任务(task) void mytask(void *pdata) { do init while (1) { do something; waiting; do something; } } 任务(task) μC/OS-Ⅱ可以管理多达64个任务。 优先级为0-63 优先级号越低,任务的优先级越高。 每个任务的优先级不能相同。 保留优先级: 高优先级:0、1、2、3 低优先级:OS_LOWEST_PRIO-3、OS_LOWEST_PRI0-2,OS_LOWEST_PRI0-1以及OS_LOWEST_PRI0 用户可以有多达56个应用任务。 中断处理 1、保存全部CPU寄存器; 2、调用OSIntEnter或OSIntNesting直接加1; 3、执行用户代码做中断服务; 4、调用OSIntExit(); 5、恢复所有CPU寄存器; 6、执行中断返回指令; OSIntEnter() void OSInt

文档评论(0)

502992 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档