嵌入式系统硬件设计 复旦大学软件学院 张睿
课程介绍 课程名称:嵌入式系统硬件设计 课程性质:选修课 周课时: 6 (周日9:00-14:45) 地点:3108 教学方式:授课
联系方式 授课教师:张睿 电话:55665134 Email:zhangrui@fudan.edu.cn BBS ID: jorry
课程目的 在学习完这门课程之后,学生应该能够对嵌入式系统有一个深入的了解,熟悉基于Intel Xscale 产品的嵌入式系统的系统结构,掌握嵌入式系统开发特别是硬件设计的方案,能够在工作中运用这些方法解决实际问题。
课程内容 嵌入式系统综述 ARM和Xscale架构的嵌入式系统内核及接口介绍。 嵌入式系统的软硬件开发流程 嵌入式系统开发实例
考核方法 考察 方案设计 40% 阶段报告40% 平时(20%)
参考书目 1. 嵌入式系统(修订本) —Intel XScale结构与开发 复旦大学计算机科学与工程系 陈章龙等 2. Embedded Systems Building Blocks, 2nd Edition 3. Embedded Systems Design: An Intro-duction to Processes, Tools and Techniques 1. 嵌入式系统(修订本)内容介绍: 第一章嵌入式系统概述,简单介绍了嵌入式系统的架构和Intel个人互联用户架构PCA;第二章ARM体系结构,主要介绍ARM的架构、存储器结构、I/O结构、AMBA接口和JTAG接口,并介绍了相应的ARM处理器内核和ARM处理器核。第三章 ARM指令系统,介绍了ARM架构的寻址方式,ARM指令集和Thumb指令集,以及ARM宏汇编与汇编程序设计。第四章 Xscale微架构的系统结构,系统介绍了Xscale核体系结构、微处理器,存储器MMU,Cache结构及调试。第五章 Xscale应用处理器PXA250/210结构和使用方法,介绍了采用Xscale核的PXA应用处理器结构,各种I/O部件的功能及使用方法。第六章Xscale架构处理器开发,介绍了Xscale架构的硬件开发平台、Angel及ADS开发方法、Intel集成性能函数库IPP、嵌入式Linux和WindowCE的开发应用。 2. Embedded Systems Building Blocks,Second Edition [原书信息] 原出版社: R&D Books 作者: (美)Jean J.Labrosse 译者: 袁勤勇 黄绍金 唐青 等 书号: 7-111-09646-0 页码: 472 出版社: 机械工业出版社 出版日期: 2002-2-1 内容介绍: 本书介绍了构建嵌人式系统的一些通用模块,如键盘扫描器、显示器接口、计量器和输入/输出。大部分代码都是用可移植的C语言编写。与第1版相比,第2版对所有的代码和例子都用作者自己设计的一个实时操作系统μC/OS—II进行了修改,并用Borland C/C++的编译器V 4.51代替V 3.1。 本书适合于计算机专业本科生、研究生、嵌入式程序员以及其他对嵌入式系统感兴趣的技术人员参考。 3. Embedded Systems Design An Introduction to Processes, Tools and Techniques 原出版社: CMP Books 作者: (美)Arnold Berger 译者: 吕骏译 书号: 7-5053-8014-1 页码: 200 市场价:¥25.00 开本: 16开 出版社: 电子工业出版社 出版日期: 2002-9-1 本书详细介绍嵌入式系统开发的全部过程,讲述在嵌入式开发环境下编程、调试系统的专业知识,带领读者进入嵌入式系统编程领域,使读者掌握嵌入式系统开发中的关键方法及技术,并把它们应用到实践中。本书适于从事嵌入式系统研发的技术人员以及高校相关专业的师生阅读。
资料下载及作业提交 软件学院网站 教师email:zhangrui@fudan.edu.cn
第一章 嵌入式系统综述 内容: 什么是嵌入式系统? 嵌入式系统的组成。 嵌入式系统的硬件。 嵌入式系统的软件。 嵌入式系统的开发。
1. 什么是嵌入式系统 嵌入式系统无所不在 可用于移动计算平台(PDA、掌上计算机),信息家电(数字电视、机顶盒、网络设备),无线通信设备(智能手机、股票接收设备),工业/商业控制(智能工控设备、POS/ATM机),电子商务平台,甚至军事应用等诸多领域。据估计,其在全球每年带来的相关工业产值已超过1万亿美元。
嵌入式系统的例子 n 汽车:其中的电子系统控制 n 机床:动作控制 n 手机生产线:贴片控制,位置控制 n 洗衣机:回旋,温度, 水流控制
1997年来自美国嵌入式系统大会(Embedded System Conference)的报告指出,未来5年仅基于嵌入式计算机系统的全数字电视产品,就将在美国产生一个每年1500亿美元的新市场。 美国汽车大王福特公司的高级经理也曾宣称,“福特出售的‘计算能力’已超过了IBM”,由此可以想见嵌入式计算机工业的规模和广度。
嵌入式系统的类型和市场 n 常规计算 n 控制系统 n 信号处理 n 通信与网络 n 平均每个家庭使用225个嵌入式处理器; 每个汽 车需要35个; n 50亿处理器在使用--- 94%世界市场; Intel Pentium, Motorola PowerPC, etc. 总共6%
2000年根据IDC估计,全球信息家电(Inform-ation Appliance,IA)产业将由1999年的1100万台产值24亿美元发展为2004年的8900万台产值178亿美元。产量与产值的年增长率分别为33.5%和39.1%。其中智能型掌上设备成长最快。如下图所示。
嵌入式系统的发展 嵌入式软件的发展历程,可分为以下几个阶段: 1)早在20世纪60年代后期,通信领域里就出现了“存储程序控制”系统,这是早期的嵌入式系统。 2) 20世纪70年代后期,专用嵌入式系统的操作系统方开始出现。 3)20世纪80年代,嵌入式商业操作系统开始得到蓬勃发展。 4)近年来,互联网得到了飞速发展,形态各异的3C合一产品将成为网络接入设备的一大主流,也将成为工作和家庭生活的必备品。 嵌入式软件的发展历程,大概可分为以下几个阶段: 1)早在20世纪60年代后期,通信领域里就出现了“存储程序控制”系统,这是早期的嵌入式系统。这时的计算机是被定做的(或面向应用的),它们是一些专用指令的引擎以及与之集成在一起的I/O设备。软件是由存储在内存的程序和路由信息组成。 l随着微处理器的出现,硬件体系结构引入了总线概念,不同外设可挂接在一起。与此同时,软件也得到了发展。这时软件几乎是用汇编语言或宏语言来写,直到70年代中期才开始采用软件模块和标准库的编程思想。 2) 20世纪70年代后期,专用嵌入式系统的操作系统方开始出现。当时许多是用汇编语言写的,仅能用于特定的微处理器。当新的处理器出现,它们必须为之重新写一遍。直到C语言出现后,嵌入式操作系统才可以用一种高效、稳定和可移植的方式来写。 3)20世纪80年代,嵌入式商业操作系统开始得到蓬勃发展。如今已有几十种商业操作系统可供选择,出现了许多相互竞争的产品,如Vxworks、 Psos、 Neculeus、 Windows CE、女娲 Hopen和各种嵌入式Linux等。 4)近年来,互联网得到了飞速发展,形态各异的3C合一产品将成为网络接入设备的一大主流,也将成为工作和家庭生活的必备品。这大大扩展了嵌入式系统的应用服务领域。相应地,嵌入式软件涉及的面也愈发扩大。它不仅包括嵌入式操作系统等系统软件,还包括一系列支撑软件,如数据库、调试软件、网络通讯协议、用户界面系统等,当然也包括各种应用软件。
嵌入式系统的定义: 以应用为中心、以计算机技术为基础;软件硬件可裁剪;适合于应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。 A combination of computer hardware and software, and perhaps additional mechanical or other parts,designed to perform a dedicated function. contrast with general purpose computer.
嵌入式系统的特点: 面向特定应用,可根据需要灵活定制; 功耗低、可靠性高; 功能强大、性能价格比高; 实时性强,支持多任务; 占用空间小,效率高;
不同层次的嵌入式系统 嵌入式系统采用“量体裁衣”的方式把所需的功能嵌入至各种应用系统中。随着应用形式的不同,可有: 1)IP(Intellectual Property)级,即所谓的SoC级; 2)芯片级; 3)模块级 3种不同的体系架构。 IP级的架构也就是系统级芯片SOC(Systom on Chip)的形式。把不同的IP单元,根据应用的要求集成在一块芯片上,各种嵌入式软件也可以以IP的方式集成在芯片中。 芯片级架构是根据各种IT产品(应用系统)的要求,可以选用相应的处理器(MCU、DSP、RISC型MPU等)芯片、RAM、ROM(EPROM/EEPROM/FLASH)及I/O接口芯片等组成相应的嵌入式系统;相应的系统软件/应用软件也以固件形式固化在ROM中。这是目前嵌入式系统最常见的形式。 第三种的架构是以X86处理器构成的计算机系统模块嵌入到应用系统中。这样可充分利用目前常用PC机的通用性和便利性。不过,此方式不但要缩小体积、增加可靠性,而且,还要把操作系统OS改造为嵌入式操作系统OS,把应用软件固化在固态盘中。此种嵌入式系统较多地出现在工业控制和仪器仪表中。
SoC嵌入式系统处理器 SoC(System on a Chip)是信息系统核心的芯片集成,就是将计算机系统的一些关键部件集成在一块芯片上;从广义角度讲,SoC是一个微小型系统,如果说中央处理器(CPU)是大脑,那么SoC就是包括大脑、心脏、眼睛和手的系统。国内外学术界一般倾向将SoC定义为将微处理器、模拟IP核、数字IP核和存储器(或片外存储控制接口)集成在单一芯片上。它通常是客户定制的,或是面向特定用途的标准产品。
嵌入式系统主要有几个个发展趋势: (1)开放式平台架构,易于与其他系统整合; (2)体积越来越小,性能要求更稳定,成本更低廉; (3)应用趋向多元化,个性化的服务; (4)功能趋向单一,集成的功能与一般PC不同; (5)实时定制的操作系统; 嵌入式系统早期主要应用于军事及航空航天等领域,以后逐步广泛地应用于工业控制、仪器仪表、汽车电子、通信和家用消费类等领域。随着Internet的发展,新型的嵌入式系统正朝着信息家电IA(Information Appliance)和3C(Computer、Communication & Consumer)产品方向发展。
2. 嵌入式系统的组成 嵌入式系统是由下面三部分组成: 1)包括嵌入式处理器及其周边接口在内的硬件部分; 2)嵌入式系统软件 3)嵌入式应用软件
Microprocessor Memory (RAM ROM other) TIC (Test Interface Controller) Comms Interfaces HID (Human Interface Devices) Interfaces Intellectual Property (IP) Bus Interconnect (e.g. SH, AMBA) Real time Operating System (RTOS) Application softwares
3. 嵌入式系统的硬件部分 处理器/微处理器 存储器 外设器件 I/O端口 人机接口
嵌入式处理器 嵌入式系统的核心:嵌入式处理器EMPU (Embedded Micro-Processor Unit) 要求: 1)对实时多任务有很强的支持能力,能完成多任务并且有较短的中断响应时间,从而使内部的代码和实时内核心的执行时间减少到最低限度。
2)具有功能很强的存储区保护功能。这是由于嵌入式系统的软件结构已模块化,而为了避免在软件模块之间出现错误的交叉作用,需要设计强大的存储区保护功能,同时也有利于软件诊断。 3)可扩展的处理器结构,以能最迅速地扩展出满足应用的最高性能的嵌入式微处理器。
4)嵌入式微处理器必须功耗很低,尤其是用于便携式的无线及移动的计算和通信设备中靠电池供电的嵌入式系统更是如此,如需要功耗只有mW甚至μW级。
嵌入式微处理器 vs.通用CPU 通用计算机中的CPU是嵌入式微处理器的基础(功能基本一样) 在工作温度、抗电磁干扰、可靠性等方面,EMPU一般都做了各种增强 任何微处理器MPU或微控制器MCU(即常称的单片机)都可以作为嵌入式系统的核。
目前的EMPU产品 X86系列 Motolora系列 MIPS系列 ARM系列 SH/HP-RISC等系列 其它
X86系列 优点: CPU性能价格比良好 开发简单,软件兼容性好。 软件资源丰富 开发平台简单 目前有大量工控104板,CPCI板可使用,方便二次开发。
X86系列 缺点: 体积大 功耗高 实时性差
X86系列 采用该架构的嵌入式系统较多出现在对体积和功耗要求不高的工业控制和台式设备的应用领域。80186/188是最早使用于嵌入式系统的处理器。80386EX则是最早SOC型的单片式PC。 80386EX则是最早SOC型的单片式PC,它以80386微处理器为核,在一块芯片上集成了PC机常用的I/O:实时时钟RTC、中断控制器、DMA控制器、定时/计数器、并行/串行口以及VGA的LCD液晶驱动器等。现在仍有很多公司采用486/586微处理器为核,推出了面向DVD、机顶盒和Webpad等应用的SOC芯片。
X86系列 Intel的EIA架构 Memory South Bridge BUS Interface IDE Interface USB Interface System BIOS Super IO Port CPU AGP Slot North Bridge PCI Interface
X86系列CPU 一个典型的EIA结构
X86系列CPU Intel公司 AMD公司 NS公司
Motorola系列处理器 Motorola公司是世界著名的处理器制造商,其CPU抗干扰能力强,适合工业控制/军方应用。 主要处理器: 1)MC68000微处理器占有美国军方市场的70%。代表产品:DRAGONBALL
Motorola系列处理器 2)QUICC系列通信处理器功能强大,在通信产品中获得广泛应用。MPC860、MPC8260为其典型产品,内部集成了PowerPC嵌入式处理器内核。 MPC8260 PowerQUICC II 是目前最先进的为电信和网络市场而设计的集成通信微处理器。高速的嵌入式PowerPC内核,连同无双的网络和通信外围设备集成度,摩托罗拉公司为用户提供了一个全新的整个系统解决方案来建立高端通信系统。MPC8260 PowerQUICC II可以称作是MPC860 PowerQUICC的下一代产品,它在各方面的提供更高的性能,包括更大的灵活性、扩展的能力和更高的集成度。与MPC860相似,MPC8260也有两个主要的组成部分:嵌入的PowerPC内核和通信处理模块(CPM)。由于CPM分担了嵌入式PowerPC核的外围工作任务,这种双处理器体系结构功耗要低于传统的体系结构的处理器。CPM同时支持3个快速的串行通信控制器(FCC)、2个多通道控制器(MCC)、4个串行通信控制器(SCC)、2个串行管理控制器(SMC)、1个串行外围接口(SPI)和一个I²C接口。PowerPC 内核和CPM的组合,加之 MPC8260 的多功能和高性能,为用户在网络和通信产品的开发方面提供巨大的潜力并缩短开发周期,加速产品的上市。 产品要点 200 MHz EC603e 内核(嵌入式PowerPC 微处理器) 增强的 32位 RISC 通信控制器 通信处理模块带有三个 FCC,两个MCC,四个SCC,两个SMC,一个SPI和一个I²C 多端口 10/100 Mbps 以太网 MAC(最大为3) 155 Mbps ATM-SAR(最大为2) 256个HDLC 通道(每个通道64 Kbps,全双工) 10 Mbps 以太网MAC(最大为4) 系统逻辑(存储控制器、定时器、实时时钟中断控制等) 典型应用 远程集线器 局域办公路由器 信元基础设备 交换机 以太网交换设备 T1/E1 到 T3/E3 桥接器 LAN 到 WAN 网桥/路由器 xDSL 系统 技术要点 EC603e微处理器(嵌入式 PowerPC 内核)运行频率为100-200 MHz 140.0 MIPS @ 100 MHz(Dhrystone 2.1) 280.0 MIPS @ 200 MHz(Dhrystone 2.1) 高性能超标量体系结构微处理器 CPU 非活动模式 支持摩托罗拉外部L2缓存芯片(MPC2605) 改良的低功耗内核 16K字节数据和16K字节指令缓存 存储管理单元 无浮点单元 通用片内处理器(COP) 系统集成单元(SIU) 存储控制器,包括两个专用的SDRAM机构 PCI 高达66MHz(对以后的版本有效) 硬件总线监视器和软件看门狗定时器 IEEE 1149.1 JTAG 测试口 高性能的通信处理模块(CPM),运行频率高达133或166MHz PowerPC和CPM可以工作在不同频率 支持串性比特率达710 Mbps @133 MHz 并行I/O寄存器 片内24K字节双口RAM 两个多通道控制器(MCC),每一个支持128条全双工的64Kbps,HDLC 线 虚拟DMA功能 双总线结构:一个64位PowerPC和一个32位PCI或局部总线 两个 UTOPIA 二级主/从端口,均支持多PHY,其中一个可以为8/16位的数据 三个MII接口 8个TDM接口(T1/E1),两个TDM口可以无逢连接到T3/E3 内部电压2.0V,I/O电平为3.3V 133 MHz 功耗为:2.5 W 480 TBGA 封装 (37.5 mm x 37.5 mm)
Motorola系列处理器 3) M-CORE : MMC2107是32位M-CORE系列MCU,是以M210microRISC核为CPU,最高系统时钟可达33MHz。MMC2107是基于M210 CPU的、通用MCU系列中的第一个成员,具有很低的功耗;在主模式下,以最大系统时钟运行,并且片内所有模块全部处于运行状态时,最大的工作电流为200mA,特别适合于由电池供电的应用场合
Motorola系列处理器 A、68-CPU系列: MC68020 MC68030 MC68040 MC68060 MC68010 MC68EC020 MC68EC030 MC68EC040 B、68K-QUICC系列: MC68302系列 MC68360 系列 MC68302 MC68EN360 MC68MH360 MC68EN302 MC68QH360 MC68LC302 MC68SC360 MC68PM302 MC68DP360 MC68QH302 MC68PM360 MC68SC302
Motorola系列处理器 C、PowerPC -CPU 系列 MPC604 MPC601 MPC603 MPC740A MPC604E MPC603P MPC604R MPC750F D、 PowerPC -QUICC系列 MPC860 (MPC850) MPC8260 MPC821 系列 系 列 MPC860DP MPC860DE MPC860DH MPC860EN MPC860MH MPC860SR
MIPS系列 MIPS (Microprocessor without Interlocked Pipeline Stages) 技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。1986年推出R2000处理器,1988年推出R3000处理器,1991年推出第一款64位商用微处理器R4000。之后,又陆续推出R8000(1994年)、R10000(1996年)和R12000(1997年)等型号。1999年,MIPS公司发布MIPS 32和MIPS 64架构标准。2000年,MIPS公司发布了针对MIPS 32 4Kc的新版本以及未来64位MIPS 64 20Kc处理器内核。
MIPS系列 由于MIPS有效合理的硬件架构,可以使处理器在有限的时钟下发挥很高的工作效率,所以有许多厂商特别是日本的厂商采用MIPS先进的RISC技术,发展出不少知名产品。例如: NEC公司的Vr4100/Vr4300(MIPS64)和V800 (MIPS32)系列嵌入式微处理器 SONY公司的Playstation2采用了MIPS RISC架构处理核心 任天堂的Nintendo64采用的是R4300i-class (MIPS64)处理器,其系统时钟为93.75MHz
MIPS系列 Cisco公司的PDA产品E-125(Vr4122处理器、150MHz)和E-500 (Vr4121处理器、168MHz) 日本NTT DoCoMo公司的PHS移动电话也部分采用了Vr4121处理器 美国康柏公司推出了含有MIPS处理器的掌上电脑810C和2010C,操作系统为WINDOWS CE。
ARM系列 ARM公司(Advanced RISC Machines Limited)正式成立于1990年。在1985年4月26日,第一个ARM原型在英国剑桥的Acorn计算机有限公司诞生(在美国VLSI公司制造)。ARM公司是嵌入式RISC处理器的知识产权IP供应商,它为ARM架构处理器提供了ARM处理器内核和ARM处理器核。由各半导体公司(ARM公司合作伙伴)在上述的处理器内核或处理器核基础上进行再设计,嵌入各种外围和处理部件,形成各种嵌入式微处理器MPU或微控制器MCU。
ARM系列 ARM是一个CPU内核。ARM公司自己并不生产或销售芯片,它采用技术授权模式,通过出售芯片技术授权,收取授权费与技术转让费。随着ARM/MIPS/ARC等成熟内核的推出,很多过去没有32位cpu研发能力的半导体公司进入这一行列。 ARM 公司作为32位处理器内核的提供者,拥有100多家半导体合作伙伴,ARM core是目前消费类电子市场中市场占有量第一的CPU体系,其占有32位嵌入式处理器市场的份额高达76.8%。
ARM系列 主流ARM内核: ARM7 :arm7tdmi,arm720t(MMU) ARM9 ARM10 StrongARM/Xscale
ARM系列 ·ATMEL公司: AT91系列MCU(ARM7TDMI内核) ·Cirros公司: EP及CL-PS系列 (ARM720T核) ·Hyundai公司: GMS30C7201 (ARM7TDMI内核) ·Intel公司: SA-1110 (StrongARM核) ·Linkup Systems公司: L720互联网处理器(ARM720T核) ·OKI公司: ML67000系列MCU(ARM7TDMI内核) ·Rohm公司: Bu6616K ISDN处理器(ARM7TDMI内核) ·Samsung公司: KS32/KS17 (ARM7TDMI内核) ·Sharp公司: LH77790 (ARM7TD内核) · Netsilicon公司: NET+15/40/50 (ARM7DMI内核) ARM公司是嵌入式RISC处理器的知识产权IP供应商,它为ARM架构处理器提供了ARM处理器内核(如ARM7TDMI、ARM9TDMI、ARM10TDMI等)和ARM处理器核(ARM710T/720T/740T、ARM920T/922T/940T、ARM926E/966E及ARM1020E等)。
ARM系列 Intel的ARM架构处理器: StrongARM SA-1100和SA-1110 Xscale PXA210、PXA250、PXA255
其它嵌入式处理器 DSP数字信号处理器 MCU微控制器 RISC处理器
4. 嵌入式系统软件 嵌入式系统软件的特征: (1) 软件要求编码体积小,固态化存储 (2) 软件代码高质量、高可靠性 (3) 高实时性和多任务操作系统 (4)面向应用,可裁剪和移植 (1) 软件要求固态化存储 为了提高执行速度和系统可靠性,嵌入式系统中的软件一般都固化在存储器芯 片或单片机本身中,而不是存贮于磁盘等载体中。 (2) 软件代码高质量、高可靠性 尽管半导体技术的发展使处理器速度不断提高、片上存储器容量不断增加,但 在大多数应用中,存储空间仍然是宝贵的,还存在实时性的要求。为此要求程 序编写和编译工具的质量要高,以减少程序二进制代码长度、提高执行速度。 (3) 系统软件(OS)的高实时性是基本要求 在多任务嵌入式系统中,对重要性各不相同的任务进行统筹兼顾的合理调度是 保证每个任务及时执行的关键,单纯通过提高处理器速度是无法完成和没有效 率的,这种任务调度只能由优化编写的系统软件来完成,因此系统软件的高实 时性是基本要求。 (4) 多任务操作系统是知识集成的平台和走向工业标准化道路的基础
嵌入式操作系统 (Embedded Operating System) 嵌入式操作系统是一种支持嵌入式系统应用的操作系统软件,它是嵌入式系统(包括硬、软件系统)极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统具有通用操作系统的基本特点,与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硬件的相关依赖性、软件固态化以及应用的专用性等方面具有较为突出的特点。 嵌入式操作系统可以分为两类,一类是面向控制、通信等领域的实时操作系统,如WindRiver公司的VxWorks、ISI的pSOS、QNX系统软件公司的QNX、ATI的Nucleus等;另一类是面向消费电子产品的非实时操作系统,这类产品包括个人数字助理(PDA)、移动电话、机顶盒、电子书、WebPhone等。
(Real Time Operation System, 简称RTOS) 嵌入式实时操作系统 (Real Time Operation System, 简称RTOS) 1981年Ready System发展了世界上第1个商业嵌入式实时内核(VRTX32)。当时的产品IPI公司的MTOS和80年代末ISI公司的PSOS。产品主要用于军事和电信设备。20世纪90年代中期代表性的产品有Vxwork,QNX, Lynx和WinCE等。 RTOS追求的是实时性、可确定性、可靠性。
RTOS的划分 1. 系统级:指RTOS运行在1个小型的计算机系统中完成实时的控制作用。主要有微软WINDOWS的嵌入式版本,Sun的Solaris以及嵌入式Linux。 2. 板级:传统的RTOS的主要市场。如Vxwork、QNX、Lynx和VRTX,应用主要集中在航空航天、电话电讯等设备上。 3. SOC级:新一代RTOS的领域:主要应用在消费电子、互联网络和手持设备等产品上。代表的产品有Symbian 的Epoc、ATI 的Nucleus, Express logic 的Threadx。老牌的RTOS厂家的产品VRTX和Vxwork 也很注意这个市场。
RTOS的特点 实时操作系统最大的特点就是实时性和多任务。 应具有如下的功能: 1) 任务管理(多任务和基于优先级的任务调度) 2) 任务间同步和通信(信号量和邮箱等) 3) 存储器优化管理(含ROM的管理) 4) 实时时钟服务 5) 中断管理服务
嵌入式操作系统按其应用对象不同,有以下几类: ·基于或与Windows兼容: ─Window CE、嵌入式Linux、EPOC ·工业与通信(传统)类: ─VxWorks、pSOS、QNX、Neculeus、VRTX ·单片机类: ─iRMX、CMX、μC/OS ·面向Internet类: ─Palm OS、Visor、Hopen、PPSM
1) 专用的实时操作系统(RTOS) 代表性的产品有QNX、VxWorks、pSos、lynx,还有Hopen,中文名称为"女娲",它是由中科院开发的中国人自己的嵌入式OS。 其特点是: 模块化 实时性好 稳定性好 价格昂贵
2) 微软的嵌入式OS WINDOWS CE 与前述OS最大不同是其应用编程接口(API)与Win32 API兼容,这样Windows上的程序都可以重新编译后移植到Win CE上来,开发人员可用开发Windows同样的开发工具来开发Win CE程序。 缺点同样是源代码不公开(向学术机构开放),对每一个应用都要收取版税。例如,某机顶盒采用Win CE,每台需交纳20-30美圆给微软,另外,Win CE 体积庞大,占用很多的ROM和RAM。
2) 微软的嵌入式OS(续1) b) WINDOWS CE .NET Windows CE 3.0的后继产品 为快速建立下一代智能移动和小内存占用的设备提供了一个健壮的实时操作系统。 它包括了创建一个基于Windows CE操作系统的定制设备所需的一切,例如:强大的联网能力、强劲的实时性、小内存占用以及丰富的多媒体和Web浏览功能。 新增功能: 无线技术,例如蓝牙(Bluetooth); 设备仿真,该特性使您可以对完整的设备环境进行仿真而无需任何额外的硬件投资; 平台向导,使您可以从众多的预置设备设计中进行选择,以便跳跃式地开始您的开发流程; 还有丰富的多媒体和Web浏览功能,例如Microsoft Internet Explorer 5.5 和Windows Media™编解码器(Codec)和控件。
2) 微软的嵌入式OS (续2) c) Windows XP Embedded Windows XP Professional操作系统的组件化版本,它能够快速开发出最为可靠的全功能连接设备。 Windows XP Embedded采用与Windows XP Professional相同的二进制代码,从而使得嵌入式开发人员能够只选择其嵌入式设备/产品所需的丰富的定制化特性。 特点: 构建在已经得到验证的Windows® 2000代码库基础之上,它提供了业内领先的可靠性、安全性和性能,并且具备最新的多媒体、Web浏览、电源管理及设置支持功能。 集成了最新的嵌入式支持功能,例如支持无显示、无鼠标和无键盘的无头设备以及灵活的启动与存储选项。 还包含一套全新设计的工具集Windows Embedded Studio,使得开发人员能够更快速配置、构建并部署智能化设计方案
3) 嵌入式Linux 这是嵌入式操作系统的一个新成员,其最大的特点是源代码公开并且并且遵循GPL协议,在近一年多以来成为研究热点 据IDG预测嵌入式LINUX将占未来两年的嵌入式操作系统份额的50%。
3) 嵌入式Linux (续1) 由于其源代码公开,人们可以任意修改,以满足自己的应用,并且查错也很容易。 遵从GPL,无须为每例应用交纳许可证费。 有大量的应用软件可用。其中大部分都遵从GPL,是开放源代码和免费的。可以稍加修改后应用于用户自己的系统。 有大量的免费的优秀的开发工具,且都遵从GPL,是开放源代码的。
3) 嵌入式Linux (续2) 有庞大的开发人员群体。无需专门的人才,只要懂Unix/Linux和C语言即可。随着Linux在中国的普及,这类人才越来越多。所以软件的开发和维护成本很低。 优秀的网络功能,这在Internet时代尤其重要。 稳定--这是 Linux本身具备的一个很大优点。 内核精悍,运行所需资源少,十分适合嵌入式应用。 支持的硬件数量庞大。嵌入式Linux和普通linux并无本质区别,PC上用到的硬件嵌入式Linux几乎都支持。而且各种硬件的驱动程序源代码都可以得到,为用户编写自己专有硬件的驱动程序带来很大方便。
关于GPL? 通用性公开许可证(General Public License,简称GPL)。 GPL同其它的自由软件许可证一样,许可社会公众享有:运行、复制软件的自由、发行传播软件的自由,获得软件源码的自由、改进软件并将自己作出的改进版本向社会发行传播的自由。只要这种修改文本在整体上或者其某个部分来源于遵循GPL的程序,该修改文本的整体就必须按照GPL流通,不仅该修改文本的源码必须向社会公开,而且对于这种修改文本的流通不准许附加修改者自己作出的限制。 因此,一项遵循GPL流通的程序不能同非自由的软件合并。GPL所表达的这种流通规则称为copyleft,表示与copyright(版权)的概念“相左”。
5. 嵌入式系统开发 难点: 1) 硬件方面: 嵌入式32位微处理器系统具有非常广阔的市场前景但是设计嵌入式32位微处理器系统对大多数开发者来说却存在很大困难。嵌入式32位微处理器内部结构非常复杂,工作频率达几十兆甚至几百兆HZ,所用到的外围器件如存储器和网络器件也都是工作在很高频率上的复杂器件。所以,设计和调试32位微处理器系统硬件,对任何硬件设计人员都是具有挑战性的工作,产品开发成本很高周期很长。
2) 软件方面: 作为比较新的一个操作系统,开发人员需要研究其工作原理,阅读大量文档和源代码,熟悉许多的开发工具,才能掌握它; 作为开放源代码软件,许多用户感觉技术服务难以得到保证; 软件和用户的硬件之间存在较大差距,用户有许多烦琐的与硬件接口的底层软件要做。
作业一(20分) 报告论文《嵌入式系统的应用》 要求: 1. 描述嵌入式系统的含义和特点,比较其与普通PC系统的异同。 2. 当前嵌入式处理器主要有哪些架构?其各自的特点是什么? 3. 结合自己的工作和实际经验,详细介绍一个嵌入式系统应用的实例。 4. 字数3000-5000字左右。