嵌入式系统设计基础课件_第1页
嵌入式系统设计基础课件_第2页
嵌入式系统设计基础课件_第3页
嵌入式系统设计基础课件_第4页
嵌入式系统设计基础课件_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

第1章

嵌入式系统设计基础

§1.1嵌入式系统简介§1.2嵌入式处理器§1.3嵌入式操作系统

4/2/20231ARM9嵌入式系统设计与开发教程1.1嵌入式系统简介嵌入式系统已经广泛应用于各个科技领域和日常生活的每个角落,由于其本身的特性,使得我们很难发现它的存在。甚至一些从事嵌入式系统开发的科技人员也只知单片机,不知道嵌入式系统。本节从嵌入式系统的定义开始,阐述嵌入式系统的含义、特点等,以使读者加深对嵌入式系统的理解。§1.1.1嵌入式系统的定义§1.1.2嵌入式系统的组成§1.1.3嵌入式系统的特点§1.1.4嵌入式系统的应用§1.1.5嵌入式系统的发展2第1章嵌入式系统设计基础什么是嵌入式系统(EmbeddedSystem)?广义地讲,凡是不用于通用目的的可编程计算机设备,就可以算是嵌入式计算机系统。举例来说,个人计算机(PC)不是一种嵌入式系统,因为它是用于通用目的的系统。而一些电话系统就是采用个人计算机技术建立的嵌入式计算机系统,最典型的嵌入式系统如手机、可视电话等;另外还有一些嵌入式系统采用特殊的微处理器,如传真机、打印机等。狭义上而言,嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,适于应用系统对功能、可靠性、成本、体积和功耗严格要求的专用计算机系统。一般嵌入式系统的设计过程是:从产品定义开始,接着进行硬件设计,然后将软件或操作系统移植到硬件上,并且进行应用程序的开发,最后经过测试与调试后即开始销售或使用。根据英国电机工程师协会所做的定义“嵌入式系统是控制、监视或辅助某个设备、机器甚至工厂运行的设备”,嵌入式系统应该具备以下4个特性:执行特定的功能;以微处理器与外围设备构成核心;需要严格的时序与稳定性;全自动操作。3第1章嵌入式系统设计基础可以看出,虽然各种书籍对嵌入式系统的定义稍有差异,但是基本的思想和理解是相同的。我们可以从以下几个方面来理解嵌入式系统的含义:

嵌入式系统是面向用户、面向产品、面向应用的,必须与具体应用相结合才会具有生命力。正因为与具体应用的紧密结合,嵌入式系统才具有很强的专用性。

嵌入式系统将先进的半导体技术、计算机技术和电子技术,以及各个行业的具体应用相结合,是一个技术密集、资金密集、学科交叉和不断创新的知识集成系统。

由于嵌入式系统必须根据应用需要对硬件和软件进行裁剪,以满足应用系统对功能、可靠性、成本、体积和功耗的要求。因此,嵌入式系统的开发难度比较大,技术门槛较高。比较好的开发模式是:首先建立相对通用的硬件和软件基础,然后针对具体的应用做最少量的软硬件改动。由上述可以看出,嵌入式系统是一个外延极广的概念,凡是与产品结合在一起的、具有嵌入式系统特点的系统都可以称为嵌入式系统。5第1章嵌入式系统设计基础嵌入式系统的组成复位及振荡电路处理器定时器ROMRAM串行口中断控制并口输入/输出设备接口及驱动电路系统专用电路图1.1嵌入式系统的硬件组成嵌入式系统一般有3个主要的组成部分:

硬件。图1.1给出了嵌入式系统的硬件组成。其中,处理器是系统的运算核心;存储器(ROM、RAM)用来保存可执行代码,以及中间结果;输入输出设备完成与系统外部的信息交换;其他部分辅助系统完成功能。

应用软件。应用软件是完成系统功能的主要软件,它可以由单独的一个任务来实现,也可以由多个并行的任务来实现。

实时操作系统(Real-TimeOperatingSystem,RTOS)。该系统用来管理应用软件,并提供一种机制,使得处理器分时地执行各个任务并完成一定的时限要求。6第1章嵌入式系统设计基础嵌入式系统的关键在于结合系统硬件电路与其特定的软件,以达到系统运行性能成本的最高比。系统中硬件的设计包括微处理器及存储器电路的设计、网络功能设计、无线通信设计及接口电路设计,等等;而嵌入式软件则专门负责硬件电路的驱动、控制处理,以提升硬件产品的价值,是硬件产品不可或缺的重要部分,它常以固件(Firmware)的形式出现,如控制或驱动程序等。由于嵌入式系统领域的硬件、软件种类繁多,产品研发需要适应多种不同硬件与软件的组合。为了克服多样化,现在的研发方式多以平台化设计(Platform-BasedDesign,PBD)为主。平台化设计的基本思路是,以某一种基础的硬件与软件参考设计(referencedesign)为平台,自行加上额外所需要的硬件与软件,以适应多样化的产品需求,而不必每款产品都从头设计。这种设计方式可以缩短研发进程,加速产品的上市时间。这样的参考设计平台大多会由微处理器制造公司提供,例如,Intel、三星、Motorola等厂商提供微处理器的参考设计电路,以及建议的外围设备布局,包括内存、基本I/O甚至包括LCD控制接口、IDE设备接口,等等,并且配合某一款操作系统,例如,Linux、WinCE,以及相应的软件源代码。将这样的组合包以授权的方式提供给产品开发厂商来开发产品,一般这样的组合包称为“板级支持包”(BoardSupportPackage,BSP)。由于嵌入式系统的硬件强调的不是执行速度而是功能稳定,因此硬件设计方面的技术瓶颈并不高;反而在软件组件方面,强调系统集成及友善的用户界面。随着网络与无线通信的发展需要,软件组件的发展更加重要。未来的软件开发将逐渐由现在的简易窗口与低速通信,向高速通信与多样化的用户界面发展。7第1章嵌入式系统设计基础嵌入式系统的应用MIT的DavidClark首次提出的“后PC时代”(post-PCera)一词,指出个人计算机提供的只是在这个过渡时期的解决方案,而非最佳的方式,最终发展的应用将不会停留在桌面上的个人计算机,而是从桌面上蔓延下来,进入用户的日常生活中。从技术层面来讲,将来的嵌入式系统应用将向软硬件系统集成、SOC设计、应用程序,以及内容服务这几个方面发展。

系统:嵌入式操作系统除了老牌嵌入式操作系统厂商VxWORKs、QNX、Nucleus等之外,新兴的主要竞争产品有PalmOS、WindowsCE、Linux等。其中EmbeddedLinux操作系统因为免费授权的特性,已经被很多国际型厂商采用。

集成式芯片:SOC“系统单芯片”(System-On-Chip,SOC)研究的领域包括创新系统设计、系统平台建立,以及相关硅知识产权(SiliconIntellectualProperty,SIP)的设计、验证与集成等。

应用软件嵌入式软件一般可以分为客户端的应用软件和服务器端的集成软件。服务器端的软件较为单一,客户端由于应用领域广泛,开发出的软件也是多种多样的。

服务由于嵌入式产品的便携性,以及消费类电子产品输入输出的多媒体化,再加上嵌入式产品与网络的紧密结合,嵌入式产品相关的增值服务变得更加重要。9第1章嵌入式系统设计基础嵌入式系统的发展嵌入式系统的发展与通用计算机技术的发展密不可分,但是又有着自己独立发展的道路。由于应用目标的不同,使得这两种体系的发展方向有所不同。通用计算机系统的技术要求是高速、海量的数值计算;技术发展方向是总线速度的无限提升,存储容量的无限扩大。由于嵌入式计算机系统要嵌入到目标体系中,实现的是对目标的智能化控制,因此,它有着与通用计算机系统完全不同的技术要求与技术发展方向。嵌入式系统的技术发展方向是与目标系统密切相关的嵌入性能、控制能力与控制的可靠性。Intel公司于1971年推出有史以来第一个4位微处理器4004,接着德州仪器与国家半导体公司也随后推出各自的4位微处理器。1974年Intel公司又推出了8位微处理器芯片8080,随后Zilog公司的Z-80、国家半导体公司的NSC800及Intel公司的8085等相继问世。第一个商品化的16位嵌入式系统微处理器是德州仪器公司所推出的9940,因为它的功能少,而且指令集贫乏,并未引起很大的注意。大家比较熟悉的16位微处理器产品是Intel公司所开发的8086微处理器及Motorola公司所开发的68000微处理器。当时IBM所推出的个人计算机即是采用8086作为数据处理及控制核心。通用微处理器沿着8086/8088、80286、80386、80486、Pentium、PentiumII、PentiumIII、Pentium4的线路发展,主频从十几MHz到现在的3GHz,字长也从8086的16位发展到了现在AMD64和PentiumD的64位。整体微型计算机的运算能力和存储能力都实现了海量的增长。10第1章嵌入式系统设计基础嵌入式系统起源于微型计算机时代,然而,由于微型计算机的体积、价位、可靠性都无法满足嵌入式应用的要求。因此,嵌入式系统必须走独立发展道路,即单芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。在探索单片机的发展道路时,有过两种模式,即“Σ模式”与“创新模式”。“Σ模式”本质上是通用计算机直接单芯片化的模式,它将通用计算机系统中的基本单元进行裁剪后,集成在一个芯片上,构成单片微型计算机;“创新模式”则完全按嵌入式应用要求设计全新的、满足嵌入式应用要求的体系结构、微处理器、指令系统、总线方式、管理模式等。Intel公司的MCS-48、MCS-51就是按照创新模式发展起来的单片形态的嵌入式系统(单片微型计算机)。MCS-51是在探索MCS-48的基础上,进行全面完善的嵌入式系统,它定位在具有可伸缩性并且低成本的产品控制单元,至今仍被广泛地使用。历史证明,“创新模式”是嵌入式系统独立发展的正确道路,MCS-51的体系结构也因此成为单片嵌入式系统的典型结构体系。11第1章嵌入式系统设计基础嵌入式计算机系统起源于微型机时代,但很快就进入到独立发展的单片机时代。在单片机时代,嵌入式系统以器件的形式迅速进入到传统电子技术领域中,以电子技术应用工程师为主体,实现传统电子系统的智能化,而计算机专业人员并没有真正进入单片机应用领域。因此,电子技术应用工程师以自己习惯的电子技术应用模式,从事单片机的应用开发。这种应用模式最重要的特点是:软、硬件的底层性和随意性;目标系统专业技术的密切相关性,以及缺少计算机工程设计方法的指导。虽然在单片机时代,计算机专业淡出了嵌入式系统领域,但随着后PC时代的到来,网络、通信技术的高速发展;同时,嵌入式系统软、硬件技术有了很大的提升,为计算机专业人员介入嵌入式系统应用开辟了广阔天地。计算机专业人士的介入,形成的计算机应用模式带有明显的计算机的工程应用特点,即基于嵌入式系统软、硬件平台,以网络、通信为主的非嵌入式底层应用。由于嵌入式系统最大、最广、最底层的应用是传统电子技术领域的智能化改造,因此,以通晓该专业的电子技术队伍为主,用最少的嵌入式系统软、硬件开销;以8位机为主,带有浓重的电子系统设计色彩的电子系统应用模式会长期存在下去。另外,计算机专业人员会越来越多地介入嵌入式系统应用,但限于专业知识的差异,其应用领域会集中在网络、通信、多媒体、电子商务等方面,不可能替代原来电子工程师在控制、仪器仪表、机械电子等方面的嵌入式应用。因此,客观存在的两种应用模式会长期并存下去,在不同的领域中相互补充。电子系统设计模式应该从计算机应用设计模式中,学习计算机工程方法和嵌入式系统软件技术;计算机应用设计模式应该从电子系统设计模式中,了解嵌入式系统应用的电路系统特性、基本的外围电路设计方法和目标系统的基本要求等。13第1章嵌入式系统设计基础1.2嵌入式处理器嵌入式系统的核心部件是嵌入式处理器,据不完全统计,到2000年全世界嵌入式处理器的品种总量已经超过1000种,流行体系结构有30多个系列,其中8051体系的占了多半。生产8051单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近百种。现在几乎每个半导体制造商都生产嵌入式处理器,而且越来越多的公司有自己的处理器设计部门。嵌入式处理器的寻址空间一般从64KB到16MB,处理速度从0.1MIPS到2000MIPS,常用封装从8个引脚到144个引脚。§1.2.1嵌入式处理器的分类§1.2.2ARM微处理器§1.2.3Nios微处理器§1.2.4DSP§1.2.5嵌入式微处理器的选型原则14第1章嵌入式系统设计基础嵌入式处理器的分类微处理器可以分成几种不同的等级,一般用字符宽度来区分:8位微处理器大部分都是用在低端应用上,也包括了外围设备或是内存的控制器;16位微处理器通常用在比较精密的应用上,需要比较长的字符宽度来处理;32位微处理器,大部分是RISC的微处理器,则提供高性能的运算能力,以满足需要大量运算的应用。但是从应用的角度来划分,嵌入式处理器包含了下面几种类型。1.嵌入式微处理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微处理器的基础是通用计算机中的CPU。在应用中,将微处理器装配在专门设计的电路板上,只保留与嵌入式应用有关的功能,这样可以大大减小系统体积和功耗。为了满足嵌入式应用的特殊要求,嵌入式微处理器虽然在功能上和标准微处理器基本是一样的,但在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。嵌入式处理器目前主要有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM系列等。嵌入式微处理器又可分为CISC和RISC两类。大家熟悉的大多数台式PC都是使用CISC微处理器,如Intel的x86。RISC结构体系有两大主流:SiliconGraphics公司(硅谷图形公司)的MIPS技术;ARM公司的AdvancedRISCMachines技术。此外,Hitachi(日立公司)也有自己的一套RISC技术SuperH。15第1章嵌入式系统设计基础2、嵌入式微控制器(MicrocontrollerUnit,MCU)嵌入式微控制器又称单片机,就是将整个计算机系统集成到一块芯片中。嵌入式微控制器一般以某一种微处理器内核为核心,芯片内部集成ROM、RAM、总线逻辑、定时器等各种必要的功能模块。与嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降,可靠性提高。微控制器是目前嵌入式系统应用的主流。由于微控制器的片上资源一般比较丰富,适合于控制,因此称微控制器。为适应不同的应用需求,一般一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都是一样的,不同的是存储器和外设的配置及封装。这样可以最大限度地与应用需求相匹配,从而减小功耗和成本。嵌入式微控制器目前的品种和数量最多,比较有代表性的通用系列包括8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等。另外,还有许多半通用系列,如支持USB接口的MCU8XC930/931、C540、C541。值得注意的是,近年来提供X86微处理器的著名厂商AMD公司,将Am186CC/CH/CU等嵌入式处理器也称为Microcontroller,Motorola公司把以PowerPC为基础的PPC505和PPC555列入单片机行列,TI公司也将其TMS320C2XXX系列DSP作为MCU来推广应用。17第1章嵌入式系统设计基础3.嵌入式DSP(EmbeddedDigitalSignalProcessor,EDSP)DSP对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面,DSP算法正在大量进入嵌入式领域。推动嵌入式DSP发展的一个重要因素是嵌入式系统的智能化。例如,各种带有智能逻辑的消费类产品、生物信息识别终端、带有加解密算法的键盘、ADSL接入、实时语音压缩解压系统、虚拟现实显示,等等。这类智能化算法一般运算量都比较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP的长处所在。嵌入式DSP有两个发展来源,一是DSP经过单片化、EMC改造、增加片上外设成为嵌入式DSP,TI的TMS320C2000/C5000等属于此范畴;二是在通用单片机或片上系统(SOC)中增加DSP协处理器,例如Intel的MCS-296。嵌入式DSP比较有代表性的产品是TexasInstruments的TMS320系列和Motorola的DSP56000系列。TMS320系列处理器包括用于控制的C2000系列,用于移动通信的C5000系列,以及性能更高的C6000和C8000系列。DSP56000目前已经发展成为DSP56000,DSP56100,DSP56200和DSP56300等几个不同系列的处理器。DSP的设计者们把重点放在了处理连续的数据流上。如果嵌入式应用中强调对连续的数据流的处理及高精度复杂运算,则应该选用DSP器件。18第1章嵌入式系统设计基础4.嵌入式片上系统(SystemOnChip)随着VLSI设计的普及和半导体工艺的迅速发展,可以在一块硅片上实现一个更为复杂的系统,这就是SOC(Systemon-Chip)。各种通用处理器内核和其他外围设备都将成为SOC设计公司的标准库中的器件,用标准的VHDL等硬件描述语言描述。用户只需定义出整个应用系统,仿真通过后就可以将设计图交给半导体工厂制作芯片样品。这样,整个嵌入式系统大部分都可以集成到一块芯片中去,应用系统的电路板将变得很简洁,这将有利于减小体积和功耗,提高系统的可靠性。SOC可以分为通用和专用两类。通用系列包括Motorola的M-Core、某些ARM系列器件、Echelon和Motorola联合研制的Neuron芯片等。专用SOC一般专用于某类系统中,不为一般用户所知。一个有代表性的产品是Philips的SmartXA,它将XA单片机内核和支持超过2048位复杂RSA算法的CCU单元制作在一块硅片上,形成一个可加载JAVA或C语言的专用的SOC,可用于Internet安全方面。19第1章嵌入式系统设计基础2.ARM微处理器的特点,采用RISC架构的ARM微处理器具有如下特点:

体积小、低功耗、低成本、高性能;

支持Thumb(16位)/ARM(32位)双指令集,兼容8位/16位器件;

大量使用寄存器,指令执行速度更快;

大多数数据操作都在寄存器中完成;

寻址方式灵活简单,执行效率高;

指令长度固定3.ARM微处理器系列ARM7系列ARM9系列ARM9E系列ARM10E系列SecurCore系列Intel的StrongARMIntel的Xscale其中,ARM7、ARM9、ARM9E和ARM10E为4个通用处理器系列,每一个系列提供一套相对独特的性能来满足不同应用领域的需求。如ARM7系列适用于工业控制、网络设备、移动电话等应用;ARM9、ARM9E和ARM10E系列则更适合无线设备、消费类电子产品的设计。SecurCore系列专门为安全要求较高的应用而设计。21第1章嵌入式系统设计基础4.ARM微处理器的应用选型从应用的角度出发,在选择ARM微处理器时所应考虑的主要问题有以下几个方面。ARM微处理器内核的选择。从前面所介绍的内容可知,ARM微处理器包含一系列的内核结构,以适应不同的应用领域,如果用户希望使用WinCE或标准Linux等操作系统以减少软件开发时间,就需要选择ARM720T以上带有MMU(MemoryManagementUnit)功能的ARM芯片,如ARM720T、ARM920T、ARM922T、ARM946T、Strong-ARM都带有MMU功能。

系统的工作频率。系统的工作频率在很大程度上决定了ARM微处理器的处理能力。ARM7系列微处理器的典型处理速度为0.9MIPS/MHz,常见的ARM7芯片系统主时钟为20MHz~133MHz,ARM9系列微处理器的典型处理速度为1.1MIPS/MHz,常见的ARM9的系统主时钟频率为100MHz~233MHz,ARM10最高可以达到700MHz。

芯片内存储器的容量。大多数的ARM微处理器片内存储器的容量都不大,需要用户在设计系统时外扩存储器,但也有部分芯片具有相对较大的片内存储空间。

片内外围电路的选择。除ARM微处理器核以外,几乎所有的ARM芯片均根据各自不同的应用领域,扩展了相关功能模块,并集成在芯片之中,我们称之为片内外围电路,如USB接口、IIS接口、LCD控制器、键盘接口、RTC、ADC和DAC、DSP协处理器等。22第1章嵌入式系统设计基础Nios微处理器Nios是Altera公司特有的基于通用FPGA构架的软CPU内核。在可编程逻辑器件中,用户使用CPU,绝大多数并不是为了追求性能,而是为了PLD特有的灵活性和可定制性,同时也可以提高系统的集成度,这些正是Nios系统天生具备的。Nios是Altera公司开发的嵌入式CPU软内核,几乎可以在Altera所有的FPGA产品上实现。器件设计软件说明StratixIIQuartusII最高性能,最高密度,特性丰富的平台,丰富的存储器资源Stratix高性能,高密度,性能丰富的平台,丰富的存储器资源StratixGX高性能,带有高速穿行收发器的结构Cyclone

低成本,ASIC的替代品——适合价格敏感的应用APEXII高密度,高性能平台,带有高速差分I/O标准的支持Mercury高性能,高带宽,中密度平台,包含有时钟恢复(CDR)电路Excalibur高性能,硬核处理器方案APEX20K高性能,中高密度平台FLEX10K低成本,中低密度平台ACEX1K低成本,中低密度平台HardCopy高密度,大批量,ASIC的替代品23第1章嵌入式系统设计基础NiosⅡ处理器系统包括一个可配置的CPU软内核、FPGA片内的存储器和外设、片外的存储器和外设接口等。一个典型的NiosII处理器系统如图所示。在图中,整个NiosII处理器系统包括NiosII处理器内核(包括调试模块)、Avalon交换总线、片内用户逻辑和片上外设。25第1章嵌入式系统设计基础系统中的外设,如SDRAM控制器、片内ROM、三态门、UART、定时器、LCD显示驱动电路、通用I/O、以太网接口和CompactFlash接口等都是使用FPGA内部的逻辑单元和RAM资源实现的。NiosII是一个可灵活配置的软内核处理器。所谓可灵活配置是指,Altera提供的处理器不是一个固定的微控制器,用户可以根据性能或成本的要求,灵活地增加或裁减一些系统特性和外设。为了满足应用的要求,用户甚至可以在系统中放置多个NiosII处理器内核。由于应用领域的不同,不同用户的系统设计可能差别很大。要求用户根据自己的系统需求,选择合适的FPGA规模。在这些系统中,如果用户逻辑需要和NiosII处理器系统间相互通信,用户逻辑可以直接挂在片内的Avalon交换总线上,而且访问时序可以由用户自己定义。所谓软内核,是指NiosII是以一种“软”(加密网表)的设计形式交给客户使用的,它可以在几乎任何Altera的FPGA内部实现。用户根据应用的需要定制NiosII处理器的数量和类型,也可以自己定义需要的外设种类和数量,还可以自由分配外设的地址空问。用户甚至可以自己定制NiosII的指令,使得一些复杂的操作在用户指令中实现,这样可以提高某些特殊操作的性能。在NiosII系统的开发过程中,可以认为硬件细节对软件开发人员是透明的。NiosII的软件开发环境被称为NiosⅡ集成开发环境(NiosⅡIDE)。NiosIIIDE是基于EclipseIDE和GNUC/C++编译器的,软件开发人员可以很容易地掌握此开发环境的操作,并利用它对NiosⅡ系统的软件进行编译、仿真和调试。NiosIIIDE同时提供了FlashProgrammer的功能,在软件调试完成以后,可以通过FlashProgrammer把应用程序烧到FlashROM中,使得Nios系统在上电配置完成以后,自动从Flash中开始运行程序。26第1章嵌入式系统设计基础嵌入式微处理器的选型原则

调查市场上已有的CPU供应商。CPU的处理速度。

技术指标。

处理器的低功耗。

处理器的软件支持工具。

处理器是否内置调试工具。

处理器供应商是否提供评估板。选择一个嵌入式系统运行所需要的微处理器,在很多时候运算速度并不是最重要的考虑内容,有时候也必须考虑微处理器制造厂商对于该微处理器的支持态度,有些嵌入式系统产品一用就是几十年,如果过了五六年之后需要维修,却已经找不到该种微处理器的话,势必全部产品都要淘汰,所以许多专门生产嵌入式系统微处理器的厂商,都会为嵌入式系统的微处理器留下足够的库存或是生产线,即使过好几年之后还可以找到相同型号的微处理器或者完全兼容的替代品。29第1章嵌入式系统设计基础1.3嵌入式操作系统提到桌面型计算机的操作系统,全世界超过九成的PC使用的是微软(Microsoft)公司的Windows操作系统,其他也有一些颇具知名度的操作系统,如苹果(Apple)公司的MacOS,工作站级计算机常用的Sun公司的Solaris,还有Linux或是FreeBSD等免费的操作系统。但是提到嵌入式系统中所使用的操作系统,一般用户就很少了解了。由于大型嵌入式系统需要完成复杂的功能,所以需要操作系统来完成各任务之间的调度。由于桌面型操作系统的体积,以及实时性等特性不能满足嵌入式系统的要求,从而促进了嵌入式操作系统的发展1.3.1操作系统的概念和分类1.3.2Linux1.3.3C/OS1.3.4WindowsCE30第1章嵌入式系统设计基础操作系统的概念和分类操作系统(OS,OperatingSystem)的基本思想是隐藏底层不同硬件的差异,向在其上运行的应用程序提供一个统一的调用接口。应用程序通过这一接口实现对硬件的使用和控制,不必考虑不同硬件操作方式的差异。操作系统示意图如下所示。很多产品厂商选择购买操作系统,在此基础上开发自己的应用程序,形成产品。事实上,因为嵌入式系统是将所有程序,包括操作系统、驱动程序、应用程序的程序代码全部烧写进ROM里执行,所以操作系统在这里的角色更像是一套函数库(Library)。操作系统主要完成三项任务:内存管理、多任务管理和外围设备管理。应用程序操作系统系统界面驱动程序硬件硬件硬件硬件31第1章嵌入式系统设计基础嵌入式操作系统(EmbeddedOperatingSystem)负责嵌入式系统的全部软、硬件资源的分配、调度、控制、协调;它必须体现其所在系统的特征,能够通过加载/卸载某些模块来达到系统所要求的功能。EOS是相对于一般操作系统而言的,它除具备了一般操作系统最基本的功能,如任务调度、同步机制、中断处理、文件处理等外,还有以下特点。

强稳定性,弱交互性:嵌入式系统一旦开始运行就不需要用户过多的干预,这就要求负责系统管理的EOS具有很强的稳定性;

较强的实时性:EOS实时性一般较强,可用于各种设备的控制当中;

可伸缩性:开放、可伸缩性的体系结构;

外设接口的统一性:提供各种设备驱动接口。嵌入式系统的操作系统核心通常要求体积要很小,因为硬件ROM的容量有限,除了应用程序之外,不希望操作系统占用太大的存储空间。事实上,嵌入式操作系统可以很小,只提供基本的管理功能和调度功能,缩小到10KB到20KB以内的嵌入式操作系统比比皆是,相信用惯微软的Windows系统的用户,可能会觉得不可思议。不同的应用场合会产生不同特点的嵌入式操作系统,但都会有一个核心(Kernel)和一些系统服务(SystemService)。操作系统必须提供一些系统服务供应用程序调用,包括文件系统、内存分配、I/O存取服务、中断服务、任务(Task)服务、时间(Timer)服务等,设备驱动程序(DeviceDriver)则是要建立在I/O存取和中断服务上的。有些嵌入式操作系统也会提供多种通信协议,以及用户接口函数库等。32第1章嵌入式系统设计基础

实时操作系统(Real-TimeOperatingSystem,RTOS),是指操作系统本身要能在一个固定时限内对程序调用(或外部事件)做出正确的反应,亦即对时序与稳定性的要求十分严格。目前国际较为知名的实时操作系统有WindRiver的“VxWorks”、QNX的“NeutrinoRTOS”、AcceleratedTechnology的“NucleusPlus”、Radisys的“OS/9”、MentorGraphic的“VRTX”、LynuxWorks的“LynuxOS”,以及EmbeddedLinux厂商所提供的EmbeddedLinux版本,如TimeSys的“TimeSysLinux/RealTime”、FSMLabs的“RTLinux”、LynuxWorks的“BlueCatRT”等。其产品主要应用于航天、国防、医疗、工业控制等领域,这些领域的设备需要高度精确的实时操作系统,以确保系统任务的执行不会发生难以弥补的意外。目前,实时操作系统也开始向信息家电等消费类电子产品领域扩展。例如WindRiver的“VxWorks”原本从航天、国防领域起家,如今也应用在网络电话、视频转换器等消费类电子产品上。

通用型操作系统:执行性能与反应速度比起实时操作系统,相对没有那么严格。目前较知名的有Microsoft的“WindowsCE”、Palmsource的“PalmOS”、Symbian的“SymbianOS”以及EmbeddedLinux厂商所提供的各式EmbeddedLinux版本,如Metrowerks的“Embedix”、TimeSys的“TimeSysLinux/GPL”、LynuxWorks的“BlueCatLinux”、PalmPalm的“Tynux”等,其产品主要应用于手持式设备、各式联网家电、网络设备等领域。嵌入式操作系统的性能通常取决于核心程序,而核心的工作主要在任务管理(TaskManagement)、任务调度(TaskScheduling)、进程间的通信(IPC)、内存管理(MemoryManagement)。33第1章嵌入式系统设计基础LinuxLinux是目前最为流行的一款开放源代码的操作系统,从1991年问世到现在,不仅在PC平台,还在嵌入式应用中大放光彩,逐渐形成了与其他商业EOS抗衡的局面。目前正在开发的嵌入式系统中,70%以上的项目选择Linux作为嵌入式操作系统。经过改造后的嵌入式Linux具有适合于嵌入式系统的特点。

内核精简,高性能、稳定;

良好的多任务支持;

适用于不同的CPU体系架构:支持多种体系架构,如X86、ARM、MIPS、ALPHA、SPARC等;

可伸缩的结构:可伸缩的结构使Linux适合于从简单到复杂的各种嵌入式应用;

外设接口统一:以设备驱动程序的方式为应用提供统一的外设接口;

开放源码,软件资源丰富:广泛的软件开发者的支持,价格低廉,结构灵活,适用面广;

完整的技术文档,便于用户的二次开发。34第1章

温馨提示

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

评论

0/150

提交评论