北航国家精品课程嵌入式系统Chap8嵌入式操作系统uCOS-Ⅱ分析.

上传人:我** 文档编号:117188304 上传时间:2019-11-18 格式:PPT 页数:107 大小:4.49MB
返回 下载 相关 举报
北航国家精品课程嵌入式系统Chap8嵌入式操作系统uCOS-Ⅱ分析._第1页
第1页 / 共107页
北航国家精品课程嵌入式系统Chap8嵌入式操作系统uCOS-Ⅱ分析._第2页
第2页 / 共107页
北航国家精品课程嵌入式系统Chap8嵌入式操作系统uCOS-Ⅱ分析._第3页
第3页 / 共107页
北航国家精品课程嵌入式系统Chap8嵌入式操作系统uCOS-Ⅱ分析._第4页
第4页 / 共107页
北航国家精品课程嵌入式系统Chap8嵌入式操作系统uCOS-Ⅱ分析._第5页
第5页 / 共107页
点击查看更多>>
资源描述

《北航国家精品课程嵌入式系统Chap8嵌入式操作系统uCOS-Ⅱ分析.》由会员分享,可在线阅读,更多相关《北航国家精品课程嵌入式系统Chap8嵌入式操作系统uCOS-Ⅱ分析.(107页珍藏版)》请在金锄头文库上搜索。

1、嵌入式系统 嵌入式实时操作系统C/OS-分析 2006年5月 1 主要内容 n嵌入式操作系统 nC/OS-简介 nC/OS-内核结构 nC/OS-任务管理 nC/OS-时间管理 nC/OS-任务通信与同步 2 为什么需要操作系统 3 硬件抽象层的引入 n嵌入式实时系统自底向上包含三个部分 n硬件环境 n嵌入式实时操作系统RTOS n嵌入式实时应用程序 n由于嵌入式系统应用的硬件环境差异较大 n新增加的中间层位于操作系统和硬件之间 ,包含了系统中与硬件相关的大部分功能 ,隐蔽了底层硬件的多样性 4 嵌入式系统的体系结构 5 HAL简介 n硬件抽象层(HAL)是体系结构相关的底层程序 n处理系统启

2、动、硬件初始化以及中断与异常 n硬件抽象层对内核其它部分提供统一的调用接 口 nHAL可以提供BSP规范,提供跨平台可移植性 6 硬件抽象层接口定义和代码设计特点 n硬件抽象层具有与硬件密切相关性 n硬件抽象层具有与操作系统无关性 n接口定义的功能应包含硬件或系统所需硬件 支持的所有功能 n接口定义简单明了,太多接口函数会增加软 件模拟的复杂性 n具有可测性的接口设计有利于系统的软硬件 测试和集成 7 HAL设计目标 n支持多种的国际主流嵌入式芯片 n支持数字电视机顶盒、智能手机、数字化音视频、数字仪表等数字化 产品中常见外设的驱动 n基于甚高端通讯设备的硬件抽象层,能够支持多CPU体系结构(

3、SMP) ,以及基于网络元素NE的甚高端通讯设备 n基于智能手机的硬件抽象层,能够支持以Intel PCA体系结构为内核的 智能手机、以Intel EIA体系结构为内核的智能手机,以及以Motorola 的88000系列为内核的PDA n基于IC卡的汇编级硬件抽象层,能够支持数字电视条件接收CA的 8/16/32位CPU IC设计和机器码级汇编抽象层 8 通用操作系统和嵌入式(实时)操作系统 n通用操作系统:Windows/NT/XP、Linux、UNIX等, 用于PC机、服务器, n嵌入式(实时)操作系统:用于嵌入式设备的操作系 统,具有通用操作系统的基本特点,又具有系统实时 性、硬件的相关

4、依赖性、软件固态化以及应用的专用 性等特点; n嵌入式(实时)操作系统通常包括与硬件相关的底层 驱动软件、系统内核、设备驱动接口、通信协议、图 形界面、标准化浏览器Browser等; n嵌入式(实时)操作系统的重要指标:实时性(中断 响应时间、任务切换时间等)、尺寸(可裁剪性 ) 、可扩展性(内核、中间件) 9 嵌入式操作系统的发展 操作系统内核 应用程序 驱动程序和固件 操作系统内核 文件系统 驱动程序和固件 API GUI 应用程序 操作系统内核 文件系统 驱动程序和固件 API GUI 应用程序 通信协议库函数 80年代初期80年代中期-90年代中 期 90年代末期-21世纪 10 常见

5、的嵌入式操作系统 实时嵌入式操作系统的种类繁多,大 体上可分为两种,商用型和免费型。 n商用型的实操作系统功能稳定、可靠, 有完善的技术支持和售后服务,但往往 价格昂贵,如Vxworks、QNX、WinCE、 Palm OS等。 n免费型的实时操作系统在价格方面具有 优势,目前主要有Linux,C/OS是一种 源码开放的商业RTOS 11 学习嵌入式操作系统 n学习一种实时操作系统RTOS,如 C/OS-,掌握实时系统的概念和 设计方法 n嵌入式系统以应用为中心,要选择 “适用”的操作系统 n嵌入式Linux n自己尝试“写”RTOS 12 RTOS在嵌入式系统中的位置 嵌入式硬件平台 BSP

6、 KERNEL FS TCP/IP 设备驱动设备I/O 调试工具 其它组件 应用 RTOS C/C+ 13 主要内容 n嵌入式操作系统 nC/OS-简介 nC/OS-内核结构 nC/OS-任务管理 nC/OS-时间管理 nC/OS-任务通信与同步 14 C/OS简介 1、C/OSMicro Controller O S ,微控制器操作系统 2、 C/OS简介 n美国人Jean Labrosse 1992年完成 n应用面覆盖了诸多领域,如照相机、医疗器械、音响 设备、发动机控制、高速公路电话系统、自动提款机 等 n1998年C/OS-II,目前的版本C/OS -II V2.61, 2.72 n2

7、000年,得到美国航空管理局(FAA)的认证,可以 用于飞行器中 n网站www.ucos-II.com( ) 15 u公开源代码 u可移植性(Portable) 绝大部分 C/OS-II的源码是用移植性很强的ANSI C写的。和 微处理器硬件相关的那部分是用汇编语言写的。汇编语言写的 部分已经压到最低限度,使得 C/OS-II便于移植到其他微处 理器上。 C/OS-II可以在绝大多数8位、16位、32位以至64位 微处理器、微控制器 、数字信号处理器(DSP)上运行。 u可固化(ROMable) C/OS-II是为嵌入式应用而设计的,这就意味着,只要用户 有固化手段(C编译、连接、下载和固化)

8、, C/OS-II可以 嵌入到用户的产品中成为产品的一部分。 u可裁剪(Scalable) 可以只使用 C/OS-II中应用程序需要的那些系统服务。也就 是说某产品可以只使用很少几个 C/OS-II调用,而另一个产 品则使用了几乎所有 C/OS-II的功能,这样可以减少产品中 的 C/OS-II所需的存储器空间(RAM和ROM)。这种可剪裁 性是靠条件编译实现的。 C/OS的性能特点(一) 16 u占先式(Preemptive) u多任务 C/OS-II可以管理64个任务,然而,目前这一版本保留8个给系统。应 用程序最多可以有56个任务 u可确定性 全部 C/OS-II的函数调用与服务的执行时

9、间具有可确定性。 u任务栈 每个任务有自己单独的栈, C/OS-II允许每个任务有不同的栈空间, 以便压低应用程序对RAM的需求。 u系统服务 C/OS-II提供很多系统服务,例如邮箱、消息队列、信号量、块大小 固定的内存的申请与释放、时间相关函数等。 u中断管理 中断可以使正在执行的任务暂时挂起,如果优先级更高的任务被该中 断唤醒,则高优先级的任务在中断嵌套全部退出后立即执行,中断嵌 套层数可达255层。 u稳定性与可靠性 C/OS的性能特点(二) 17 C/OS-II图籍 n描述了C/OS-II内部的工作原理 n随书的CD中包含了源代码 n工业界最清晰的源代码 n除英文版外,有中文和韩文版

10、 ChineseKoreanEnglish ISBN 1-57820-103-9 美国CMP BOOK ISBN 7-81077-290-2 北京航空航天大学出版社 ISBN 89-951540-5-5 18 C/OS-II的各种商业应用 n全世界有数百种产品在应用: nAvionics(航空电子设备) nMedical nCell phones nRouters and switches nHigh-end audio equipment nWashing machines and dryers nUPS (Uninterruptible Power Supplies) nIndustria

11、l controllers nGPS Navigation Systems nMicrowave Radios nInstrumentation nPoint-of-sale terminals n更多 19 C/OS-II提供的系统服务 n信号量 n带互斥机制的信号量 n减少优先级倒置的问题 n事件标志 n消息信箱 n消息队列 n内存管理 n时钟管理 n任务管理 20 C/GUI and C/FS nC/GUI n嵌入式的用户界面 n用ANSI C书写 n支持任何8, 16, 32-bits CPU n彩色,灰度等级或黑白显示 n代码尺寸小 nC/FS n嵌入式的文件系统 n用ANSI C书

12、写 n支持任何8, 16, 32-bits CPU n支持SMC, MMC, SD, CF, IDE, Flash, RAM其他介 质 21 主要内容 n嵌入式操作系统 nC/OS-简介 nC/OS-内核结构 nC/OS-任务管理 nC/OS-时间管理 nC/OS-任务通信与同步 22 C/OS-II的文件结构 23 n内核结构 n任务管理 n时间管理 n任务之间通信与同步 nC/OS的移植 C/OS-II分析 24 n当处理临界段代码时,须关中断,处理完毕后,再开中断 n关中断时间是实时内核最重要的指标之一。它影响用户系 统对实时事件的相应特性。 n在实际应用中,关中断的时间很大程度上取决于

13、微处理器 的结构和编译器生成的代码质量 n微处理器通常具有关中断/开中断操作。C编译器须具有某 种机制,能够在c中直接实现关中断/开中断操作 nC源代码中插入汇编语言的语句,易实现关中断/开中断操作 n关中断/开中断操作作为语言的扩展部分,直接从C语言中可以 关中断/开中断 C/OS-II开关中断的方法 25 C/OS-II开关中断的方法(续1) nC/OS-II定义了两个宏调用来开关中断: nOS_ENTER_CRITICAL( ) (禁止中断的宏) nOS_EXIT_CRITICAL( ) (启用中断的宏) n通常成对出现 n上述宏定义取决于使用的微处理器。在文件 OS_CPU.H有相应的

14、宏定义 n在C/OS-II中,每种微处理器都有自己的 OS_CPU.H文件 26 C/OS-II开关中断的方法(续2) OS_ENTER_CRITICAL( ); OS_ENTER_CRITICAL( ); /* /* C/OSC/OS-II-II临界段代码临界段代码* */ / OS_EXIT_CRITICAL( );OS_EXIT_CRITICAL( ); n n 如果在所有挂起类(如果在所有挂起类(PENDPEND)调用之前,如:调用)调用之前,如:调用OSTimeDelOSTimeDel( )( (挂起时间)功能函数之前挂起时间)功能函数之前关中断关中断,会出现什么现象?,会出现什么现

15、象? n n 通常通常,调用调用 C/OSC/OS-II-II功能函数时,中断总应当是开放的。功能函数时,中断总应当是开放的。 27 C/OS-II开关中断的方法(续3) n n OS_ENTER_CRITICAL( )OS_ENTER_CRITICAL( )及及OS_EXIT_CRITICAL( )OS_EXIT_CRITICAL( )可以可以 用用3 3种不同的方法实现种不同的方法实现 n n 具体方法取决于用户打算移植到的处理器的性能及所具体方法取决于用户打算移植到的处理器的性能及所 用的用的C C编译器编译器 n n 用定义(用定义(#define#define)常数)常数OS_CRI

16、TICAL_METHODOS_CRITICAL_METHOD可以选 择具体使用哪种方法 n该常数在与CPU类型有关的移植文件OS_CPU.H中定义 28 nOS_CRITICAL_METHOD=1 n用最简单的方式来实现2个宏调用 n用处理器指令关中断,完成OS_ENTER_CRITICAL() n用开中断指令完成OS_EXIT_CRITICAL() n问题: n如果调用C/OS-II功能函数时,中断是关掉的,则从C/OS-II函数返回时 ,中断就打开了 n若调用C/OS-II功能函数之前已将中断关掉,那么用户往往希望从C/OS- II函数返回时,中断仍然是关着的。这时,这种方法就不妥当。 n对特定的处理器,这种办法是唯一的选择 C/OS-II中采用了3种开关中断的方法 29 C/OS-II中采用了3种开关中断的方法(续1) nOS_CRITICAL_METHOD=

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号