资源预览内容
第1页 / 共27页
第2页 / 共27页
第3页 / 共27页
第4页 / 共27页
第5页 / 共27页
第6页 / 共27页
第7页 / 共27页
第8页 / 共27页
第9页 / 共27页
第10页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
嵌入式系统设计第四讲 嵌入式实时操作系统 *1www.cuit.edu.cn嵌入式系统设计 内容提纲w1. 嵌入式操作系统概述w2. UCOSII概述Date2www.cuit.edu.cn嵌入式系统设计 1. 嵌入式操作系统概述w概述w嵌入式操作系统的演变w嵌入式操作系统体系结构w嵌入式操作系统的组成Date3www.cuit.edu.cn嵌入式系统设计 概述w近十年来,嵌入式操作系统得到飞速的发展从支持8位微处理器到16位、32位甚至64位微处理器;从支持单一品种的微处理器芯片到支持多品种微处理器芯片 ;从只有内核到除了内核外还提供其他功能模块,如文件系统 ,TCP/IP网络系统,窗口图形系统等。w随着嵌入式系统应用领域的扩展,目前嵌入式操作系 统的市场在不断细分,出现了针对不同领域的产品, 这些产品按领域的要求和标准提供特定的功能。Date4www.cuit.edu.cn嵌入式系统设计 嵌入式操作系统的演变* *Percent of total software supplied by RTOS vendor in a typical embedded devicePercent of total software supplied by RTOS vendor in a typical embedded device10%*Kernel30%*KernelNetworkingFile System75%*KernelNetworkingFile SystemMultiprocessingMemory ManagementNetworking UtilityWindows APIApplicationApplicationApplicationApplication90%*90%*KernelNetworkingFile SystemMultiprocessingFault ToleranceDistributed ObjectsAdvanced NetworkingAdvanced InterconnectJavaBrowser / GUIDate5www.cuit.edu.cn嵌入式系统设计 嵌入式操作系统体系结构硬 件系统服务用户态核心态应用程序应用程序单块结构Date6www.cuit.edu.cn嵌入式系统设计 嵌入式操作系统体系结构硬件基本进程管理虚存管理I/O和设备管理进程间通信文件系统用户用户模式内核模式层次结构Date7www.cuit.edu.cn嵌入式系统设计 嵌入式操作系统体系结构硬 件进程服务 用户态核心态应用程序客户内存服务微内核文件服务网络服务显示服务发送应答客户/服务器结构(微内核结构)Date8www.cuit.edu.cn嵌入式系统设计 嵌入式操作系统体系结构w目前嵌入式操作系统主要采用分层和模块化相结 合的结构或微内核结构。分层和模块化结合的结构将操作系统分为硬件无关层 、硬件抽象层和硬件相关层,每层再划分功能模块。这样移植工作便集中在硬件相关层,与其余两层无关 ,功能的伸缩则集中在模块上,从而确保其具有良好 的可移植性和可伸缩性。而采用微内核结构,则可利用其可伸缩的特点适应硬 件的发展,便于扩展。 Date9www.cuit.edu.cn嵌入式系统设计 嵌入式操作系统的组成w嵌入式操作系统一般由内核、嵌入式TCP/IP网络 系统、嵌入式文件系统等组成。w内核 内核是嵌入式操作系统的基础,也是必备的部分。它提供任务管理、内存管理、通信、同步与互斥机制 、中断管理、时间管理及任务扩展等功能。内核还提供特定的应用编程接口,但目前没有统一的 标准。 Date10www.cuit.edu.cn嵌入式系统设计内核w任务管理内核的核心部分,具有任务调度、创建任务、删除 任务、挂起任务、解挂任务、设置任务优先级等功 能。 嵌入式操作系统多采用基于静态优先级的可抢占的 调度,任务优先级是在运行前通过某种策略静态分 配好的,一旦有优先级更高的任务就绪就马上进行 调度。Date11www.cuit.edu.cn嵌入式系统设计内核w内存管理嵌入式操作系统的内存管理比较简单。简单OS通常不采用虚拟存储管理,而采用静态内存 分配和动态内存分配(固定大小内存分配和可变大小 内存分配)相结合的管理方式。有些内核利用MMU机制提供内存保护功能。通用操作系统广泛使用了虚拟内存的技术,为用户提 供一个功能强大的虚存管理机制。Date12www.cuit.edu.cn嵌入式系统设计内核w通信、同步和互斥机制这些机制提供任务间、任务与中断处理程序间的通信 、同步和互斥功能。一般包括信号量、消息、事件、管道、异步信号和共 享内存等功能。Date13www.cuit.edu.cn嵌入式系统设计内核w中断管理, 一般具有以下功能:中断发生时,对中断现场进行保存,并且转到相应的 服务程序上执行中断退出前,对中断现场进行恢复中断退出时的任务调度 Date14www.cuit.edu.cn嵌入式系统设计内核w时间管理提供高精度、应用可设置的系统时钟,该时钟是嵌入 式系统的时基,可设置为十毫秒以下。提供日历时间,负责与时间相关的任务管理工作如任 务对资源有限等待的计时、时间片轮转调度等,提供 软定时器的管理功能等。通用操作系统的系统时钟的精度由操作系统确定,应 用不可调,且一般是几十个毫秒。Date15www.cuit.edu.cn嵌入式系统设计内核w任务扩展功能任务扩展功能就是在内核中设置一些Hook的调用点 ,在这些调用点上内核调用应用设置的、应用自己编 写的扩展处理程序,以扩展内核的有关功能。Hook调用点有任务创建、任务切换、任务删除、出 错处理等。Date16www.cuit.edu.cn嵌入式系统设计嵌入式TCP/IPTCP/IP协议已经广 泛地应用于嵌入式 系统中Socket 接 口UDP协议 TCP协议IP 协议 ICMP/IGMP协议网络接口层ARP/PPP协议以太网驱动 异步串口驱动物 理 设 备应用程序/应用协议Date17www.cuit.edu.cn嵌入式系统设计嵌入式文件系统w嵌入式文件系统相比之下较为简单,主要具有文 件的存储、检索、更新等功能,一般不提供保护 和加密等安全机制。w它以系统调用和命令方式提供对文件的各种操作 ,主要有:设置和修改对文件和目录的存取权限 提供建立、修改、改变、删除目录等服务提供创建、打开、读、写、关闭、撤消文件等服务 Date18www.cuit.edu.cn嵌入式系统设计 2. UCOSII概述w概述w特点Date19www.cuit.edu.cn嵌入式系统设计 概述C/OS-II读做“micro C O S 2”,意为“微控制器操 作系统版本2”。C/OS-II是源码公开的著名实时内核 ,可用于各类8位、16位和32位单片机或DSP。从 C/OS算起,该内核已有10多年应用史,在诸多领域 得到广泛应用。C/OS-II是一个完整的、可移植、可固化、可剪 裁的占先式实时多任务内核。C/OS-II使用ANSI C语 言编写,包含一小部分汇编代码,使之可以供不同架 构的微处理器使用。至今,从8位到64位,C/OS-II已 在超过40种不同架构的微处理器上运行。Date20www.cuit.edu.cn嵌入式系统设计提供源代码:购买作者撰写的嵌入式实时操作系统C/OS-II一 书即可获得C/OS-II V2.52版本的所有源代码,购买此书的其它版本 可以获得相应版本的全部源代码。可移植性(portable):C/OS-II的源代码绝大部分是使用移植性很 强的ANSI C写的,将与微处理器硬件相关的汇编语言使用量压缩到 最低的限度,以使C/OS-II便于移植到其它微处理器上。目前, C/OS-II已经被移植到多种不同架构的微处理器上。可固化(ROMmable):只要具备合适的软硬件工具,就可以将C/OS -II嵌入到产品中成为产品的一部分。可剪裁(scalable):C/OS-II使用条件编译实现可剪裁,用户程序可 以只编译自己需要的(C/OS-II的)功能,而不编译不要需要的功能 ,以减少C/OS-II对代码空间和数据空间的占用。可剥夺(preemptive):C/OS-II是完全可剥夺型的实时内核,C/OS- II总是运行就绪条件下优先级最高的任务。C/OS-II特点Date21www.cuit.edu.cn嵌入式系统设计多任务:C/OS-II可以管理64个任务,然而,C/OS-II的作者建议 用户保留8个给C/OS-II。这样,留给用户的应用程序最多可有56个 任务。可确定性:绝大多数C/OS-II的函数调用和服务的执行时间具有确 定性,也就是说,用户总是能知道C/OS-II的函数调用与服务执行了 多长时间。任务栈:C/OS-II的每个任务都有自己单独的栈,使用C/OS-II的 占空间校验函数,可确定每个任务到底需要多少栈空间。系统服务:C/OS-II提供很多系统服务,例如信号量、互斥信号量 、时间标志、消息邮箱、消息队列、块大小固定的内存的申请与释 放及时间管理函数等。中断管理:中断可以使正在执行的任务暂时挂起,如果优先级更高 的任务被中断唤醒,则高优先级的任务在中断嵌套全部退出后立即 执行,中断嵌套层数可达255层。 Date22www.cuit.edu.cn嵌入式系统设计稳定性与可靠性:C/OS-II是C/OS的升级版,C/OS自1992年 以来已经有数百个商业应用。C/OS-II与C/OS的内核是一样的, 只是提供了更多的功能。2000年7月,C/OS-II在一个航空项目中 得到了美国联邦航空管理局对商用飞机的、符合RTCA DO 178B 标准的认证。这表明,该操作系统的质量得到了认证,可以在任 何应用中使用。作 者 及 其 著 作Date23www.cuit.edu.cn嵌入式系统设计系统工作原理任务1任务2.空闲任务操作系统调度程序CPU资源信号量 邮箱内存管理数据队列时间管理产生 系统 运作 所必 需的 节拍调度程序对 所有任务进 行运行控制Date24www.cuit.edu.cn嵌入式系统设计任务1任务2.空闲任务信号量 邮箱内存管理数据队列时间管理l最多支持6464个任务个任务;l l空闲任务一定存在空闲任务一定存在,当所有任务都不运行时才运行空闲任务;l l所有任务都有不同的优先级所有任务都有不同的优先级,优先级为0表示最高,空闲任务优 先级最低;l任务之间的通信通过ucos提供的各种事件机制进行。0 01 1 n n.Date25www.cuit.edu.cn嵌入式系统设计操作系统调度程序CPU资源l操作系统的调度程序对所有任务实现运行控制调度程序对所有任务实现运行控制;l l任务切换任务切换实际就是把当前任务所占用的CPU资源用其它任务来替 换;lCPU资源包括寄存器R0-R15、CPSR、SPRS和其它一些全局变量;l调度程序由系统节拍驱动系统节拍驱动。Date26www.cuit.edu.cn嵌入式系统设计任务的运行状态l每个任务都有确定的状态,而同时只能是一个任务占有CPU;l拥有运行权的任务一定是就绪任务中优先级最高的。睡眠 状态就绪 状态运行 状态等待 状态ISR被删除的任务退出中断调度程序启动就绪 的最高优先级任务被更高优先级的 任务抢夺运行权刚创建的任务等待某个事件事件发生或超时进入中断Date27www.cuit.edu.cn
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号