1、11.1 嵌入式系统的定义及特点嵌入式系统的定义及特点 1.2 嵌入式系统的发展及应用嵌入式系统的发展及应用1.3 嵌入式系统的总体组成嵌入式系统的总体组成 1.4 常用的嵌入式处理器常用的嵌入式处理器 1.5 常用的嵌入式操作系统常用的嵌入式操作系统 1.6 嵌入式系统的设计方法嵌入式系统的设计方法 1.7 嵌入式系统的应用开发嵌入式系统的应用开发 1.8 嵌入式系统的学习探讨嵌入式系统的学习探讨习题习题2 34 512 嵌入式系统的发展应用嵌入式系统的发展应用 1嵌入式系统发展的嵌入式系统发展的4 个阶段个阶段 1)以单片机为核心的低级嵌入式系统)以单片机为核心的低级嵌入式系统 主要特点是
2、系统结构和功能单一,处理效率不高,存储容量较主要特点是系统结构和功能单一,处理效率不高,存储容量较小,用户接口简单或没有用户接口,但它使用简单,成本低廉。小,用户接口简单或没有用户接口,但它使用简单,成本低廉。2)以嵌入式微处理器为基础的初级嵌入式系统)以嵌入式微处理器为基础的初级嵌入式系统 主要特点是处理器种类多,通用性较弱;系统效率高,成本低;主要特点是处理器种类多,通用性较弱;系统效率高,成本低;操作系统具有兼容性、扩展性,但用户界面简单。操作系统具有兼容性、扩展性,但用户界面简单。3)以嵌入式操作系统为标志的中级嵌入式系统以嵌入式操作系统为标志的中级嵌入式系统 主要特点是嵌入式系统能运
3、行于各种不同嵌入式处理器上,兼主要特点是嵌入式系统能运行于各种不同嵌入式处理器上,兼容性好;操作系统内核小、效率高,并且可任意裁剪;具有文件和容性好;操作系统内核小、效率高,并且可任意裁剪;具有文件和目录管理、多任务功能,支持网络、具有图形窗口以及良好的用户目录管理、多任务功能,支持网络、具有图形窗口以及良好的用户界面;具有大量的应用程序接口,嵌入式应用软件丰富。界面;具有大量的应用程序接口,嵌入式应用软件丰富。121 嵌入式系统的发展嵌入式系统的发展6 4)以)以Internet 为标志的高级嵌入式系统为标志的高级嵌入式系统 目前嵌入式系统大多孤立于目前嵌入式系统大多孤立于Intemet,随
4、着网络应用的不,随着网络应用的不断深入,随着信息家电的发展,嵌入式系统的应用必将与断深入,随着信息家电的发展,嵌入式系统的应用必将与Internet 有机结合在一起,成为嵌入式系统发展的未来。有机结合在一起,成为嵌入式系统发展的未来。基于基于32位位/64位微处理器的嵌入式系统的优点:位微处理器的嵌入式系统的优点:芯片内芯片内外资源丰富,硬件系统简单;外资源丰富,硬件系统简单;可运行各种操作系统,降低可运行各种操作系统,降低了复杂系统应用程序开发的难度;可运行多种操作系统,应用了复杂系统应用程序开发的难度;可运行多种操作系统,应用程序开发难度降低,系统人机界面友好;程序开发难度降低,系统人机界
5、面友好;系统数据处理能系统数据处理能力强,控制精度高;力强,控制精度高;有成熟的开发工具,丰富的开发资源有成熟的开发工具,丰富的开发资源和资料;和资料;32位位/64位的嵌入式系统的开发人群不断增多,有位的嵌入式系统的开发人群不断增多,有助于降低企业项目开发成本、保持开发的连续性。助于降低企业项目开发成本、保持开发的连续性。7 2嵌入式系统的发展趋势嵌入式系统的发展趋势 1)嵌入式系统结构将更加复杂,硬件向集成化发展,软件将)嵌入式系统结构将更加复杂,硬件向集成化发展,软件将逐渐逐渐PC化化 2)嵌入式系统的小型化、智能化、网络化、可视化、微功耗)嵌入式系统的小型化、智能化、网络化、可视化、微
6、功耗和低成本和低成本 3)不断改善人机交互的手段,提供精巧的多媒体人机界面)不断改善人机交互的手段,提供精巧的多媒体人机界面 4)云计算、可重构、虚拟化等技术被进一步应用到嵌入式系统)云计算、可重构、虚拟化等技术被进一步应用到嵌入式系统 5)嵌入式软件开发平台化、标准化、系统可升级,代码可复用)嵌入式软件开发平台化、标准化、系统可升级,代码可复用将更受重视将更受重视 其中:云计算(其中:云计算(Cloud)是将计算分布在大量的分布式计算机上,)是将计算分布在大量的分布式计算机上,这样我们只需要一个终端,就可以通过网络服务来实现所需要的计这样我们只需要一个终端,就可以通过网络服务来实现所需要的计
7、算任务,甚至是超级计算任务。算任务,甚至是超级计算任务。可重构性是指在一个系统中,其硬件模块或(和)软件模块均可重构性是指在一个系统中,其硬件模块或(和)软件模块均能根据变化的数据流或控制流对系统结构或算法进行重新配置(或能根据变化的数据流或控制流对系统结构或算法进行重新配置(或重新设置)。重新设置)。虚拟化是指计算机软件在一个虚拟的平台上而不是一个真实的虚拟化是指计算机软件在一个虚拟的平台上而不是一个真实的硬件上运行。硬件上运行。8 嵌入式系统具有非常广阔的应用领域,是现代计算机技术嵌入式系统具有非常广阔的应用领域,是现代计算机技术改造传统产业、提升多领域技术水平的有力主具,可以说嵌入改造传
8、统产业、提升多领域技术水平的有力主具,可以说嵌入式系统无处不在。其主要应用领域包括智能产品(智能仪表、式系统无处不在。其主要应用领域包括智能产品(智能仪表、智能和信息家电)、工业自动化(测控装置、数控机床、数据智能和信息家电)、工业自动化(测控装置、数控机床、数据采集与处理)、办公自动化(通用计算机中的智能接口)、电采集与处理)、办公自动化(通用计算机中的智能接口)、电网安全、电网设备检测、石油化工、商业应用(电子秤,网安全、电网设备检测、石油化工、商业应用(电子秤,POS 机,条码识别机)、安全防范(防火、防盗、防泄漏等报警系机,条码识别机)、安全防范(防火、防盗、防泄漏等报警系统)、网络通
9、信(路由器、网关、手机、统)、网络通信(路由器、网关、手机、PDA、无线传感器、无线传感器网络)、汽车电子与航空航天(汽车防盗报警器、汽车和飞行网络)、汽车电子与航空航天(汽车防盗报警器、汽车和飞行器黑匣子)以及军事等各个领域,如图器黑匣子)以及军事等各个领域,如图11 所示。所示。122 嵌入式系统的应用嵌入式系统的应用9图图11 嵌入式系统的应用领域嵌入式系统的应用领域 1013 嵌入式系统的总体组成嵌入式系统的总体组成图图1 12 2 基于控制领域的典型嵌入式系统基于控制领域的典型嵌入式系统11131 嵌入式系统的硬件嵌入式系统的硬件图图1 13 3 典型的嵌入式系统硬件组成典型的嵌入式
10、系统硬件组成12 1中间层程序中间层程序 中间层程序主要为上层软件提供了设备的操作接口,它包中间层程序主要为上层软件提供了设备的操作接口,它包括硬件抽象层(括硬件抽象层(Hardware Abstraction Layer,HAL)、板级)、板级支持包(支持包(Board Support Package,BSP)以及设备驱动程序。)以及设备驱动程序。1)硬件抽象层)硬件抽象层 硬件抽象层就是通过程序来控制处理器、硬件抽象层就是通过程序来控制处理器、I/O接口以及存接口以及存储器等所有硬件的操作,这样使系统的设备驱动程序与硬件设储器等所有硬件的操作,这样使系统的设备驱动程序与硬件设备无关,提高了
11、系统中的移植性。它包括相关硬件的初始化、备无关,提高了系统中的移植性。它包括相关硬件的初始化、数据的输入数据的输入/输出操作、硬件设备的配置等操作。输出操作、硬件设备的配置等操作。2)板级支持包)板级支持包 板级支持包主要是实现对嵌入式操作系统的支持,为上层板级支持包主要是实现对嵌入式操作系统的支持,为上层的驱动程序提供访问硬件设备寄存器的函数包。的驱动程序提供访问硬件设备寄存器的函数包。BSP实现的功实现的功能主要有:能主要有:系统启动时对硬件初始化;系统启动时对硬件初始化;为驱动程序提供为驱动程序提供访问硬件的手段,访问硬件的手段,Boot Loader便属于此类。便属于此类。132 嵌入
12、式系统的软件嵌入式系统的软件13 3)设备驱动程序)设备驱动程序 设备的驱动程序为上层软件提供调用的操作接口。驱动程设备的驱动程序为上层软件提供调用的操作接口。驱动程序除了实现本的功能函数外(初始化、中断响应、发送、接收序除了实现本的功能函数外(初始化、中断响应、发送、接收等),还具备完善的错误处理函数。等),还具备完善的错误处理函数。2嵌入式操作系统嵌入式操作系统 嵌入式操作系统在复杂的嵌入式系统中发挥着非常重要的嵌入式操作系统在复杂的嵌入式系统中发挥着非常重要的作用,有了嵌入式操作系统,作用,有了嵌入式操作系统,进程管理、进程间的通信、内进程管理、进程间的通信、内存管理、文件管理、驱动程序
13、、网络协议等方可实现。存管理、文件管理、驱动程序、网络协议等方可实现。3应用软件层应用软件层 应用软件是在嵌入式操作系统支持下通过调用应用软件是在嵌入式操作系统支持下通过调用API函数,函数,结合实际应用编制的用户软结合实际应用编制的用户软 件。如抄表系统的软件、掌上信件。如抄表系统的软件、掌上信息查询软件等。息查询软件等。14 嵌入式微处理器(嵌入式微处理器(Embedded Microcomputer Unit,EMPU)、)、嵌入式微控制器(嵌入式微控制器(Embedded Microcontroller Unit,EMCU)嵌入式数字信号处理器(嵌入式数字信号处理器(Embedded
14、Digital Signal Processor,EDSP)嵌入式片上系统(嵌入式片上系统(System On Chip,SOC)嵌入式可编程片上系统(嵌入式可编程片上系统(System On a Programmable Chip,SOPC)。14 常用的嵌入式处理器常用的嵌入式处理器141 嵌入式处理器的种类嵌入式处理器的种类15 1嵌入式微处理器嵌入式微处理器 嵌入式微处理器是由嵌入式微处理器是由PC中的中的CPU演变而来的,与通用演变而来的,与通用PC的微的微处理器不同的是,它只保留了与嵌入式应用紧密相关的功能硬件。处理器不同的是,它只保留了与嵌入式应用紧密相关的功能硬件。典型的典型的
15、EMPU有有Power PC、MIPS、MC68000、i386EX、AMD K6 2E以及以及ARM等,其中等,其中ARM是应用最广、最具代表性的嵌入式微处是应用最广、最具代表性的嵌入式微处理器。理器。2嵌入式微控制器嵌入式微控制器 嵌入式微控制器的典型代表是单片机,其内部集成了嵌入式微控制器的典型代表是单片机,其内部集成了ROM/EPROM/Flash、RAM、总线、总线逻辑、定时器、看门狗、总线、总线逻辑、定时器、看门狗、I/O接口等各种必要的功能部件。典型的接口等各种必要的功能部件。典型的EMCU有有51系列、系列、MC68系列、系列、PIC系列、系列、MSP430系列等。系列等。3嵌
16、入式数字信号处理器嵌入式数字信号处理器 嵌入式数字信号处理器(嵌入式数字信号处理器(DSP)是专门用于数字信号处理的微)是专门用于数字信号处理的微处理器,在系统结构和指令算法方面经过特殊设计,因而具有很高处理器,在系统结构和指令算法方面经过特殊设计,因而具有很高的编译效率和指令执行速度。典型的的编译效率和指令执行速度。典型的EDSP有有TMS32010系列、系列、TMS32020系列等。系列等。16 4嵌入式片上系统嵌入式片上系统 SOC是一个集成的复杂系统,它一般将一个完整的产品的各功是一个集成的复杂系统,它一般将一个完整的产品的各功能集成在一个芯片上或芯片组上,其中可能包括处理器能集成在一
17、个芯片上或芯片组上,其中可能包括处理器CPU、存储、存储器、硬件加速单元、与外围设备的接口器、硬件加速单元、与外围设备的接口I/F,模数混合放大电路,甚,模数混合放大电路,甚至延伸到传感器、微机电和微光电单元。至延伸到传感器、微机电和微光电单元。SOC最大的特点是成功实现了软硬件无缝结合,直接在处理器最大的特点是成功实现了软硬件无缝结合,直接在处理器的片内嵌入了操作系统。由于片上系统绝大部分系统构件都是在系的片内嵌入了操作系统。由于片上系统绝大部分系统构件都是在系统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而统内部,整个系统就特别简洁,不仅减小了系统的体积和功耗,而且提高了系统的可
18、靠性和设计生产效率。且提高了系统的可靠性和设计生产效率。5嵌入式可编程片上系统嵌入式可编程片上系统 可编程片上系统可编程片上系统SOPC 是一种基于是一种基于FPGA的可重构的可重构SOC,它集成,它集成了硬了硬IP核或软核或软IP核核CPU、DSP、存储器、外围、存储器、外围I/O及可编程逻辑,是及可编程逻辑,是更加灵活、高效的更加灵活、高效的SOC解决方案。解决方案。SOC与与SOPC的区别:的区别:SOC是专是专用集成系统,设计周期长,设计成本高,用集成系统,设计周期长,设计成本高,SOPC是基于是基于FPGA的可重的可重构构SOC,是一种通用系统,设计周期短,设计成本低。,是一种通用系
19、统,设计周期短,设计成本低。17 英国英国ARM(Advanced RISC Machines)公司成立于)公司成立于1990年。在年。在1985年年4月月26日,第一个日,第一个ARM原型在英国剑桥的原型在英国剑桥的Acorn计算机有限公司诞生(在美国计算机有限公司诞生(在美国VLSI公司制造)。目前,公司制造)。目前,ARM架构处理器已在高性能、低功耗、低成本应用领域中占架构处理器已在高性能、低功耗、低成本应用领域中占据领先地位。据领先地位。ARM公司是嵌入式公司是嵌入式RISC处理器的知识产权处理器的知识产权IP供应商,供应商,它为它为ARM架构处理器提供了架构处理器提供了ARM处理器内
20、核(如处理器内核(如ARM7TDMI、ARM9TDMI、ARM10TDMI等)和等)和ARM处处理器宏核(理器宏核(ARM720T、ARM920T/922T/940T、ARM1020E/1022E等),由各半导体公司(等),由各半导体公司(ARM公司合作伙公司合作伙伴)在上述处理器内核或处理器宏核基础上进行再设计,嵌伴)在上述处理器内核或处理器宏核基础上进行再设计,嵌入各种外围和处理部件,形成各种嵌入式微处理器(入各种外围和处理部件,形成各种嵌入式微处理器(EMPU)或嵌入式微控制器(或嵌入式微控制器(EMCU)。)。142 典型典型ARM微处理器系列微处理器系列18 ARM处理器目前包括处理
21、器目前包括ARM7系列、系列、ARM9系列、系列、ARM9E系列、系列、ARM10E系列、系列、ARM11系列、系列、SecurCore系系列、列、OptimoDE系列、系列、StrongARM系列、系列、XScale系列以及系列以及Cortex-A8系列等。系列等。ARM7、ARM9、ARM9E及及ARM10E为为4个通用嵌入式个通用嵌入式微处理器系列,每个系列提供一套相对独特的性能来满足不微处理器系列,每个系列提供一套相对独特的性能来满足不同应用领域的要求,有多个厂家生产;同应用领域的要求,有多个厂家生产;SecurCore系列则是系列则是专门为安全性要求较高的场合而设计的;专门为安全性要
22、求较高的场合而设计的;Strong ARM是是Intel公司生产的用于便携式通信产品和消费电子产品的理想嵌入公司生产的用于便携式通信产品和消费电子产品的理想嵌入式微处理器,应用于多家掌上电脑系列产品;式微处理器,应用于多家掌上电脑系列产品;Xscale是是Intel 公司推出的基于公司推出的基于ARMv5TE体系结构的全性能、高性价比、体系结构的全性能、高性价比、低功耗的嵌入式微处理器,应用于数字移动电话、个人数字低功耗的嵌入式微处理器,应用于数字移动电话、个人数字助理和网络产品等场合。助理和网络产品等场合。Cortex-A8处理器是第一款基于下处理器是第一款基于下一代一代ARMv7架构的应用
23、处理器,使用了能够带来更高性能、架构的应用处理器,使用了能够带来更高性能、功耗效率和代码密度的功耗效率和代码密度的Thumb-2技术。技术。19图1.4 基于ARM核的典型嵌入式处理器系列20143 典型典型ARM微处理器简介微处理器简介 1S3C44B0X微处理器简介微处理器简介 S3C44B0X是三星公司专为手持设备和一般应用提高的高性价是三星公司专为手持设备和一般应用提高的高性价比、高性能的比、高性能的16/32位位RISC型嵌入式微处理器。它使用型嵌入式微处理器。它使用ARM7TDMI核,工作在核,工作在75MHz。S3C44B0X采用采用025um制造工艺的制造工艺的CMOS标标准宏
24、单元和存储编译器,它耗能低、精简及出色的全静态设计非常准宏单元和存储编译器,它耗能低、精简及出色的全静态设计非常适用于对成本和功耗要求较高的场合。适用于对成本和功耗要求较高的场合。为了降低系统总成本和减少外围器件,这款芯片中还集成了若为了降低系统总成本和减少外围器件,这款芯片中还集成了若干部件,主要包括干部件,主要包括8KBCache(数据(数据/指令)、内部指令)、内部SRAM、外部储、外部储存器控制器、存器控制器、LCD(Liquid Crystal Display)控制器、)控制器、4个个DMA通通道、带自动握手的道、带自动握手的2通道通道UART、一个多主、一个多主I2C(Inter
25、Integrate Circuit)总线控制器、)总线控制器、1个个I2S(Inter Integrate Circuit Sound Bus)总线控制器、总线控制器、5通道通道PWM定时器、一个看门狗定时器、定时器、一个看门狗定时器、71个通用个通用I/O口、口、8个外部中断源、具有日历功能的实时时钟个外部中断源、具有日历功能的实时时钟RTC、8通道通道10位位A/D转化器、转化器、1个个SIO接口以及接口以及PLL(锁相环)时钟发生器。(锁相环)时钟发生器。S3C44B0X采用新型的总线结构,即三星采用新型的总线结构,即三星ARM CPU嵌入式微处嵌入式微处理器总线结构理器总线结构SAMB
26、A II。21 2S3C2410X/S3C2440X微处理器简介微处理器简介 S3C2410X/S3C2440X是三星公司出品的基是三星公司出品的基ARM920T核核的嵌入式微处理器,它与基于的嵌入式微处理器,它与基于ARM7的的S3C44B0X的最大区的最大区别在于,别在于,S3C2410X/S3C2440X内部带有全性能的内存管理内部带有全性能的内存管理单元(单元(MMU),适用于设计移动手持设备类产品,具有高),适用于设计移动手持设备类产品,具有高性能、低功耗、接口丰富及体积小等优良特性。性能、低功耗、接口丰富及体积小等优良特性。S3C2410X/S3C2440X提供了丰富的内部设备:如
27、双重分提供了丰富的内部设备:如双重分离的离的16KB的指令缓存和的指令缓存和16KB的数据缓存、的数据缓存、MMU虚拟存储虚拟存储器管理部件、器管理部件、LCD控制器、支持控制器、支持NAND的的Flash系统引导、系统引导、外部存储控制器、外部存储控制器、3通道通道UART、4通道通道DMA、4通道通道PWM定定时器、时器、I/O端口、定时器、端口、定时器、8通道通道10位位A/D转换器、触摸屏接转换器、触摸屏接口、口、I2C总线接口、总线接口、USB主机、主机、USB设备、设备、SD主卡及主卡及MMC卡接口、卡接口、2通道通道SPI以及内部以及内部PLL时钟倍频器。时钟倍频器。22 3LP
28、C2000系列嵌入式微控制器简介系列嵌入式微控制器简介 LPC2000系列嵌入式微控制器是基于系列嵌入式微控制器是基于ARM7TDMI-S CPU内核内核的,它支持的,它支持ARM和和Thumb指令集,芯片内集成丰富外设,而且具有指令集,芯片内集成丰富外设,而且具有非常低的功率消耗。该系列微控制特别适用于工业控制、医疗系统、非常低的功率消耗。该系列微控制特别适用于工业控制、医疗系统、访问控制和访问控制和POS机等场合。有关其系列产品的主要信息见表机等场合。有关其系列产品的主要信息见表11。4AT91系列嵌入式微控制器简介系列嵌入式微控制器简介 美国美国Atmel AT91系列微控制器是基于系列
29、微控制器是基于ARM7TDMI(有的基(有的基ARM920T)的嵌入式微处理器的)的嵌入式微处理器的16/32位微控制器,是目前国内市位微控制器,是目前国内市场应用最广泛的场应用最广泛的ARM芯片之一。芯片之一。AT91系列微控制器定位在低功耗系列微控制器定位在低功耗和实时控制应用领域,它们已成功应用在工业自动化控制、和实时控制应用领域,它们已成功应用在工业自动化控制、MP3/WMA播放器、数据采集产品、播放器、数据采集产品、BP机、机、POS机、医疗设备、机、医疗设备、GPS和网络系统产品中。和网络系统产品中。AT91系列微控制器为工业级芯片,价格比系列微控制器为工业级芯片,价格比较便宜。较
30、便宜。基于基于ARM技术的技术的Atmel微控制器为微控制器为AT91系列,其中有几种类型,系列,其中有几种类型,AT91RXXXX和和AT91MXXXX(内部带有(内部带有RAM,但没有程序存储器,但没有程序存储器类型)、类型)、AT91RMXXXX(内部带有(内部带有RAM,有,有ROM类型),类型),AT91FRXXXX(内部带有(内部带有RAM,有,有Flash程序存储器类型)。程序存储器类型)。23 5XScale微体系结构微处理器简介微体系结构微处理器简介 Intel XScale微体系结构提供了一种全新的、高性价比、低微体系结构提供了一种全新的、高性价比、低功耗且基于功耗且基于A
31、RMv5TE体系结构的解决方案,支持体系结构的解决方案,支持16位位Thumb指令和指令和DSP扩充。基于扩充。基于XScale技术开发的微处理器,可用于手技术开发的微处理器,可用于手机、便携式终端(机、便携式终端(PDA)、网络存储设备及骨干网)、网络存储设备及骨干网(BackBone)路由器等。)路由器等。Intel PXA250微处理器芯片就是一款微处理器芯片就是一款集成了集成了32位位Intel XScale微处理器核的应用处理器。微处理器核的应用处理器。6STR710F系列嵌入式处理器简介系列嵌入式处理器简介 STR710F系列嵌入式处理器产品是意法半导体有限公司系列嵌入式处理器产品
32、是意法半导体有限公司(STMicroelectronics)生产的工业标准的)生产的工业标准的ARM7TDMI 32位位RISC CPU为内核,特别适用于需要尺寸紧凑、为内核,特别适用于需要尺寸紧凑、CPU功能强大功能强大的嵌入式系统和可升级的解决方案,如用户界面要求高的系统、的嵌入式系统和可升级的解决方案,如用户界面要求高的系统、工厂自动化系统和销售点(工厂自动化系统和销售点(POS)应用等。)应用等。24 嵌入式操作系统(嵌入式操作系统(Operating System,OS)是支持嵌入式系统)是支持嵌入式系统工作的操作系统,它负责嵌入式系统的全部软、硬件资源分配、调工作的操作系统,它负责
33、嵌入式系统的全部软、硬件资源分配、调度、控制和协调等活动,它是嵌入式应用软件的开发平台,用户的度、控制和协调等活动,它是嵌入式应用软件的开发平台,用户的其它应用程序都建立在嵌入式操作系统之上。嵌入式操作系统通常其它应用程序都建立在嵌入式操作系统之上。嵌入式操作系统通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。协议、图形界面、标准化浏览器等。嵌入式操作系统是嵌入式系统的灵魂,它使得嵌入式系统的开嵌入式操作系统是嵌入式系统的灵魂,它使得嵌入式系统的开发效率大大提高,系统开发的总工作量大大减少,
34、并且极大地提高发效率大大提高,系统开发的总工作量大大减少,并且极大地提高了嵌入式软件的可移植性。为了满足嵌入式系统的要求,嵌入式操了嵌入式软件的可移植性。为了满足嵌入式系统的要求,嵌入式操作系统必须包含操作系统的一些最基本的功能,用户可以通过作系统必须包含操作系统的一些最基本的功能,用户可以通过API函数来使用操作系统。函数来使用操作系统。嵌入式操作系统具有编码体积小、面向应用、实时性强、可移嵌入式操作系统具有编码体积小、面向应用、实时性强、可移植性好、可靠性高以及专用性强等特点。植性好、可靠性高以及专用性强等特点。15 常用的嵌入式操作系统常用的嵌入式操作系统151 嵌入式操作系统及其特点嵌
35、入式操作系统及其特点25 1Linux Linux是一种自由和开放源码的类是一种自由和开放源码的类Unix操作系统,它得名于计操作系统,它得名于计算机业余爱好者算机业余爱好者Linus Torvalds。目前存在着许多不同的。目前存在着许多不同的Linux,但它们都使用了但它们都使用了Linux内核。内核。Linux可安装在各种计算机硬件设备中,可安装在各种计算机硬件设备中,从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大从手机、平板电脑、路由器和视频游戏控制台,到台式计算机、大型机和超级计算机。型机和超级计算机。Linux是一个领先的操作系统,世界上运算最快是一个领先的操作系统,世
36、界上运算最快的的10台超级计算机运行的都是台超级计算机运行的都是Linux操作系统。一些流行的主流操作系统。一些流行的主流Linux发行版,包括发行版,包括Debian(及其派生物(及其派生物Ubuntu),),Fedora和和openSUSE等。等。2C/OS-II C/OS-II是一个可裁剪、源代码开放、结构小巧、抢先式的实是一个可裁剪、源代码开放、结构小巧、抢先式的实时嵌入式操作系统,主要用于中小型嵌入式系统,具有执行效率高、时嵌入式操作系统,主要用于中小型嵌入式系统,具有执行效率高、占用空间小、可移植性强、实时性能好和可扩展性强等优点。该操占用空间小、可移植性强、实时性能好和可扩展性强
37、等优点。该操作系统支持多达作系统支持多达64个任务,大部分嵌入式微处理器均支持个任务,大部分嵌入式微处理器均支持C/OS-II。152 几种常用嵌入式操作系统几种常用嵌入式操作系统26 3Windows CE Microsoft Windows CE是是Microsoft公司产品,是从整体上为有公司产品,是从整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统。它限资源的平台设计的多线程、完整优先权、多任务的操作系统。它的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子的模块化设计允许它对从掌上电脑到专用的工业控制器的用户电子设备进行定制。该操作系统的基本内核至少需要设备进
38、行定制。该操作系统的基本内核至少需要200 KB的的ROM。从。从游戏机到现在大部分的掌上电脑都采用了游戏机到现在大部分的掌上电脑都采用了Windows CE作为操作系统,作为操作系统,其缺点是系统软件价格过高,影响整个产品的成本控制。其缺点是系统软件价格过高,影响整个产品的成本控制。4 VxWorks VxWorks操作系统是美国操作系统是美国WindRiver公司于公司于1983年设计开发的年设计开发的一种实时操作系统。一种实时操作系统。VxWorks拥有良好的持续发展能力、高性能的拥有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在实时操作系统领域内占据一席之内核以及友好的用户
39、开发环境,在实时操作系统领域内占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高、精、尖技术及实时性要求极高的领域中,如事、航空、航天等高、精、尖技术及实时性要求极高的领域中,如卫星通信、军事演习、导弹制导、飞机导航等。但大多数的卫星通信、军事演习、导弹制导、飞机导航等。但大多数的VxWorks API是专用的,是专用的,VxWorks的价格昂贵。的价格昂贵。27 5 pSOS pSOS是是ISI公司研发的产品。公司研发的产品。pSOS是一个模块化、高性能、完是一个模块化、高性能、完全可扩展的实时操作
40、系统,专为嵌入式微处理器设计,全可扩展的实时操作系统,专为嵌入式微处理器设计,提供了一个提供了一个完全多任务环境,在定制的或商业的硬件上具有高性能和高可靠性。完全多任务环境,在定制的或商业的硬件上具有高性能和高可靠性。6 Palm OS 3COM公司的公司的Palm OS在掌上电脑和在掌上电脑和PDA市场上占有很大的市市场上占有很大的市场份额。它有开放的操作系统应用程序接口,开发商可以根据需要场份额。它有开放的操作系统应用程序接口,开发商可以根据需要自行开发所需的应用程序。在开发环境方面,可以在自行开发所需的应用程序。在开发环境方面,可以在Windows和和Macintosh下安装下安装 Pa
41、lm Pilot Desktop。7QNX QNX是由加拿大是由加拿大QSSL公司开发的分布式实时操作系统。该操公司开发的分布式实时操作系统。该操作系统既能运行于以作系统既能运行于以Intel X86、Pentium等等CPU为核心硬件环境下,为核心硬件环境下,也能运行于以也能运行于以PowerPC、MIPS等等CPU为核心的硬件环境。它广泛应为核心的硬件环境。它广泛应用于自动化、控制、机器人科学、电信、数据通信、航空航天、计用于自动化、控制、机器人科学、电信、数据通信、航空航天、计算机网络系统、医疗仪器设备、交通运输、安全防卫系统、算机网络系统、医疗仪器设备、交通运输、安全防卫系统、POS机
42、、机、零售机等任务关键型应用领域。零售机等任务关键型应用领域。28 8苹果苹果iOS iOS是由苹果公司为是由苹果公司为iPhone开发的操作系统。它是以开发的操作系统。它是以Darwin为基础的,主要是给为基础的,主要是给iPhone、iPod touch以及以及iPad使使用。原本这个系统名为用。原本这个系统名为iPhone OS,直到,直到2010年年6月月7日日WWDC大会上宣布改名为大会上宣布改名为iOS。iOS的系统架构分为四个层的系统架构分为四个层次:核心操作系统层、核心服务层、媒体层、可轻触层。系次:核心操作系统层、核心服务层、媒体层、可轻触层。系统操作占用大概统操作占用大概2
43、40MB的存储器空间。的存储器空间。9Android Android是一种以是一种以Linux为基础的开放源码操作系统,主为基础的开放源码操作系统,主要使用于便携设备。要使用于便携设备。Android操作系统最初由操作系统最初由Andy Rubin开开发,最初主要支持手机。发,最初主要支持手机。2005年由年由Google收购注资,并拉拢收购注资,并拉拢多家制造商组成开放手机联盟开发改良,逐渐扩展到平板电多家制造商组成开放手机联盟开发改良,逐渐扩展到平板电脑及其他领域上。脑及其他领域上。2010年末数据显示,仅正式推出两年的操年末数据显示,仅正式推出两年的操作系统的作系统的Android已经超
44、越称霸十年的诺基亚已经超越称霸十年的诺基亚Symbian系统,系统,跃居全球最受欢迎的智能手机平台。跃居全球最受欢迎的智能手机平台。29 16 嵌入式系统的设计方法嵌入式系统的设计方法 1嵌入式微处理器及操作系统的选择嵌入式微处理器及操作系统的选择 嵌入式微处理器可谓多种多样,品种繁多,而且都在一定领域嵌入式微处理器可谓多种多样,品种繁多,而且都在一定领域应用广泛。在嵌入式系统上运行的操作系统也有不少,如应用广泛。在嵌入式系统上运行的操作系统也有不少,如VxWorks、Linux,Nuc1ears、Windows CE等,即使在一个公司之内,也会同等,即使在一个公司之内,也会同时使用好几种处理
45、器,甚至几种嵌入式操作系统。时使用好几种处理器,甚至几种嵌入式操作系统。2开发工具的选择开发工具的选择 目前用于嵌入式系统设计的开发工具种类繁多,不仅各种操作目前用于嵌入式系统设计的开发工具种类繁多,不仅各种操作系统有各自的开发工具,系统有各自的开发工具,在同一系统下开发的不同阶段也使用不同在同一系统下开发的不同阶段也使用不同的开发工具。的开发工具。3对目标系统的观察与控制对目标系统的观察与控制 要使系统能正常工要使系统能正常工 作,软件开发者必须要对目标系统具有完全作,软件开发者必须要对目标系统具有完全的观察和控制能力,如硬件的各种寄存器、内存的观察和控制能力,如硬件的各种寄存器、内存 空间
46、,操作系统的空间,操作系统的信号量、消息队列、任务、堆栈等。信号量、消息队列、任务、堆栈等。161 嵌入式系统的总体考虑嵌入式系统的总体考虑30 162 嵌入式系统的设计步骤嵌入式系统的设计步骤图图15嵌入式系统设计的一般流程嵌入式系统设计的一般流程31163 嵌入式系统的设计方法嵌入式系统的设计方法 图图16 单片机系统和嵌入式系统的开发流程比较单片机系统和嵌入式系统的开发流程比较32图图17 传统嵌入式系统设计方法和嵌人式系统的软硬件协同设计方法的比较传统嵌入式系统设计方法和嵌人式系统的软硬件协同设计方法的比较 软硬件协同设计方法与传统设计相比有软硬件协同设计方法与传统设计相比有2个显著的
47、特点:个显著的特点:描述软、硬件使用统一的表示形式;描述软、硬件使用统一的表示形式;硬、软件划分可以选择硬、软件划分可以选择多种方案,直到满足要求。多种方案,直到满足要求。33 嵌入式系统的开发环境一般由三个部分组成:宿主机、嵌入式系统的开发环境一般由三个部分组成:宿主机、调试仿真器和目标机。其中宿主机用来完成源代码编辑、编调试仿真器和目标机。其中宿主机用来完成源代码编辑、编译、显示一部分运行结果等,操作系统可以是译、显示一部分运行结果等,操作系统可以是UNIX、Linux和和Windows等,硬件可以是等,硬件可以是PC和工作站等。目标机就是用户和工作站等。目标机就是用户嵌入式程序的运行环境
48、,嵌入式程序的运行环境,CPU可能是任何可能是任何CPU,常用的有,常用的有ARM、MIPS、PowerPC、DrangonBall等。操作系统常用的等。操作系统常用的有有Linux、C/OS-II、Windows CE、Vxworks、等,或者根、等,或者根本没有操作系统。本没有操作系统。使用集成开发软件开发基于使用集成开发软件开发基于ARM的应用软件,可以完成的应用软件,可以完成系统软件的编辑、编译、汇编和链接等工作;通过调试仿真系统软件的编辑、编译、汇编和链接等工作;通过调试仿真器可以在器可以在PC上实现对应用软件的调试;再使用烧写软件,将上实现对应用软件的调试;再使用烧写软件,将开发成
49、功的应用系统从宿主机向目标机下载移植,从而完成开发成功的应用系统从宿主机向目标机下载移植,从而完成整个开发过程。整个开发过程。17 嵌入式系统的应用开发嵌入式系统的应用开发171 嵌入式系统的开发环境嵌入式系统的开发环境34图18 嵌入式系统的开发与调试环境示意图35 1指令集模拟器指令集模拟器 部分嵌入式系统集成开发环境提供了指令集模拟器,可方便用部分嵌入式系统集成开发环境提供了指令集模拟器,可方便用户在户在PC上完成一部分简单的调试工作,但是由于指令集模拟器与真上完成一部分简单的调试工作,但是由于指令集模拟器与真实的硬件环境相差很大,因此即使用户是用指令集模拟器调试通过实的硬件环境相差很大
50、,因此即使用户是用指令集模拟器调试通过的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬的程序也有可能无法在真实的硬件环境下运行,用户最终必须在硬件平台上完成整个应用的开发。件平台上完成整个应用的开发。2驻留监控软件驻留监控软件 驻留监控软件(驻留监控软件(Resident Monitors)是一段运行在目标板上的)是一段运行在目标板上的程序,集成开发环境中的调试软件通过以太网口、并行端口、串行程序,集成开发环境中的调试软件通过以太网口、并行端口、串行端口等通信端口与驻留监控软件进行交互,由调试软件发布命令,端口等通信端口与驻留监控软件进行交互,由调试软件发布命令,通知驻留监控软件控制