嵌入式系统四川大学.ppt_第1页
嵌入式系统四川大学.ppt_第2页
嵌入式系统四川大学.ppt_第3页
嵌入式系统四川大学.ppt_第4页
嵌入式系统四川大学.ppt_第5页
已阅读5页,还剩84页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式实时操作系统,刘宜成,第 1 章 嵌入式系统概论,随着社会的信息化的日益加强,计算机和网络已经全面渗透到日常生活的每一个角落。对于我们每个人来说,需要的已经不仅仅是那种放在桌上处理文档、进行工作管理和生产控制的计算机“机器”。任何一个普通人都可能拥有大小不一的、形状各异的、使用嵌入式技术的电子产品,小到MP3、PDA等微型数字化产品,大到网络家电、智能家电、车载电子设备等。,目前,各种各样的新型嵌入式系统设备在应用数量上已经远远超过了通用计算机。在工业和服务领域中,使用嵌入式技术的数字机床、智能工具、工业机器人、服务机器人正在逐渐改变着传统的工业生产和服务方式。,1. 什么是嵌入式系统 嵌入式系统的定义: 借用电气工程师协会(IEEE)的一个定义(/Policy/Areas/Y2K/w-43.cfm): 嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备。,嵌入式系统具备下列特性: 1. 通常只执行特定功能,这一点与一般桌上型办公设备或数据库系统有很大区别。 2. 以微电脑与周边器件构成核心,其规模可在大范围内变化,如从8051芯片到x86芯片。 3. 要求严格的时序和稳定性,这是因为在机器控制的大型系统中,程序运行稍有差错则可能使得整个系统失去控制,甚至酿成灾害。 4. 全自动操作循环。,(国内定义)嵌入式系统是电脑软件与硬件的综合体,它是以应用为中心,以计算机技术为基础,软硬件可裁剪,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。 嵌入式计算机在应用数量上远远超过了各种通用计算机。一台通用计算机的外部设备中就包含了510个嵌入式微处理器,键盘、鼠标、软驱、硬盘、显示卡、显示器、Modem、网卡、声卡、打印机、扫描仪、数码相机、USB集线器等均是由嵌入式处理器进行控制的。,2 嵌入式系统的特点及分类,2.1 嵌入式系统的特点 (1) 系统内核小 由于嵌入式系统一般是应用于小型电子装置,系统资源相对有限,所以内核较之传统的操作系统要小得多。比如ENEA公司的OSE分布式系统,内核只有5KB.而Windows的内核则要大得多,嵌入式Linux内核可裁减,几百k。,(2) 专用性强 嵌入式系统的个性化很强,其中的软件系统和硬件的结合非常紧密,一般要针对硬件进行系统的移植,即使在同一品牌、同一系列的产品中也需要根据系统硬件的变化和增减不断进行修改。同时,针对不同的任务,往往需要对系统进行较大更改;程序的编译下载要和系统相结合,这种修改和通用软件的“升级”是完全不同的概念。,(3) 系统精简 嵌入式系统一般没有系统软件和应用软件的明显区分,不要求其功能的 设计及实现过于复杂,这样一方面利于控制系统成本,同时也利于实现系统安全。 (4) 高实时性 高实时性的操作系统软件是嵌入式软件的基本要求。而且软件要求固化存储,以提高速度。软件代码要求高质量和高可靠性。,(5)多任务的操作系统 嵌入式软件开发要想走向标准化,就必须使用多任务的操作系统。嵌入式系统的应用程序可以没有操作系统而直接在芯片上运行(单片机);但是为了合理地调度多任务,利用系统资源、系统函数以及专家库函数接口,用户必须自行选配RTOS(Real Time Operating System)开发平台,这样才能保证程序执行的实时性、可靠性,并减少开发时间,保障软件质量。,(6)专门的开发工具和环境 嵌入式系统开发需要专门的开发工具和环境。由于嵌入式系统本身不具备自主开发能力,即使设计完成以后,用户通常也不能对其中的程序功能进行修改,因此必须有一套开发工具和环境才能进行开发,这些工具和环境一般是基于通用计算机上的软硬件设备以及各种逻辑分析仪、混合信号示波器等。开发时往往有主机和目标机的概念,主机用于程序的开发,目标机作为最后的执行机,开发时需要交替结合进行。,嵌入式系统的困难在于其开发的特殊性和困难性: 开发机器!=执行机器 开发环境!=执行环境 专门的交叉编译开发环境,开发机器(编辑器、编译器、调试器) 目标机 程序运行的机器 宿主机和目标机一样时为本地编译 交叉编译指宿主机和目标机是不同的系统(必须做目标文件下载),宿主机,目标机,网络 串口,(7)嵌入式系统极其关注成本 (8)嵌入式系统通常有功耗的要求,2.2 嵌入式系统的分类,由于嵌入式系统由硬件和软件两大部分组成,所以其分类也可以从硬件和软件进行划分。,(1) 嵌入式系统的硬件 从硬件方面来讲,嵌入式系统的核心部件是嵌入式处理器。据不完全统计,全世界嵌入式处理器的品种数量已经超过1000多种,流行体系结构有30多个,其中8051体系占大多数。生产8051单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近100种。目前嵌入式处理器的寻址空间可以从64KB到256MB,处理速度从0.1MIPS到2000MIPS。,近年来嵌入式微处理器的主要发展方向是小体积、高性能、低功耗。专业分工也越来越明显,出现了专业的IP(Intellectual Property Core,知识产权核)供应商,如ARM、MIPS等,他们通过提供优质、高性能的嵌入式微处理器内核,由各个半导体厂商生产面向各个应用领域的芯片。 如图1-1所示,一般可以将嵌入式处理器分成4类,即嵌入式微处理器(Micro Processor Unit,MPU)、嵌入式微控制器(Micro Controller Unit,MCU单片机)、嵌入式DSP处理器(Digital Signal Processor,DSP)和嵌入式片上系统(System On Chip,SOC)。,(2) 嵌入式系统的软件 嵌入式系统的软件一般由嵌入式操作系统和应用软件组成。 操作系统有两个基本功能:使计算机硬件便于使用;高效组织和正确地使用计算机的资源。 操作系统有4个主要任务:进程管理、进程间通信与同步、内存管理和I/O资源管理。 目前嵌入式系统的软件主要有两大类:实时系统和分时系统。如图1-2所示。,实时操作系统是指具有实时性,能支持实时控制系统工作的操作系统。 实时操作系统的首要任务是调度一切可利用的资源完成实时控制任务; 其次才着眼于提高计算机系统的使用效率,其重要特点是通过任务调度来满足对于重要事件在规定的时间内做出正确的响应。,实时操作系统与分时操作系统的区别: 对于分时操作系统,软件的执行在时间上的要求并不严格,时间上的延误或者时序上的错误,一般不会造成灾难性的后果。 而对于实时操作系统,主要任务是对事件进行实时的处理,虽然事件可能在无法预知的时刻到达,但是软件必须在事件随机发生时,在严格的时限内做出响应(系统的响应时间)。即使是系统处在尖峰负荷下,也应如此,系统时间响应的超时就意味着致命的失败。 另外,实时操作系统的重要特点是具有系统的可确定性,即系统能对运行的最好和最坏情况做出精确的估计。,Stankovic给出了实时系统的定义:,“实时系统是这样一种系统,即系统执行的正确性不仅取决于计算的逻辑结果,而且还取决于结果的产生时间。”,实时系统又可以分为“硬实时系统”和“软实时系统”。硬实时和软实时的区别就在于对外界的事件做出反应的时间。 硬实时系统:必须对事件做出及时的反应,绝对不能错过事件处理的时限。在硬实时系统中如果出现了这样的情况就意味着巨大的损失和灾难。比如说航天飞机的控制系统,如果出现故障,后果不堪想象。 软实时系统:在系统负荷较重的时候,允许发生错过时限的情况而且不会造成太大的危害。比如液晶屏刷新允许有短暂的延迟。,硬实时系统和软实时系统实现的区别主要是在选择调度算法上。 对于软实时系统,选择基于优先级调度的算法足以满足软实时系统的需求,而且可以提供高速的响应和大的系统吞吐量; 而对硬实时系统来说,需要使用的算法就应该是调度方式简单,反应速度快的实时调度算法。,3. 嵌入式系统的应用,国防武器设备,如导弹瞄准、雷达识别、电子对抗设备等。 通信信息设备,如路由器、程控交换机、移动电话、MODEM等。 过程控制,即对生产过程中各种动作流程的控制,这种控制是在对被控对象和环境进行不断观测的基础上做出及时反应的,如流水线控制、金属加工控制等。 智能仪器,如网络分析仪、示波器、医疗仪器等。 消费产品,各式各样的信息家电产品,如数字电视、微波炉等(PDA和机顶盒、IP电话)。 生物微电子技术,这是当今嵌入式技术的前沿应用,有着广阔的市场空间。,Compaq h1930,Lipman POS terminal,Palm Tungsten,Palm Zire 71,Sony Clie PEG-NX80V,Siemens MC60,军用侦察机器人 单兵携带侦察机器人形式,支臂履带式、常规履带式和模块化重组式。,阿富汗参加反恐作战的“赫耳墨斯”价值4万美元,可携带2架摄像机,发挥了很好作用。,2002年11月28日,以色列一选举投票点,发生枪击事件,造成至少7人死亡,数十人受伤。以警方用机器人在检查一具巴勒斯坦枪手的尸体。,高性能武器平台,仿生机器鱼 (五个关节,长度890mm,圆柱截面110mm,尾鳍垂直高度205mm,尾鳍弦长89mm),基于Win CE的移动机器人平台,基于RTLinux的仿人机器人,高 48 cm 重: 6 kg 灵活性:20 DOF 操作系统: RT-Linux 接口形式: USB 1.0 (12Mbps) 响应周期: 1ms 能源: DC24V x 6.2A (150W) 制造:富士通,高性能、高可靠、体积小的应用需求,工控机不能直接应用 单板机很难实时处理多任务,检测、控制、协调、通讯等 一般PC功耗很大,医用机器人,摄像机 标定,Mark点视觉配准,机器人 穿刺肿瘤,二自由度机器人平台与网络伺服驱动单元,特点: SCARA结构 直流伺服驱动 RS485网络接口 TMS320 F240DSP 高精度位置速度控制 可编程I/O口,远程控制-柜机空调,带电力载波的网络洗衣机,家用方面:数字电视、信息家电、智能玩具、手持通讯、存储设备,家庭智能管理系统,社区建筑的水、电、煤气表的远程自动抄表,安全防火、防盗系统,远程点菜器等。,2004年“勇气号”再次登陆火星,汽车电子产品,VOLVO S80汽车的CAN总线网络,智能玩具机器人,工业方面:机床、冶金、电子、交通、航空航天等行业技术升级;,微型飞行器-“黑寡妇”,航天:基于VXworks的火星探路者,社会发展方面:嵌入式Internet应用,无线传感器网络,无线传感器网络是由部署在监测区域内大量廉价小型或微型的各类集成化传感器节点协作地实时感知、监测各种环境或目标对象信息,通过嵌入式系统对信息进行智能处理,并通过随机自组织无线通信网络以多跳中继方式将所感知的信息传送到用户终端,从而真正实现“无处不在的计算”理念。,无线传感器网络系统通常包括传感器节点、汇聚节点和管理节点。大量传感器节点随机部署在监测区域内部或附近,通过自组织方式构成网络。 传感器节点监测的数据沿着其它节点逐跳进行传输,在传输过程中数据可能被多个节点处理,经过多跳后路由到汇聚节点,最后通过互联网或卫星到达管理节点。用户通过管理节点对传感器网络进行配置,发布监测任并收集监测数据。,Internet、卫星或移动通信网络等,汇聚节点,什么是无线传感器网络?,监测区域,传感器节点,无线传感网络综合了传感技术、嵌入式计算技术、现代网络技术、无线通信技术、分布式智能信息处理技术等 无线传感网络可以在长期无人值守的状态下工作,在军事国防、工农业、城市管理、智能交通、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多领域都有重要的科研价值、巨大的实用价值和广阔的市场前景,传感器网络,战场评估,生活习性监测,地震监测,深海监控,目标跟踪和检测,小区安全监控,无线传感器网络应用,精细农业,森林火灾监控,4 嵌入式处理器和嵌入式操作系统,4.1 嵌入式微处理器 嵌入式微处理器有许多种流行的处理器核,芯片生产厂家一般都基于这些处理器核生产不同型号的芯片.,1. ARMStrongARM ARM(Advanced RISC Machines)公司是全球领先的16/32位RISC微处理器知识产权设计供应商。 ARM公司通过转让高性能、低成本、低功耗的RISC微处理器、外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。 ARM已成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。 ARM处理器有三大特点: 小体积、低功耗、低成本而高性能;16/32位双指令集;全球的合作伙伴众多。,2. MIPS MIPS是Microprocessor without Inter-locked Pipeline Stages的缩写,是一种处理器内核标准,它是由MIPS技术公司开发的。 MIPS技术公司是一家设计制造高性能、高档次的嵌入式32位和64位处理器的厂商,在RISC处理器方面占有重要地位。 2000年,MIPS 公司发布了针对MIPS 32 4Kc的新版本以及未来64位MIPS 64 20Kc处理器内核。,MIPS技术公司既开发MIPS处理器结构,又自己生产基于MIPS的32位64位芯片。 为了使用户更加方便地应用MIPS处理器,MIPS公司推出了一套集成的开发工具,称为MIPSIDF(Integrated Dev-elopment Framework),特别适用于嵌入式系统的开发。,3. PowerPC PowerPC架构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备等各个方面。,目前PowerPC独立微处理器与嵌入式微处理器的主频从25MHz700MHz不等,它们的能量消耗、大小、整合程度、价格差异悬殊,主要产品模块有主频350MHz700MHz PowerPC 750CX和750CXe以及主频400MHz的PowerPC 440GP等。 嵌入式的PowerPC 405(主频最高为266MHz) 和PowerPC440 (主频最高为550MHz) 处理器内核可以用于各种集成的系统芯片(SOC)设备上,在电信、金融和其它许多行业具有广泛的应用。,4. x86 x86系列处理器是我们最熟悉的了,它起源于Intel架构的8080,再发展出286、386、486,直到现在的Pentium4、Athlon和AMD的64位处理器Hammer。从嵌入式市场来看,486DX是当时和ARM、68K、MIPS和SuperH齐名的五大嵌入式处理器之一,8080是第一款主流的处理器。 今天的Pentium和当初的8080使用相同的指令集,这有利也有弊,利是可以保持兼容性,至少10年前写的程序在现在的机器上还能运行;弊是限制了CPU性能的提高。,5. 68K/Cold fire Motorola 68000(68K) 是出现得比较早的一款嵌入式处理器,68K采用的是CISC结构,与现在的PC指令集保持了二进制兼容。 CISC是个人电脑CPU常用的,Intel、AMD、VIA都采用了CISC指令集,只有Apple电脑中的Power PC使用了RISC架构。 RISC是精简指令集,每条指令长度都一样,有利于简化译码结构,减少处理器的晶体管数量,这对于嵌入式处理器来说是很重要的。,1994年,Motorola又推出了基于RISC结构的68K/Cold Fire系统微处理器。 目前基于该架构的嵌入式微处理器主要有MCF5272,它基于第二代ColdFire V2核心,在66MHz下操作速度为63Dhrystone 2.1MIPS,是迄今最高的V2性能。,龙芯,龙芯(英语:Loongson,旧称GODSON1) 是中国科学院计算所自主开发的通用CPU, 采用简单指令集,类似于MIPS指令集。第一 型的速度是266MHz,最早在2002年开始使用。 龙芯2号速度最高为1GHz。龙芯3号还未有成品, 而设计的目标则在多核心的设计。,4.2 嵌入式操作系统,下面介绍国外和国内常用的实时操作系统。 1. 国外著名的实时操作系统 国外实时操作系统已经从简单走向成熟,有代表性的产品主要有VxWorks,QNX,Palm OS,Windows CE等,占据了机顶盒、PDA等的绝大部分市场。 其实,实时操作系统并不是一个新生的事物,从20世纪80年代起,国际上就有一些IT组织、公司开始进行商用嵌入式系统和专用操作系统的研发。,(1) VxWorks VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks拥有良好的持续发展能力、高性能的内核以及良好的用户开发环境,在实时操作系统领域内占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通信、军事演习、导弹制导、飞机导航等。,在美国的F-16、FA-18战斗机,B-2隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用了VxWorks。它是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统。它支持多种处理器,如x86,i960,Sun Sparc,Moto-rola MC68xxx,MIPS RX000,Power PC, ARM , StrongARM等。大多数的VxW-orksAPI是专有的。,(2) QNX QNX是一个实时的、可扩充的操作系统;它部分遵循POSIX (Portable Operating System Interface)相关标准,如POSIX.1b 实时扩展;它提供了一个很小的微内核以及一些可选的配合进程。 其内核仅提供4种服务:进程调度、进程间通信、底层网络通信和中断处理,其进程在独立的地址空间中运行。所有其他操作系统服务都实现为协作的用户进程,因此QNX内核非常小巧(QNX4x大约为12KB),而且运行速度极快。这个灵活的结构可以使用户根据实际的需求,将系统配置成微小的嵌入式操作系统或包括几百个处理器的超级虚拟机操作系统。,(3) Palm OS 3Com公司的Palm OS在掌上电脑和PDA市场上占有很大的市场份额。它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需的应用程序。 目前共有3500多个应用程序可以运行在Palm Pilot上。其中大部分应用程序均为其他厂商和个人所开发,使Palm Pilot的功能得以不断增多。这些软件包括计算器、各种游戏、电子宠物、地理信息等。在开发环境方面,可以在Windows 95/98/NT以及Macintosh下安装Palm Pilot Desktop。 Palm Pilot可以与流行的PC平台上的应用程序(如Word,Excel等)进行数据交换。,(4) Windows CE Microsoft Windows CE是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。操作系统的基本内核至少需要200KB的ROM。,(5) LynxOS Lynx Real-time Systems的LynxOS是一个分布式、嵌入式、可规模扩展的实时操作系统,它遵循POSIX.1a,POSIX.1b和POSIX.1c标准。 LynxOS支持线程概念,提供256个全局用户线程优先级;提供一些传统的、非实时系统的服务特征,包括基于调用需求的虚拟内存, 一个基于Motif的用户图形界面,与工业标准兼容的网络系统以及应用开发工具。,Motif 是开放软件基金(OSF)于1989年推出的一个图形用户界面系统。 由于它融合了多种图形用户界面产品中的优点,因此得到了 OSF 的所有成员及广大第三方厂商的广泛支持。 目前 Motif 已作为软件产品在 OS/2、Unix、Sys V、OSF/1、VMS、Macintosh OS、Ultrix 等48中操作系统平台上实现,并可在PC、工作站、小型机和大型机等各种计算机系统上运行。,(6) 嵌入式Linux 随着Linux的迅速发展,嵌入式Linux现在已经有许多的版本,包括强实时的嵌入式Linux(如新墨西哥工学院的RT-Linux和堪萨斯大学的KURT-Linux)和一般的嵌入式Linux 版本(如uClinux和Pocket Linux等)。 其中,RT-Linux通过把通常的Linux任务优先级设为最低,而所有的实时任务的优先级都高于它,以达到既兼容通常的Linux任务又保证强实时性能的目的。,另一种常用的嵌入式Linux是uClinux,它是针对没有MMU的处理器而设计的。它不能使用处理器的虚拟内存管理技术,它对内存的访问是直接的,所有程序中访问的地址都是实际的物理地址。它专为嵌入式系统做了许多小型化的工作。 由于嵌入式系统越来越追求数字化、网络化和智能化,因此原来在某些设备或领域中占主导地位的软件系统越来越难以为继,因为要达到上述要求,整个系统必须是开放的、提供标准的API,并且能够方便地与众多第三方的软硬件沟通。,(7) uC/OS uC/OS是源码公开的实时嵌入式操作系统。 uC/OS-的主要特点如下: 公开源代码,系统透明,很容易就能把操作系统移植到各个不同的硬件平台上。 可移植性强,uC/OS-绝大部分源码是用ANSI C写的,可移植性 (Portable)较强。而与微处理器硬件相关的那部分是用汇编语言写的,已经压到最低限度,使得uC/OS- 便于移植到其他微处理器上。,可固化,uC/OS-是为嵌入式应用而设计的,这就意味着,只要开发者有固化(ROMable) 手段 (C编译、连接、下载和固化) ,uC/OS-可以嵌入到开发者的产品中成为产品的一部分。 可裁剪,通过条件编译可以只使用uC/OS-中应用程序需要的那些系统服务程序,以减少产品中的uC/OS-所需的存储器空间 (RAM和ROM) 。,2. 国内著名的实时操作系统 国内的实时操作系统研究开发有两种类型。 一类是中国自主开发的实时操作系统,如电子科技大学嵌入式实时教研室和科银公司联合研制开发的实时操作系统Delta OS (道系统) 、凯思公司的Hopen OS (女娲计划) 、中科院

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论