1. 嵌入式系统介绍 IPT 研发中心软件工程处 嵌入式系统与应用软件部 王浩皓 2009/02/26 This file is based on << 嵌入式系统 -— 基于 32 位微处理器与实时操作系统 2006>> with some of myself understanding as a basic introduction for embedded system
31. 一些典型的嵌入式系统应用实例 goReader Internet eBook Samsung AnyWeb Internet Screen Phone eRemote Intelligent Home Controller Tektronix TDS7000 Digital Oscilloscopes Nixvue Digital Album Digital Photo Album
51. 嵌在鞋里!! The microprocessor embedded in this adidas running shoe calculates the pressure between the runner's foot and the ground five million times per second and continuously changes the cushioning to match an adjustable comfort level. The computer controls a motor that lengthens and shortens a cable attached to a plastic cushioning element.
78. 嵌入式操作系统 基本概念 当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即 CPU 寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入 CPU 的寄予存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应用程序的额外负荷。 CPU 的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于 CPU 有多少寄存器要入栈。 —— 任务切换
79. 嵌入式操作系统 基本概念 多任务系统中,内核负责管理各个任务,或者说为每个任务分配 CPU 时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如 2 %~ 5 %的 CPU 运行时间、 RAM 和 ROM 等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。 —— 内核
80. 嵌入式操作系统 基本概念 调度是内核的主要职责之一。 调度就是决定该轮到哪个任务运行了。 多数实时内核是基于优先级调度法的。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指 CPU 总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握 CPU 的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。 —— 调度
82. 嵌入式操作系统 基本概念 非占先式内核要求每个任务自我放弃 CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个 CPU 。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃 CPU 的使用权时,那个高优先级的任务才能获得 CPU 的使用权。 —— 非占先式内核
90. Linux 是开放源码和免费使用的,遍布全球的众多 Linux 爱好者又是 Linux 开发的强大技术后盾。 嵌入式 Linux(Embedded Linux) 是指对 Linux 经过小型化裁剪后,能够固化在容量只有几百 K 字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用 Linux 操作系统。嵌入式 Linux 的开发和研究是目前操作系统领域的一个热点。主要有 RTLinux 和 CLinux Linux 的内核小、功能强大、 API 丰富,系统健壮、效率高,易于定制剪裁,在价格上极具竞争力。 Linux 不仅支持 x86 CPU ,还可以支持其他数十种 CPU 芯片。 近几年 Linux 在嵌入式领域异军突起,过去的一年中有 13% 的用户已经开始使用嵌入式 Linux 系统进行开发工作;有 52% 的用户决定在未来 24 个月内开始使用 Linux 作为嵌入式操作系统的开发原型。 嵌入式 Linux 及应用
92. Windows Embedded Windows CE :一种针对小容量、移动式、智能化、 32 位、连接设备的模块化实时嵌入式操作系统(缩减的 Win95 )。 针对掌上设备、无线设备的动态应用程序和服务提供了一种功能丰富的操作系统平台,属于软实时操作系统, 由于其 Windows 背景,界面比较统一认可。可以使用大多数 Windows 开发工具(如 VB , VC 等),大多数 Windows 应用程序经过移植后就可以运行在 WinCE 平台上。 操作系统的基本内核需要至少 200K 的 ROM 。
93. VxWorks VxWorks 操作系统是美国 WindRiver 公司于 1983 年设计开发的一种嵌入式实时操作系统( RTOS ),具有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域牢牢占据着一席之地。 VxWorks 所具有的显著特点是: - 可靠性、实时性和可裁减性。 - 它支持多种处理器,如 x86 、 i960 、 Sun Sparc 、 Motorola MC68xxx 、 MIPS 、 POWER PC 等等。 以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空航天等高精尖技术及实时性要求极高的领域中,如火星探测器( 1997 年 7 月 4 日登陆火星表面)。
94. Symbian OS Symbian 由诺基亚、西门子、索尼爱立信等几家大型移动通讯设备商共同出资组建的一个合资公司,专门研发手机操作系统。 Symbian 操作系统的前身是 EPOC 。 针对 PDA 及智能手机的,能够提供良好的软实时的操作系统,目前占有 60 %的智能手机市场 与之竞争的有 Windows Mobile 、 PalmOS 以及 Linux 主要版本 Series 60/90/80/40 UIQ
95. Palm OS Palm OS 是著名的网络设备制造商 3COM 旗下的 Palm Computing 掌上电脑公司的产品。 Palm OS 是一套专门为掌上电脑编写的操作系统,充分考虑到了掌上电脑内存相对较小的情况,所以 Palm 操作系统本身所占的内存很小,基于 Palm 操作系统编写的应用程序所占的空间也很小,通常只有几十 KB ,因此基于 Palm 操作系统的掌上电脑虽然只有几兆内存却可以运行众多的应用程序。 Palm OS 在 PDA 市场上占有很大的市场份额, Palm OS 的市场份额占到将近 90% ,最近下降 70 %,目前主要与 WIN CE 进行激烈竞争。 代表性的产品有 Palm m505 、 Palm m500 、 Palm III 等。
96. QNX 加拿大 QNX 公司的产品。 QNX 是在 X86 体系上面开发出来的,这和别的 RTOS 不一样,别的好多 RTOS 都是从 68K 的 CPU 上面开发成熟,然后再移植到 X86 体系上面来的。 QNX 是一个实时的、可扩充的操作系统,它部分遵循 POSIX 相关标准,由于 QNX 具有强大的图形界面功能,因此很适合作为机顶盒、手持设备(手掌电脑、手机)、 GPS 设备的实时操作系统使用。 QNX Neutrino is the base of Cisco IOS XR.
98. OSE OSE 主要是由瑞典的 ENEA Data AB 下属的 ENEA OSE Systems AB 负责开发和技术服务的,一直以来都充当着实时操作系统以及分布式和容错性应用的先锋,并保持良好的发展态势。 OSE 的客户深入到电信、数据、工控、航空邓领域,尤其在电信方面,该公司已经有了十余年的开发经验,同诸如爱立信、诺基亚、西门子等公司确立了良好的关系。 目前手机市场占有率为 15 %左右,期望在未来 3G 手机市场占有率达到 50 %。
#67:微内核结构,内核实现对 CPU 的管理,即进程(线程)管理。 RTOS 提供 CPU 的管理 硬件初时化, MMU ,定时器,中断 RTOS 内核提供任务,内存管理 RTOS 提供设备管理,文件和网络的支持 RTOS 提供 C/C++ , JAVA ,图形模块等编程接口
#89:商用型的实操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵。 免费型的实时操作系统在价格方面具有优势,目前主要有 Linux 和 μC/OS ,稳定性与服务性存在挑战。 Ready system ’ s VRTX
#90:商用型的实操作系统功能稳定、可靠,有完善的技术支持和售后服务,但往往价格昂贵。 免费型的实时操作系统在价格方面具有优势,目前主要有 Linux 和 μC/OS ,稳定性与服务性存在挑战。 μCLinux 不支持 MMU 。 Ready system ’ s VRTX
#91:Linux 凭借其自由、免费、开放源代码的优势,经过来自互联网、遍布全球的程序员的努力,再加上 IBM 、 Sun 等计算机巨头的支持, Linux 在手机操作系统市场中异军突起,尤其是在众多知名厂商宣布支持 Linux 手机操作系统之后, Linux 的发展将不容忽视。 由于 Linux 具有源代码开放、软件授权费用低、应用开发人才资源丰富等优点,便于开发个人和行业应用。这一特点非常重要,因为丰富的应用是智能手机的优越性体现和关键卖点所在。从应用开发的角度看,由于 Linux 的源代码是开放的,有利于独立软件开发商 (ISV) 开发出硬件利用效率高、功能更强大的应用软件,也方便行业用户开发自己的安全、可控认证系统。特别是当智能手机大量用作行业应用的移动终端时,使用 Linux 便于实施系统一体化的安全策略。 嵌入式 Linux 系统的典型代表是摩托罗拉在智能手机 A760 。
#93:Windows Mobile 包括 Pocket PC 、 SmartPhone 以及 Pocket PC Phone 三大平台体系, Windows Mobile 具有录音、音视频播放等多媒体功能。由于大多数机型支持彩色显示,因此耗电量极大,并且由于 Windows CE 本身对于资源的巨大吞噬作用,所以在能耗方面 Windows CE 系统要明显逊于 Palm 操作系统。在功能扩展方面微软比较倾向于集成使用,大多具有标准的 CF 卡插槽,用户可以根据自己的需要增加内存、加装摄像头、调制解调器等设备。 针对中国用户而言, Windows Moblie 的中文操作系统已经比较成熟。目前,摩托罗拉、 ARM 、 ST 、 NeoMagic 、德州仪器、 Intel 、三星、现代都已经生产了针对该系统的处理器;有数十家制造商生产基于 Smartphone 和 Pocket PC 技术的移动设备,有 35 家运营商分销这些产品。欧洲、东亚和加拿大已经销售 Smartphone 智能手机。 Windows CE Windows CE( 俗称蜥蜴 ) 是微软消费电子设备操作系统 OS 的总称。它是一个抢先式多任务并具有强大通信能力的嵌入式操作系统,是微软专门为信息设备、移动应用、消费类电子产品、嵌入式应用等非 PC 领域而精心设计的战略性操作系统产品。 Smartphone Smartphone 则是 Microsoft 开发的新一代手机操作系统平台,这一智能电话解决方案为手机用户提供了语音、数据及多媒体功能,通过与微软的后端服务器及服务相结合,能够成为移动商务人士以及公司用户利用小型移动电话实现移动服务和互联网访问的主要平台。 与旗下另一款操作系统 Pocket PC Phone Edition 不同的是,以 Windows Powered Smartphone 为操作系统的智能手机,没有触控笔和触摸屏,全以数字键盘代替,体现单手操控的理念。也不支持 Pocket Word 及 Excel 等文档编辑功能,更注重的是移动互联和娱乐功能。