1 1 嵌入式操作系统 电子科技大学计算机学院 罗蕾 lluo@uestc.edu.cn 2 课程目的 ?理论与实践相结合 ?以嵌入式软件的核心嵌入式实时操作系统为重 点,以应用为目的,全面介绍嵌入式系统 ?使大家既能对嵌入式系统及开发有一个全景的 把握,又能深入理解嵌入式实时操作系统。 ?配套实验用嵌入式实时软件开发平台 -“道系 统 ”。该平台包括嵌入式实时操作系统和集成 开发工具,提供丰富的实验和手册 3 课程目的 ?利用 PC机就可以自己动手搭建嵌入式系统的 开发平台,熟悉应用开发,更好地学习和理解 嵌入式系统的基础知识: ?从纯软件到硬 /软件结合 ?从 “纸 ”上谈兵(编程序)到 “板 ”上谈兵 ?从 “懂 ”怎么做到 “会 ”做 ?从讲 /听到讲 /听 /做。 4 嵌入式实时系统教研室 ?长期从事嵌入式系统技术研究、开发、咨询服 务和本科 /硕士 /博士生培养 ?所研究内容属计算机应用博士点的主要学术方 向之一 , 处于国内领先,国际先进水平 ?自 1990年以来承担并完成了国家 863、电子发 展基金、国防预研等多项嵌入式系统相关的重 点课题,开发出具有自主版权的嵌入式实时操 作系统 CRTOS及开发工具。 ?成果获得了多项部级科技进步奖 5 嵌入式实时系统教研室 ?从 1999年开始进行产 业化工作,走出了一 条学、研、产相结合 的道路,入股成立了 北京科银京成公司。 ?2000年推出了中国第 一套完整的嵌入式实 时软件开发平台 “道系 统 ”( DeltaSystem)。 6 课程的主要内容 ?嵌入式系统基础 ?嵌入式系统导论(什么是嵌入式系统?嵌入 式系统分类、发展历程、特点、应用领域、 发展趋势) ?嵌入式硬件系统(基本组成,嵌入式微处理 器: ARM、 MIPS、 X86等,总线、存储系 统、输入 /输出与典型接口等) ?嵌入式软件系统(分类、特点、体系结构、 运行流程、操作系统、开发工具) 2 7 课程的主要内容 ?嵌入式实时内核 ?任务管理与调度(任务、任务管理、调度算 法) ?同步、互斥与通信(信号量、信箱、队列、 事件、异步信号) ?中断和时间管理(中断分类、处理过程、中 断管理机制、硬件时钟设备、与 OS的管理 关系、时间管理机制) ?内存管理和 I/O管理(特点和管理机制) 8 课程的主要内容 ?嵌入式系统软件的开发 ?嵌入式系统开发模式 ?嵌入式软件开发工具 ?软件分析设计方法 9 实验系统的内容 ?嵌入式实时软件开发平台 “道系统 ”,包括: ?嵌入式实时操作系统 DeltaOS:嵌入式实 时内核 DeltaCORE、嵌入式 TCP/IP DeltaNET、嵌入式文件系统 DeltaFILE ?嵌入式集成交叉开发环境 LambdaTOOL:集成开发环境 LambdaIDE、交叉编译器 LambdaGCC、 交叉调试器 LambdaGDB 10 实验系统的内容 ?配套 19个实验,具体是: ?嵌入式交叉开发环境建立实验: 1个 ?实时内核实验: 10个 ?嵌入式 TCP/IP实验: 5个 ?嵌入式文件系统实验: 3个 11 教材 ?嵌入式实时操作系统及应用开发,罗蕾 主编,北京航空航天大学出版社 . ?光盘:实验系统及实验指导书 12 参考资料 ?Jean J.Labrosse. 嵌入式实时操作系统 uC/OS- II(第 2版 ). 北京航空航天大学出版社 . ?嵌入式计算系统设计原理 (美) Wayne Wolf Computers as Components: Principles of Embedded Computing System Design ?C.M.Krishna, Kang G.Shin. REAL-TIME SYSTEMS. Tsinghua University Press, McGraw-Hill. ?A Survey of Real-time Operating Systems. ?WHAT MAKES A GOOD RTOS. 3 13 参考资料 ?Real-time Embedded Software Systems ?OSEK/VDX Operating System. Version 2.2.2. July 5th, 2004. ?Charting Past, Present, Future Research in Ubiquitous Computing. ?Priority Inheritance Protocols: An Approach to Real-Time Synchronization ?CLDCSpecification1.1 ?http://www.arm.com 14 第一章 嵌入式系统导论 15 主要内容 ?嵌入式系统概述 ?嵌入式系统的应用领域 ?嵌入式系统的实时性与可靠性( *) ?嵌入式系统的发展趋势 16 第一节 嵌入式系统概述 无处不在的嵌入式系统 嵌入式系统的定义 嵌入式系统的发展历程 嵌入式系统的特点 嵌入式系统的分类 17 计算机发展的三大阶段 ?第一阶段 : 始于五十年代的由 IBM, Burroughs, Honeywell等公司率先研制 的大型机 . ?第二阶段 : 始于七十年代的个人计算机 . ?第三阶段 :计算机正迈入下一个充满机 遇的阶段 —“后 PC时代 ”或 “无处不在的 计算机 “阶段。 18 计算的发展过程 分时系统 批处理系统 单用户系统 分布式计算 基于网络的 个人计算 协同计算 普适计算 大型机 小型机 微型机 基于开放系统的客 户/服务器 普适计算终端 资源使用的灵活性 计算的自由性 4 19 无处不在的计算机 施乐公司 Palo Alto研究中心主任 Mark Weiser认为: “从长远来看,PC机和计算机工作站将衰 落,因为计算机变得无处不在:例如在 墙里、在手腕上、在手写电脑中(象手写 纸一样)等等,随用随取、伸手可及 ”。 20 无处不在的计算机 全世界的计算机科学家正在形成一种共 识 : 计算机不会成为科幻电影中的那种贪婪 的怪物, 而是将变得小巧玲珑, 无处不 在. 他们藏身在任何地方, 又消失在所 有地方, 功能强大, 确有无影无踪. 人 们将这种思想命名为: “无所不在的计算 机 ”. 21 嵌入式系统无处不在 彼此互连 22 即使远在火星 面对6万年才有一次 的机会,科学家们 积极行动起来 —— —从6月开始,先后 有欧洲的 “火星快 车 ”、美国 “勇气号 ” 和 “机遇号 ”等三颗 火星探测器飞往火 星,而日本一颗本 已在太空 “迷失方 向 ”的火星探测器也 在关键时刻及时 “醒 ”来,开始了久 违的火星之旅。 火星与地球,这一对在星空中 遥遥相望的 “兄弟 ”,将迎来6 万年来 “最亲密的接触 ”,在 2003年8月27日这一天,火星 距离地球最近达到55756622(5 千多万)公里。 勇气号 23 自1997年10月15日发射以来, 经历了7年35亿公里航程的卡 西尼号太空船将在2004年7月1 日10时30分进入土星轨道,开 始进行人类有史以来对土星及 其31颗已知卫星最详尽的探 测。 土星探测 24 “哥伦比亚 ”号,整个系统的起飞重 量达2000吨,高56米。 5 25 “小鹰 ”号标准排水量为60100吨,满载排水量达81123吨,舰长323.6 米,舰宽39.6米,吃水11.4米,是世界上最大的常规动力航空母 舰。舰员2930名,其中军官155名;航空人员2480名,其中军官320 名。飞机:F-14D战斗机20架,F/A-18战斗机36架,E-2C预警机和 EA-6B电子干扰机各4架,6架S-3B反潜机,6架直升机,2架ES-3A。 26 27 Smart Dust http://robotics.eecs.berkeley.edu/~pister/SmartDust/ 28 Wearable Computing 29 嵌入式设备无处不在, 但桌面系统还依然有用 z 无处不在的计算机是计算机与使用者的比率达到和超 过100:1的阶段 z 无处不在的计算机包括通用计算机和嵌入式计算机系 统 z 在100:1比例中95%以上都是嵌入式计算机系统,并非 通用计算机 30 通用计算机 -看的见的计算机 z 如:PC机、服务器、大型计算机等。 6 31 通用计算机 -看的见的计算机 32 嵌入式系统定义 ?看不见的计算机,一般不能被用户编程 , 它有 一些专用的 I/O设备 , 对用户的接口是应用专用 的。 ?An embedded system is a computer system contained within some larger device or product with the intent purpose of providing monitoring and control services to that device. ? “Any sort of device which includes a programmable computer but itself is not intended to be a general-purpose computer.” ?通常将嵌入式计算机系统简称为嵌入式系统。 33 嵌入式系统定义 ?IEEE: “Device used to control, monitor, or assist the operation of equipment, machinery or plants”. ?嵌入式系统是以应用为中心、以计算机 技术为基础、软件硬件可裁剪、适应应 用系统对功能、可靠性、成本、体积、 功耗严格要求的专用计算机系统 . 34 嵌入式系统定义 ?嵌入式系统是将先进的计算机技术、半 导体技术和电子技术与各个行业的具体 应用相结合后的产物 . 包含有计算机,但又不是通用计算机的 计算机应用系统。 35 通用计算机与嵌入式系统对比 一般不能再编程应用程序可重新编制二次开发性 采用交叉开发方式,开发 平台一般是通用计算 机,运行 平台是嵌入式 系统。 开发平台和运行平台都是通用 计算机 开发方式 面向应用的嵌入式微处理 器,总线和外部接口多 集成在处理器内部。 软件与硬件是紧密集成在 一起的。 通用处理器、标准总线和外 设。 软件和硬件相对独立。 组成 看不见的计算机。 形式多样,应用领域广泛 ,按应用来分。 看得见的计算机。 按其体系结构、运算速度和结 构规模等因素分为大、中、 小型机和微机。 形式和类型 嵌入式系统通用计算机特征 36 嵌入式系统的组成 ?嵌入式系统一般由嵌入 式硬件和软件组成 ?硬件以微处理器为核心 集成存储器和系统专用 的输入 /输出设备 ?软件包括:初始化代码 及驱动、嵌入式操作系 统和应用程序等,这些 软件有机地结合在一 起,形成系统特定的一 体化软件。 7 37 嵌入式系统的发展历程 ?嵌入式系统的出现和兴起( 1960-1970) ?嵌入式系统开始走向繁荣,软件和硬件 日臻完善( 1971-1989) ?嵌入式系统应用走向纵深( 1990年 -现 在) 38 嵌入式系统的出现和兴起 ?出现: 20世纪 60年代以晶体管、磁芯存 储为基础的计算机开始用于航空等军用 领域。 ?第一台机载专用数字计算机是奥托内蒂克斯 公司为美国海军舰载轰炸机 “民团团员 ”号研 制的多功能数字分析器 (Verdan)。 ?同时嵌入式计算机开始应用于工业控制。 1962年一个美国乙烯厂实现了工业装置中的 第一个直接数字控制 (DDC)。 39 嵌入式系统的出现和兴起 ?兴起:在 1965~ 1970年,当时计算机已 开始采用集成电路,即第三代计算机。 在军事、航空航天领域、工业控制的需 求推动下。 ?第一次使用机载数字计算机控制的是 1965年 发射的 Gemini3号,第一次通过容错来提高 可靠性是 1968年的阿波罗 4号、土星 5号。 ?1963年 DEC公司推出 PDP8并发展成 PDP11 系列,成为工业生产集中控制的主力军。 ?在军用领域中,为了可靠和满足体积、重量 的严格要求,还需为各个武器系统设计五花 八门的专用的嵌入式计算机系统。 40 嵌入式系统开始走向繁荣 ?嵌入式系统大发展是在微处理器问世之 后 ?1973年至 1977年间各厂家推出了许多 8位的 微处理器,包括 Intel 8080/8085, Motorola 的 6800/6802 , Zilog 的 Z80 和 Rockwell 的 6502。 ?微处理器不单用来组成微型计算机,而且用 来制造仪器仪表、医疗设备、机器人、家用 电器等嵌入式系统。 ?仅 8085/Z80微处理器的销售就超过 7亿片 ,其 中大部分是用于嵌入式工业控制应用。 41 嵌入式系统开始走向繁荣 ? 微处理器的广泛应用形成了一个广阔的嵌入式应用 市场,计算机厂家除了要继续以整机方式向用户提 供工业控制计算机系统外,开始大量地以插件方式 向用户提供 OEM产品,再由用户根据自己的需要 构成专用的工业控制微型计算机,嵌入到自己的系 统设备中。 ? 为了灵活兼容,形成了标准化、模块化的单板机系 列。流行的单板计算机有 Intel公司的 iSBC系列、 Zilog公司的 MCB等。 ? 由于兼容的要求,这就导致了工业控制微机系统总 线的诞生。 42 嵌入式系统开始走向繁荣 ?1976年 Intel推出 Multibus, 1983年扩展为带 宽达 40MB/S的 MultibusⅡ。 ?1978年 Prolog设计简单的 STD总线广泛用于 小型嵌入式系统。 ?1981 年 Motorola 推出的 VME_Bus 则与 MultibusⅡ瓜分高端市场。 ?目前在工业控制领域,嵌入式 PC、 PC104、 CPCI( Compact PCI)总线已广泛应用到 工业控制领域。 8 43 嵌入式系统开始走向繁荣 ?单片机、 DSP出现 ?随着微电子工艺水平的提高 , 集成电路设计 制造商开始把嵌入式应用所需要的微处理 器、 I/O接口、 A/D、 D/A转换、串行接口以 及 RAM、 ROM通通集成到一个 VLSI中 , 制 造出面向 I/O设计的微控 制器,就是我们俗 称的单片机。 ?专门用于高速实时信号处理的数字信号处理 器 DSP。 44 嵌入式系统开始走向繁荣 ?软件技术的进步使嵌入式系统日臻完善 ? 在微处理器出现的初期,为了保障嵌入式软件的时 间、空间效率,软件只能用汇编语言编写。 ? 由于微电子技术的进步,对软件的时空效率的要求 不再那么苛刻了,嵌入式计算机的软件开始使用 PL/M、 C等高级语言。 ? 对于复杂的嵌入式系统来说除了需要高级语言开发 工具外,还需要嵌入式实时操作系统的支持。 ? 80年代初开始出现了一批软件公司,推出商品化的 嵌入式实时操作系统和各种开发工具。 45 嵌入式系统开始走向繁荣 ? Ready System(后来的 Microtec Research、后来又 被 Mentor Graphic收购 )公司 :VRTX操作系统及 Xray, Spectra工具 ? Integrated System Incorporation(ISI ,后被 WindRiver公司合并 ):pSOS操作系统及 pRISM工具 ? WindRiver公司 :VxWorks操作系统及 Tornado工具 ? QNX公司 :QNX操作系统及工具 ?商用嵌入式实时操作系统和开发工具的出现和 推广应用,使嵌入式系统的开发从作坊式向分 工协作规模化的方向发展,促使嵌入式应用扩 展到更广阔的领域。 46 嵌入式系统应用走向纵深 ?进入 20世纪 90年代 , 在分布控制、柔性制造、数字 化通信和数字化家电等巨大需求的牵引下,嵌入 式系统的硬件、软件技术进一步加速发展、应用 领域进一步扩大。 ? 手机、数码相机、 VCD、数字电视、路由器、交换机 等都是嵌入式系统。 ? 大多数豪华轿车每辆拥有约 50个嵌入式微处理器。 ? 最新的波音 777宽体客机上约有 1000个微处理器。 ? 在不久的将来你会在你的家里发现几十到上百的嵌入 系统在为你服务。 47 嵌入式系统应用走向纵深 ?嵌入式系统的硬件 ?4位、 8位、十六位微处理器芯片已逐步让位 于 32位嵌入式微处理器芯片。 ?面向不同应用领域的( Application- Specific)、功能强大、集成度高、种类繁 多、价格低廉、低功耗的 32位芯片已大量应 用于各种各样的军用和民用设备。 ?DSP向高速、高精度、低功耗发展。 ?DSP与通用嵌入式微处理器集成( SoC)已成 为现实,并已大量应用于嵌入式系统,如手 机、 IP电话等。 48 嵌入式系统应用走向纵深 ?在工业控制领域,嵌入式 PC大量应用于嵌 入式系统中。 ?PC104、 CPCI( Compact PCI)总线因其成 本低、兼容性化也已被广泛应用。 ?嵌入式系统的软件 ?随着微处理器性能的提高,嵌入式软件的规 模也随着发生指数型增长。 9 49 嵌入式系统应用走向纵深 低价位的低价位的 RISC / 32-位位 微处理器微处理器 日益复杂的日益复杂的 应用应用 产品推向市场的产品推向市场的 时间压力时间压力 开发成本的提高开发成本的提高 嵌入式 软件 危机 嵌入式 软件 危机 ?32位芯片将能够执行位芯片将能够执行 由上百万行由上百万行 C代码构代码构 成的复杂程序,使得成的复杂程序,使得 嵌入式应用具备高度嵌入式应用具备高度 复杂和智能化的功能复杂和智能化的功能 ?软件的实现从某种意软件的实现从某种意 义上说决定了产品的义上说决定了产品的 功能,已成为新产品功能,已成为新产品 成功与否的关键因成功与否的关键因 素。素。 50 嵌入式系统应用走向纵深 ? 为此,嵌入式系统已大量采用嵌入式操作系统。 ? 嵌入式操作系统功能不断的扩大和丰富,由 80年代 只有内核、发展为包括内核、网络、文件、图形接 口、嵌入式 JAVA、嵌入式 CORBA及分布式处理等 丰富功能的集合。 ? 此外,嵌入式开发工具更加丰富,其集成度和易用 性不断提高,目前不同厂商已开发出不同类型的嵌 入式开发工具,可以覆盖嵌入式软件开发过程各个 阶段,提高嵌入式软件开发效率。 51 嵌入式系统的特点 ?嵌入式系统通常是形式多样、面向特定应 用的 ?嵌入式系统得到多种类型的处理器和处理 器体系结构的支持 ?嵌入式系统通常极其关注成本 ?嵌入式系统有实时性和可靠性的要求 ?嵌入式系统使用的操作系统一般是适应多 种处理器、可剪裁、轻量型、实时可靠、 可固化的嵌入式操作系统 ?嵌入式系统开发需要专门工具和特殊方法 52 形式多样、面向特定应用 ?一般用于特定的任务,其硬件和软件都必须 高效率地设计,量体裁衣、去除冗余,而通 用计算机则是一个通用的计算平台。 ?它通常都具有低功耗、体积小、集成度高等 特点,能够把通用微处理器中许多由板卡完 成的任务集成在芯片内部。 ?嵌入式软件是应用程序和操作系统两种软件 的一体化程序。 53 处理器和处理器体系结构类型多 ?通用计算机采用少数的处理器类型和体系结 构,而且主要掌握在少数大公司手里。 ?嵌入式系统可采用多种类型的处理器和处理 器体系结构。 ?在嵌入式微处理器产业链上, IP设计、面向 应用的特定嵌入式微处理器的设计、芯片的 制造已相成巨大的产业。大家分工协作,形 成多赢模式。 ?有上千种的嵌入式微处理器和几十种嵌入式 微处理器体系结构可以选择。 54 1980 1990 1996 1998 68000 Z80 8086 80x86 CPU32 680x0 i960 MIPS SPARC ColdFIRE Alpha SH 1/2/3 ARM SPARC i960 MIPS Pentium 80x86 PowerPC CPU32 680x0 100 - 500 Kips 2 μ 10 mHz 1 - 2 Mips 1.0 μ 25 mHz 10 - 25 Mips .5 - .8 μ 50 - 100 mHz 10 - 200 Mips .2 - .5 μ 100 - 300 mHz SH 4/5 SH-DSP SH 1/2/3 ARM SPARC i960 MIPS Pentium 80x86 PowerPC CPU32 680x0 SA1500 MAP1000 AltiVEC Merced MCORE SHARC 563xx Lucent 16000 C6x SI 20 TriCore 微处理器的演变微处理器的演变 10 55 关注成本 ?嵌入式系统通常需要注意的成本是系统成 本,特别是量大的消费类数字化产品,其成 本是产品竞争的关键因素之一。 ?嵌入式的系统成本包括 : ? 一次性的开发成本 NRE(Non-Recurring Engineering)成本 ? 产品成本 :硬件 BOM、外壳包装和软件版税等 ? 批量产品的总体成本 =NRE成本 +每个产品成本 * 产品总量 ? 每个产品的最后成本 =总体成本 /产品总量 =NRE 成本 /产品总量 +每个产品成本 56 实时性和可靠性的要求 ?一方面大多数实时系统都是嵌入式系统 ?另一方面嵌入式系统多数有实时性的要求, 软件一般是固化运行或直接加载到内存中运 行,具有快速启动的功能。并对实时的强度 要求各不一样,可分为硬实时和软实时。 ?嵌入式系统一般要求具有出错处理和自动复 位功能,特别是对于一些在极端环境下运行 的嵌入式系统而言,其可靠性设计尤其重 要。 ?在大多数嵌入式系统的软件中一般都包括一 些机制,比如硬件的看门狗定时器,软件的 内存保护和重启动机制。 57 适应多种处理器、可剪裁、轻量型、 实时可靠、可固化的嵌入式操作系统 ?由于嵌入式系统应用的特点,像嵌入式微处理器一 样,嵌入式操作系统也是多姿多彩的。 ?大多数商业嵌入式操作系统可同时支持不同种类的 嵌入式微处理器。 ?可根据应用的情况进行剪裁、配置。 ?嵌入式操作系统规模小,所需的资源有限如内核规 模在几十 KB。 ?一般包括一个实时内核,其调度算法一般采用基于 优先级的可抢占的调度算法。 ?目前一些操作系统还提供了 HA( High Available) 机制。 ?嵌入式操作系统能与应用软件一样固化运行。 58 ?美国 Wind River公司最新推出,真正同时实现了 “不间 断故障恢复 ”, “故障隔离和清除 ”, “动态库加 /卸载 ” 等关键性特性。为干线级通讯设备,不间断核心控制 系统提供了安全高效的嵌入式实时多任务内核以及 Foundation HA高可用性设备管理 /恢复组件。 ?传统的 RTOS内核具有效率高,响应速度快,结构简 单等优点,但是不能同时满足 “电信级 ”系统所要求的 多种高可用性要求。原来为高效率设计的内核特性, 在关键性系统中则可能成为致命的因素。 ?为开发者提供了建造高可用性关键系统所必需的内核 保护、隔离和故障恢复机制。与硬件结合,使用户第 一次能在 RTOS上实现 HA结构。他充分继承并发挥了 VxWorks 5.x快速内核的实时性和高效性,与 VxWorks 5.x源码级兼容,可以充分保护用户投资。 VxWorks AE/Foundation HA 59 开发需要专门工具和特殊方法 ?多数嵌入式系统开发意味着软件与硬件的并 行设计和开发,其开发过程一般分为几个阶 段: ? 产品定义 ? 软件与硬件设计与实现 ? 软件与硬件集成 ? 产品测试与发布 ? 维护与升级 60 开发需要专门工具和特殊方法 ?由于嵌入式系统资源有限,一般不具备自主 开发能力,产品发布后用户通常也不能对其 中的软件进行修改,必须有一套专门的开发 环境。 ?该开发环境包括专门的开发工具(包括设 计、编译、调试、测试等工具),采用交叉 开发的方式进行,交叉开发环境如图所示。 11 61 嵌入式系统的分类 ?按嵌入式处理器的位数来分类 ?按应用来分类 ?按速度分类 ?按确定性来分类 ?按嵌入式系统软件复杂程度来分类 62 按嵌入式处理器的位数来分类 ?嵌入式系统分为 4位、 8位、 16位、 32位和 64 位。 ?目前已大量应用的是 4位、 8位、 16位嵌入式 系统。 ?32位嵌入式系统正成为主流发展趋势。 ?高度复杂的、高速的嵌入式系统已开始采用 64位嵌入式处理器。 63 按应用来分类 ?信息家电类 ?移动终端类 ?通信类 ?汽车电子类 ?工业控制类 等等 64 按速度分类 ?强实时系统 , 其系统响应时间在毫秒或微秒 级。 ?一般实时系统 , 其系统响应时间在几秒的数 量级上 ,其实时性的要 求比强实时系统要差 一些。 ?弱实时系统 , 其系统响应时间约为数十秒或 更长。这种系统的响应时间可能随系统负载 的轻重而变化。 65 按确定性来分类 根据确定性的强弱,可将嵌入式系统分为硬 实时、软实时系统: ?硬实时 :系统对系统响应时间有严格的要 求,如果系统响应时间不能满足,就要引起 系统崩溃或致命的错误。 ?软实时 :系统对系统响应时间有要求,但是 如果系统响应时间不能满足,不会导致系统 出现致命的错误或崩溃。 66 按嵌入式系统软件复杂程度来分类 ?循环轮询系统 ?有限状态机系统 ?前后台系统 ?单处理器多任务系统 ?多处理器多任务系统 12 67 循环轮询系统 initialize() while(true) { if (condition_1) action_1(); if (condition_2) action_2(); ...... if (condition_n) acition_n(); } Check for Input Do Some Work 68 ?优点 ?对于简单的系统而言,便于编程和理解。 ?没有中断的机制,程序运行良好,不会出现 随机的问题。 ?缺点 ?有限的应用领域。 ?对于大量的 I/O服务的应用,不容易实现。 ?大的程序不便于调试。 适合于慢速和非常快速的简单系统 循环轮询系统 69 有限状态机系统 state1 state4 state3 state2 a/f0 b/f0 b/f1 a/f2 b/f1 b/f2 a/f1 其 FSM 的 2个输入和 4个状态矩阵如下: A b 1 2,f0 4,f1 2 4,f0 3,f2 3 3,f1 1,f1 4 1,f2 4,f0 70 ?优点 ?对于小的系统而言,便于编程和理解。 ?可以快速地执行。 ?缺点 ?有限的应用领域。 ?不能保证确定性。 ?对于大的应用系统,难于调试。 有限状态机系统 71 前后台系统 ?是中断驱动系统的一种 ?后台是一个循环轮询系统一直在运行。 ?前台是由一些中断处理过程组成的。 ?当有一前台事件 (外部事件 )发生时,引起中 断 , 进行前台处理 , 处理完成后又回到后台 (通常又称主程序 )。 中断1 中断1 中断2 主程序 中断1 中断2 72 ISR3 初始化初始化 处理处理1 事件事件1 处理处理2 事件事件2 N Y Y N ISR1 ISR2 前台处理前台处理后台处理后台处理 13 73 前后台系统 ?需要考虑的是中断的现场保护和恢复,中断 嵌套,中断处理过程与主程序的协调 (共享 资源 )问题。 ?系统的性能主要由中断延迟时间 (Interrupt latency time), 响应时间 (response time)和恢 复时间 (recovery time)来刻画。 74 中断请求 数据传送 ← 响应时间 → 主程序 ━━━ ━━━━━━ 现场保护 ━━ ━━ 和恢复 中断服务 ━━━━━━━━━ →← → | ← 中断延迟时间 恢复时间 前后台系统 75 单处理器多任务系统 对于一个复杂的嵌入式实时系统来说, ?当采用中断处理程序加一个后台主程序这种 软件结构难以实时的、准确的、可靠的完成 时; ?存在一些互不相关的过程需要在一个计算机 中同时处理时。 需要采用实时多任务系统。 76 结构 由多个任务,多个中断处理过程,实时操 作系统组成的有机的整体 每个任务是顺序执行的,并行性通过操作 系统来完成,任务间的相互通信和同步也需要 操作系统的支持。 单处理器多任务系统 77 流程流程 并发多任务 :: : :: : 后台 前台 ISRs Tasks 78 多任务系统 ?多个顺序执行的程序并行运行。 ?宏观上看,所有的程序同时运行,每个程序 运行在自己独立的 CPU上。 ?实际上,不同的 程序是共享同一个 CPU和其 它硬件。因此,需要 RTOS来对这些共享的 设备和数据进行管理。 ?每个程序都被编制成无限循环的程序,等待 特定的输入,执行相应的任务等。 ?这种程序模型将系统分成相对简单的,相互 合作的模块。 单处理器多任务系统 14 79 ?优点 ?将复杂的系统分解为相对独立的多个线程, 达到 “分 而制之 ”的目的,从而降低系统的复杂性。 ?保证系统的实时性。 ?系统的模块化好,提高系统的可维护性。 ?缺点 ?需要采用一些新的软件设计方法。 ?需要增加功能:线程间的协调,同步和通信功能。 ?需要对每一个共享资源互斥。 ?导致线程间的竞争。 ?需要使用 RTOS, RTOS要增加系统的开销。 单处理器多任务系统 80 多处理器多任务系统 ?多任务可运行在多个处理器上,由操作系 统统一调度,处理。 ?宏观上看是并发的,微观上看也是并发 的。 ?多处理机系统分为紧耦合系统 (tightly- coupled system) 和松耦合系统 (loosely- coupled system)两种。 ?多处理多任务系统目前还不成熟。 81 第二节 嵌入式系统的应用领域 82 嵌入式系统的应用领域 ?嵌入式系统广泛地应用于消费电子、通信、汽车、国 防、航空航天、工业控制、仪表、办公自动化等领 域。 ?嵌入式系统市场广阔,现在嵌入式系统带来的工业年 产值已超过了 1万亿美元。 ?形式多样的嵌入式系统正努力把 Internet连接到人们生 活各个角落,其消费量将以亿为单位,逐步形成一个 充满商机的巨大产业。 ?据预测,未来十年将有 90%以上的微处理器和 65%以 上的软件应用于各种嵌入式系统中,每个美国居民每 天所接触到的嵌入式微处理器的数量将从 100增加到 300。 83 嵌入式系统的应用领域 And the list goes on and on Anti-lock brakes Auto-focus cameras Automatic teller machines Automatic toll systems Automatic transmission Avionic systems Battery chargers Camcorders Cell phones Cell-phone base stations Cordless phones Cruise control Curbside check-in systems Digital cameras Disk drives Electronic card readers Electronic instruments Electronic toys/games Factory control Fax machines Fingerprint identifiers Home security systems Life-support systems Medical testing systems Modems MPEG decoders Network cards Network switches/routers On-board navigation Pagers Photocopiers Point-of-sale systems Portable video games Printers Satellite phones Scanners Smart ovens/dishwashers Speech recognizers Stereo systems Teleconferencing systems Televisions Temperature controllers Theft tracking systems TV set-top boxes VCR’s, DVD players Video game consoles Video phones Washers and dryers A “short listshort list” of embedded systems 84 嵌入式系统的应用领域 ?消费电子领域 ?随着技术的发展,消费电子产品正向数字化 和网络化方向发展。 ?高清晰度数字电视将代替传统的模拟电视。 ?数码相机将代替传统的胶片相机。 ?固定电话今后会被 IP电话所替代。 ?各种家用电器(电视机、冰箱、微波炉、电 话等)将通过家庭通信、控制中心与 Internet 连接,实现远程控制、信息交互、网上娱 乐、远程医疗和远程教育等。转变为智能网 络家电,还可以实现远程医疗,远程教育 等 。 15 85 嵌入式系统的应用领域 Microprocessor CCD preprocessor Pixel coprocessor A2D D2A JPEG codec DMA controller Memory controller ISA bus interface UART LCD ctrl Display ctrl Multiplier/Accum Digital camera chip lens CCD A Digital Camera 86 嵌入式系统的应用领域 2G 3G 2.5G 简单用户接口 简单应用 WAP 通信 计算 话音为主 数据为主 彩色显示 图形用户接口 安全应用 移动商务 电子邮件 浏览器 JAVA应用 手机发展趋势手机发展趋势 87 嵌入式系统的应用领域 ?通信领域 ?通信领域大量应用嵌入式系统,主要包括程 控交换机、路由器、 IP交换机、传输设备 等。 ?据预测,由于互联的需要,特别是宽带网络 的发展,将会出现各种网络设备如: ADSL Modem/Router等,其数量将远远高于传统 的网络设备。 ?它们基于 32位的嵌入式系统、价格低廉,将 为企业、家庭提供更为廉价的、方便的、多 样的网络方案。就宽带上网的网络设备 ADSL Router而言,国外现在每月需要 600K 的数量。 88 嵌入式系统的应用领域 ?工控、汽车电子、仿真、医疗仪器等 ?随着工业、汽车、医疗卫生等各部门对智能控制需 求的不断增长,需要对设备进行智能化、数字化改 造,为嵌入式系统提供了很大的市场。 ?就汽车电子系统而言,目前的大多数高档轿车每辆 拥有约 50个嵌入式微处理器。如 BMW 7系列轿车, 则平均安装有 63个嵌入式微处理器。 ?据预测, 21世纪初美国接入 Internet的汽车将有一 亿辆。 IC Insights报道 2001年车载计算系统的市场 规模是 30亿美元,而 2004年将达到 46亿美元,届时 这些系统将成为所有新型轿车的标准设备。 89 嵌入式系统的应用领域 ?国防、航空航天领域 ?雷达、电子对抗、坦克、战舰 ?航天器 (火箭、卫星、航天飞机等 ) ?飞机 (民用和军用飞机 ) 90 第三节 嵌入式系统的实时性和可靠性(*) 嵌入式系统的可靠性 嵌入式系统的实时性 16 91 嵌入式系统的可靠性 ?嵌入式硬件系统的可靠性 ?与通用计算机所采用的可靠性技术基本上 是相同的 ?只是当嵌入式系统用于一些高可靠性要求 的环境时 (如军用嵌入式系统 ),在硬件的 设计上有一些特殊的要求。 ?硬件可靠性已有五十余年的发展历史 ?冗余技术、差错控制、故障自动检测、容 错技术和避错技术等可靠性设计技术已经 成熟 92 嵌入式系统的可靠性 ?嵌入式硬件系统的可靠性 ?大规模、超大规模集成电路的被采用 ,可 使整机的可靠性大体上每经六年就提高十 倍 ?硬件系统的可靠性技术包括: ? 可靠性保证技术 ? 可靠性评价技术 93 嵌入式系统的可靠性 ?高可靠性硬件系统的特殊设计 ?热设计 ?抗振动及抗冲击设计 ?电磁兼容性设计、防电磁泄露 ?冗余容错设计 ?检错及纠错 94 嵌入式系统的可靠性 ?软件的可靠性 ?研究只有二十多年的发展历史 ?软件生产基本上仍处于作坊式的手工制作 ?提高软件可靠性的技术与管理措施还处于十 分不完善的状况 ?软件的可靠性技术包括: ? 可靠性保证技术:如何开发可靠的软件 ? 可靠性评价技术:如何检验软件是否满足可靠性 要求 95 嵌入式系统的可靠性 ?影响软件可靠性的主要因素 ?软件规模:根据 Halstead理论,软件中的 初始错误数是与程序容量成正比。 ?软件内部结构: ? 内部结构越复杂,软件复杂度越高,内含的 错误就越多,其可靠性就越低。 ? 可采用 McCabe度量方法对软件复杂度进行度 量 96 嵌入式系统的可靠性 ?影响软件可靠性的主要因素 ?软件运行环境:同一软件在不同的运行环境 下发生错误的可能性是不同的,即可靠性不 同。 ? ? 软件使用方必须明确软件的 运行剖面 ,这 里既包括软件的正常情况下的输入,也包括 可能的非正常输入。 I 1 I 2 软 件 f (I 1 ) 正确结果 f (I 2 ) 错误结果 一种可能运行情况 17 97 嵌入式系统的可靠性 ?影响软件可靠性的主要因素 ?软件可靠设计技术包括能改善软件可靠 性的一切技术,如: ? 失效模式与效应分析 (FMEA) ? 故障树分析 (FTA)等。 ?软件测试:软件测试是提高软件可靠性 的一种十分有效的途径,测试过程也是错 误排除过程。 98 嵌入式系统的可靠性 ?影响软件可靠性的主要因素 ?软件开发方法: ?软件工程旨在提高开发效率和软件质 量 ?软件工程的一个重要内容是软件开发 方法 ?合理且先进的软件开发方法有助于保 证软件的质量 99 嵌入式系统的可靠性 ?影响软件可靠性的主要因素 ?软件可靠性管理:包括软件生产维护过程 中,每一阶段的系统化、规范化、组织化、 现代化。 ?软件开发人员的能力和经验 ?实时性 ? 实际上,嵌入式软件的可靠性与通用软 件 (非嵌入式软件 )的可靠性问题,除了实 时性要求外,在很大程度上是相同的。 100 嵌入式系统的可靠性 ?嵌入式软件可靠性保证技术 ?从保证软件可靠的角度,通用软件所采用的 措施,如: ? 1)进行充分 /详细的需求分析 ? 2)采用合理的软件设计方法 ? 3)设计容错软件 ? 4)有效的可靠性管理 ? 5)可靠性测试和可靠性评估等,都可用于保证嵌 入式软件可靠性。 101 嵌入式系统的可靠性 ?嵌入式软件可靠性保证技术 ?但针对嵌入式软件的特殊性,在可靠性特别 注意以下几个方面的可靠性措施: ? (1) 标准化开发:采用高级语言、 OS等 ? (2) 可靠性测试 ? 软件质量定义为它满足用户要求的能力,其中 包括效率、 可靠性 、可测试性、可理解性、可修 改性等等 102 嵌入式系统的可靠性 ?(2) 可靠性测试 ?可靠性测试是软件测试中最关键的部分 ?目前软件测试集中在可靠性测试上 ?可靠性测试是对需求定义的软件可靠性目标 的测试 ?可靠性目标:准确性、完备性、健壮性、一 致性和自包含性。 ?可靠性测试采用的测试方法和其他软件测试 的方法类似 18 103 嵌入式系统的可靠性 ?(2) 可靠性测试 ?软件测试的方法 ? 一般分为白盒测试和黑盒测试。 ? 在测试的进程上,一般采用的策略是渐进式测 试,即: 9单元测试 (模块测试或任务测试 ) 9联合测试 (集成测试 ) 9确认测试 9系统测试等几个阶段。 104 嵌入式系统的可靠性 ?软件可靠性测试的三个关键环节是: ?根据用户使用软件的方式,构成 软件运 行剖面 ,生成测试案例 ?建立和开发软件可靠性测试的环境,使 被测软件能在该环境中得以测试 ?对测试结果进行分析,并作出软件可靠 性的预计 105 嵌入式系统的可靠性 ?嵌入式软件测试的特殊性: ?嵌入式硬件平台的特定性和专用外部设 备的连接,使嵌入式软件测试所采用的 工具和方法特殊 ?嵌入式软件测试输入与结果的获得困 难,不能通过简单的方式进行描述和控 制,给测试数据注入、测试序列执行带 来极大的不便。 106 嵌入式系统的可靠性 ?(3) 容错设计 ?现有的各种容错软件技术归纳起来主要 有: ? 恢复块技术: 9使用 “自动后向错误恢复 ”的错误处理技术。 9方法是使用主程序和若干个候选程序以及接收测试 程序。 9当一个完整功能的程序段执行结束之后,进行验收 测试,如果该程序段的执行结果没有通过验收,系 统执行其候选版本来进行错误恢复。 107 嵌入式系统的可靠性 ?(3) 容错设计 ? N版本程序设计: 9依据相同的规范要求,独立地设计 N个 (N> 2)功能等 价的程序。这些程序称为版本。 9N个版本同时运行,最终结果为 N个版本共同表决的 结果。 ?容错软件设计是以牺牲系统的时间和空间为 代价来换取可靠性的。 ?因此在时间和空间资源非常有限的嵌入式系 统中,该方法的使用受到一定限制。 108 嵌入式系统的可靠性 ?(4) 实时性设计 ?实时系统的重要特征是时间性能 (即实时性 能 )。 ?而系统的实时性主要由系统中的软件 (包括 系统软件和应用软件 )来保证。 19 109 嵌入式系统的可靠性 ?嵌入式实时软件可靠性评价技术 ?离开了准确的评价方法,可靠性保证措 施的有效性将难于判断 ?主要有两种评价方法: ? 基于软件可靠性测试的方法 ? 基于软件可靠性建模的方法 110 嵌入式系统的可靠性 ?基于软件可靠性测试的方法 ?可靠性测试是在软件确认阶段进行,并且往 往是在用户参与的情况下实施。 ?在测试过程中对软件不进行故障剔除。根据 测试结果 (收集的数据 )给出可靠性的定量估 计值,以便从可靠性角度判断是否接收该软 件。 ?这一方法的典型代表是 Nelson可靠性验收模 型。 111 嵌入式系统的可靠性 ?基于软件可靠性建模的方法 ?在软件测试阶段,对测试过程中收集到的软 件可靠性 (故障 )数据进行建模,以估计软件 可靠性的实际水平,从而从可靠性角度判断 软件何时停止测试,交付用户验收。 ?在软件测试阶段被发现的软件错误不断被剔 除,软件可靠性呈增长趋势。因此,这一方 法称为软件可靠性 增长建模 。 ?迄今为止,这一建模方式是软件可靠性建模 的主要内容 112 嵌入式系统的可靠性 ?嵌入式实时软件可靠性评价技术 ?在嵌入式实时软件与通用软件的若干差异 中,最重要的差异是在于对时间资源的管理 不同: ? 超时故障: ? 将任务不能满足规定的时限要求定义为超时故 障,从而将其纳入实时软件可靠性评价的范畴。 ? 时间基准:两种情况 113 嵌入式系统的实时性 ?实时系统是对外来事件在限定时间内能 做出反应的系统。 ?在实时系统中,时间是一种重要的系统资源 ?在多机系统中,还必须在限定的时间内完成 消息的发送和接收 ?实时系统中,输出结果的正确性不仅取决于 计算所形成的逻辑结果,还要取决于结果产 生的时间 114 嵌入式系统的实时性 ?实时系统中的几个重要术语: ?系统响应时间 (Response Time):是计算机 识别一个外部事件到作出响应的时间。 ?生存时间 (Survival Time):是数据有效等待 时间 , 在这段时间里数据是有效的。 ?吞吐量 (Throughput):是在一给定时间内 , 系统可以处理的事件总数。吞吐量可能是平 均响应时间的倒数,但它通常要小一些。 20 115 嵌入式系统的实时性 ?影响系统响应时间的主要因素 ?在实时系统中,系统对外部的响应有两种基 本模式: ? 其一是:对一些较为简单的处理,系统响应过程 仅需要由中断处理来完成,此时,系统响应时间 即为中断响应时间。 ? 其二是:系统响应过程由两部分构成,即 “中断 响应+任务执行 ”。这种模式通常用于处理一些 较为复杂的工作。 116 嵌入式系统的实时性 中断响应 中断响应 任务调度 任务执行 系统对外部事件的响应过程 主要因素的分析针对 “中断响应+任务执行 ”这种模式。 事 件1 事 件2 响应输出1 响应 输出 2 117 嵌入式系统的实时性 ?影响系统响应时间的主要因素 ?(1)任务调度算法 ? 任务调度的作用是以某种调度算法,在调度时 刻,从多个任务中选择其中一个任务投入运行。 ? 在实时系统中,通常采用优先级抢占调度机制。 ? 对于不同的应用,实时性要求是不同的。比如, 有的系统要求满足尽可能多的任务的时限要求, 而有的系统则希望优先满足几个最紧急任务的时 限要求 118 嵌入式系统的实时性 ?(1)任务调度算法 ? 仅对这两种情况,优先级的确定方式就相差甚 远。 ? 因此在优先级抢占调度机制中,存在若干种调度 算法,不同调度算法都对任务优先级的确定方式 都不同。 ? 显然,不同的调度算法将使系统有不同的响应时 间,即调度将影响系统响应时间。 119 嵌入式系统的实时性 ?(2)任务执行时间 ? 假设任务的数据输入域 Df可以划分 为三个明确的子域 Df1、 Df2和 Df3 ? 对于任意一个输入数据 d,如果 d ? Df1,则任务执行流程是 K1K2K3K6K7,所需要时间为 C1; ? 如果 d ? Df2,则任务执行流程为 K1K2K3K5K6K7,所需时间为 C2; ? 如果 d ? Df3, 则任务执行流程为 K1K2K3K4K5K6K7,所需时间为 C3。 ? 显然, C1< C2< C3。所以仅仅假设 任务执行时间是不够的,还需要考 虑最大执行时间和平均执行时间 K2 K4 K5 K7 K1 K3 K6 图 任务的工作流程 120 嵌入式系统的实时性 ?(2)任务执行时间 ? 最大执行时间:任务执行时间常常是可变的,在分析 最坏情况下的系统响应时间时,可以采用任务的最大 执行时间。 C3 ? 平均执行时间: 9任务的超时故障发生率会低于采用最大执行时间时所得到的 超时故障发生率。 9可采用任务平均执行时间来分析任务超时故障的平均发生 率。 9对于选定的具有代表性的 n个输入数据,分别得到 n个执行时 间 C1, C2, …., Cn,则任务平均执行时间为 Cavg=∑ Ci?n(i=1 to n)。 21 121 嵌入式系统的实时性 ?(3)事件发生的频率 ? 从事件发生的时间上看,分为周期性事件 (可采用时钟 定时 )和非周期性事件。 ? 事件发生的频率越低,系统响应时间越容易得到满 足;反之,事件发生的频率越高,系统响应时间越难 满足。 ? 对于周期性事件,分析系统响应时间相对较容易。 ? 对于非周期性事件的时间特性分析则比较复杂。 122 嵌入式系统的实时性 ? (4) 任务数量 ? 由于处理器时间资源是有限的,随着系统中任 务数量的增加,处理器时间利用率逐渐提高。 ? 显然,当处理器时间利用率等于 1时,再增加任 何一个任务,都至少会有一个任务的截止时间 得不到满足。 123 嵌入式系统的实时性 ?(5) 中断响应时间 ? 中断响应时间 = 中断延迟时间 + 中断处理时间 ?(6) 任务响应时间 ? 任务响应时间是指,当外部事件到达系统, 至系统转入对该事件作对应的处理这段时 间。 ? 任务响应时间 = 中断响应时间 + 任务调度时间 124 嵌入式系统的实时性 ?(7) 资源共享 ? 从时间上看,需等待资源的任务的运行被推延 了一段时间,但是被推延的时间长度是未知 的。 ?直接与应用设计者相关的因素: ? 系统中 任务的划分方法 :关系到任务数量和任 务执行时间 ? 任务中所使用的 算法 :关系到任务执行时间 ? 任务 调度算法 对系统响应时间起着最为重要的 作用。 125 嵌入式系统的实时性 ?主要与操作系统相关的因素: ? 中断响应时间 ? 任务切换时间 ? 资源共享 ? 任务间通信方式 ? 一旦硬件平台和操作系统选定之后,这些因 素基本上为定值 126 嵌入式系统的实时性 ?实时性保证与评价 ?(1)通过合理设计来保证实时性 ?系统实时性保证涉及硬件平台、系统 软件 (如实时操作系统 )和应用软件等多 方面因素。 ?在硬件平台和系统软件选定之后,实 时性主要取决于应用软件的设计。 22 127 嵌入式系统的实时性 ?实时性保证与评价 ?(2)通过测试和建模来评价实时性 ? 评价方法主要有两种: ? 一种是通过 模拟测试 :即通过仿真的方式模 拟多任务的运行,测试为各任务是否能够在 规定的时间内完成以及在最坏情况下任务的 完成时间,并最终测试系统响应时间。 ? 另一种方式是根据影响系统实时性的参数以 及这些参数之间的关系 建立性能评价模型 。 128 第四节 嵌入式系统的发展趋势 129 嵌入式系统的发展趋势 ?以信息家电、移动终端、汽车电子、网 络设备等为代表的互联网时代的嵌入式 系统,不仅为嵌入式市场展现了美好前 景,注入了新的生命,同时也对嵌入式 系统技术,提出新的挑战: ?支持日趋增长的功能密度 ?灵活的网络联接 ?轻便的移动应用 ?多媒体的信息处理、低功耗、人机界面友好 互动 ?支持二次开发和动态升级等 130 嵌入式系统的发展趋势 ?形成行业的标准:行业性嵌入式软硬件 平台 ?嵌入式系统是以应用为中心的系统,不会象 PC一样只有一种平台。 ?吸取 PC的成功经验,形成不同行业的标 准。 ?统一的行业标准具有开放、设计技术共享、 软硬件重用、构件兼容、维护方便和合作生 产的特点,是增强行业性产品竞争能力的有 效手段。 131 嵌入式系统的发展趋势 ?在工业控制等领域,嵌入式 PC已成为一种 标准的软硬件平台。硬件兼容 PC,以 ISA、 CPCI为标准总线,并扩展 DOC( Disk On Chip)、 DOM( Disk On Module)、 Flash 等多种存储方式。软件以 BIOS为基础,可 运行多种嵌入式操作系统。 ?欧共体汽车产业联盟规定以 OSEK标准作为 开发汽车嵌入式系统的公用平台和应用编程 接口。 132 嵌入式系统的发展趋势 ?面向应用领域的、高度集成的、以 32位 嵌入式微处理器为核心的 SOC( System On Chip)将成为应用主流 ?随着 EDA 的推广和 VLSI设计的普及化,及 半导体工艺的迅速发展,在一个硅片上实现 一个更为复杂的系统的时代已来临,这就 是 SOC ?除 8位 /16位处理器核外 ,各种 32位通用处理器 内核将作为 SOC 设计公司的标准库,和许 多其它嵌入式系统外设一样,成为 VLSI设 计中一种标准的器件,用标准的 VHDL等语 言描述,存储在器件库中。 23 133 嵌入式系统的发展趋势 ?用户只需定义出整个应用系统,仿真通过后 就可以将设计图交给半导体工厂制作样品。 ?这样除个别无法集成的器件以外,整个嵌入 式系统大部分均可集成到一块或几块芯片中 去,应用系统电路板将变得很简洁,对于减 小体积和功耗、提高可靠性非常有利。 134 嵌入式系统的发展趋势 135 嵌入式系统的发展趋势 ?嵌入式应用软件的开发需要强大的开发 工具和操作系统的支持 ?采用实时多任务编程技术和交叉开发工具技 术来控制功能复杂性,简化应用程序设计、 保障软件质量和缩短开发周期。 ?嵌入式操作系统将在现有的基础上,不断采 用先进的操作系统技术,结合嵌入式系统的 需求向 : ? 可适应不同的嵌入式硬件平台 ? 具有可移植、可伸缩、功能强大、可配置、良好 的实时性、可靠性、高可用方向发展 136 嵌入式系统的发展趋势 ?嵌入式开发工具 ? 支持多种硬件平台 ? 覆盖嵌入式软件开发过程各个阶段 ? 高效 ? 高度集成的工具集方向发展 Requirement Analysis Software Design Coding Test Release 嵌入式软件开发基本过程嵌入式软件开发基本过程 137 嵌入式系统的发展趋势 ?嵌入式系统联网成为必然趋势,驱动了 大量新的应用 ?针对外部联网要求,嵌入系统必需配有通信 接口,需要 TCP/IP协议簇软件支持。 ?针对内部联网要求,新一代嵌入式系统还需 具备 IEEE1394、 USB、 CAN、 Bluetooth或 IrDA通信接口,同时也需要提供相应的通 信组网协议软件和物理层驱动软件。 ?为了支持网络交互的应用,还需内置 XML 浏览器和 Web Server。 138 互联的价值 ?嵌入式设备的互联性可提高对各种服 务、内容和信息的访问能力 ?为动态修改嵌入式软件提供了可能,如 : ?修改系统代码或 “固件 ” ?增添新的应用软件模块 ?增强了系统和设备的可管理性 24 139 嵌入式系统的发展趋势 ?嵌入式系统向新的嵌入式计算模型方向发展 ?支持自然的人机交互和互动的、图形化、多 媒体的嵌入式人机界面。操作简便、直观、 无须学习。如司机操纵高度自动化的汽车主 要还是通过习惯的方向盘、脚踏板和操纵 杆。 ?可编程的嵌入式系统。嵌入式系统可支持二 次开发如采用嵌入式 Java技术,可动态加载 和升级软件,增强嵌入式系统功能。 ?支持分布式计算。与其他嵌入式系统和通用 计算机系统互联构成分布式计算环境。