1嵌入式系统设计2第1章嵌入式系统基础你所要知道的嵌入式系统,就在你的身边,就在你的手头本章内容31.1嵌入式系统简介11.2嵌入式系统的历史与发展21.3嵌入式操作系统31.4嵌入式操作系统的选型原则44本章主要内容主要内容:什么是嵌入式系统嵌入式系统的组成与特点嵌入式系统的发展历史与应用领域常见的几种典型嵌入式操作系统介绍如何进行嵌入式系统选型的。基本要求:认识、理解嵌入式系统无处不在的特点,初步掌握嵌入式系统的组成结构,激发学习嵌入式系统的兴趣。本章主要内容51.1嵌入式系统简介什么是嵌入式系统嵌入式系统的组成嵌入式系统的特点嵌入式系统的分类嵌入式系统与PC机的区别1.1嵌入式系统简介61.1.1什么是嵌入式系统(1)广义上对嵌入式系统的定义:凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。(2)根据IEEE(国际电气电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助设备、机器或甚至工厂操作的装置”(原文为:DevicesUsedtoControl,MonitororAssisttheOperationofEquipment,MachineryorPlants)。(3)国内普遍认同的嵌入式系统的定义:以应用为中心,以计算机技术为基础,软硬件可裁剪,适合于应用系统对其功能、可靠性、成本、体积、功耗等方面严格要求的专用计算机系统。(4)应用上对嵌入式系统通俗的定义:嵌入式系统是一种专用于某个应用或者产品的基于计算机的系统。该系统可以结合处理器的系统电路和专属软件,成为一个独立的系统或者更大的系统的一部分。71.1.2嵌入式系统的组成从宏观上讲,嵌入式系统也是由硬件结构和软件结构组成。▪硬件结构包括核心处理器、定时器、存储器等一系列微电子芯片与器件,▪软件结构是由嵌入在存储器中的嵌入式操作系统(EmbeddedOperatingSystem,简称EOS)和控制应用软件组成。从应用上讲,嵌入式系统是硬件和软件结构相结合的综合体,共同实现诸如实时控制、监视、管理、移动计算、数据处理等各种自动处理任务。简言之,嵌入式系统主要由嵌入式处理器、相关支撑硬件、嵌入式操作系统及应用软件系统等组成,它是可独立工作的“器件”。1.1.2嵌入式系统的组成8嵌入式系统的组成结构9嵌入式系统硬件结构嵌入式系统硬件结构的核心是嵌入式处理器,其作用是控制、辅助系统运行的硬件单元。嵌入式处理器分为:嵌入式微处理器(MicroProcessorUnit,MPU)嵌入式微控制器(MicroControllerUnit,MCU)嵌入式DSP(DigitalSignalProcessor)嵌入式片上系统(SystemOnChip,SOC)10嵌入式处理器分类11(1)嵌入式微处理器(MPU)相同点:MPU的作用与通用计算机中的CPU类似不同点:在具体应用时只保留了与嵌入式应用紧密相关的功能硬件,去除了冗余功能在实际应用中,MPU装配在专门设计的电路板上俗称“核心板”优点体积小、重量轻、成本低、可靠性高流行类型有Am186/88、386EX、SC-400、PowerPC、68000、MIPS、ARM/StrongARM系列等。12(2)嵌入式微控制器(MCU)MCU俗称单片机,是将微处理器、存储器(少量的RAM,ROM或两者都有)和其它外设封装在同一片集成电路内MCU的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。有代表性微控制器有MCS-8051、MCS-251、MCS-96/196/296、P51XA、C166/167系列以及MCU8XC930/931、C540、C541系列,还有支持I2C、CAN-Bus、LCD及众多专用MCU和兼容系列。13(3)嵌入式DSPDSP是专门用于信号处理方面的嵌入式处理器DSP特点是对离散时间信号进行极快地处理与计算,提高了编译效率和执行速度。DSP已经在数字滤波、FFT、谱分析、图像处理等领域发挥着巨大作用。广泛应用的是TI公司的TMS320C2000/C5000/C6000系列,Intel的MCS-296和Siemens的TriCore也有各自的应用对象。14(4)嵌入式片上系统(SOC)SOC指的是在单个芯片上集成嵌入式处理器内核、存储器以及外围电路等构成一个完整的嵌入式系统,包含了嵌入式软件的全部内容。SOC最大特点是直接在处理器片内嵌入操作系统的代码模块,成功实现了软硬件无缝结合,系统特别简洁。SOC芯片在声音、图像、影视、网络及系统逻辑等应用领域中的作用巨大典型的SOC产品是Philips的SmartXA,Siemens的TriCore,Motorola的M-Core等。15嵌入式处理器小结硬件可裁减特性,方便扩展处理器结构,软件固化特性,具有很强的存储区保护功能,避免了在软件模块之间出现错误,同时也有利于软件诊断;支持实时和多任务能力,较短的中断响应时间,内部代码运行时间和实时操作系统的执行时间可减少到最低限度;低功耗,功耗能达到mW级。16ARM简介ARM(AdvancedRISCMachines)是嵌入式系统业界著名品牌和技术。专门从事基于RISC技术芯片设计开发的公司名字,该公司主要出售芯片设计技术的授权。在全世界有几十家大的半导体公司都使用ARM公司的授权,也代表了嵌入式处理技术。ARM技术获得更多的第三方工具、制造、软件的支持,使整个系统成本降低,产品更容易进入市场被消费者所接受,具有竞争力。ARM微处理器约占据了32位RISC微处理器75%以上的市场份额。ARM微处理器已遍及消费类电子产品、工业控制、通信系统、网络系统、无线系统等各类产品市场。17嵌入式系统软件结构嵌入式操作系统和应用软件。嵌入式操作系统不仅起到管理协调嵌入式处理器、存储器、电源等硬件资源的作用,还为应用软件提供统一服务。嵌入式应用软件则是根据对象设备或产品编制出来的解决具体任务的专用代码,由用户直接开发或提出开发要求。嵌入式系统上的应用软件通常是暂时不变的,所以常称为“固件”。181.1.3嵌入式系统的特点嵌入性。是指在某个对象体系中嵌入了计算机系统内核。专用性。是指嵌入式系统只是被用于解决一项或者几项特殊任务,每个嵌入式系统都面向一个特定应用。可裁剪性。是软硬件设计高效、可裁减的完整的计算机体系结构。集成性。是各种先进技术和各行业具体应用相结合的产物。精简性。系统内核小,没有明显的系统软件与应用软件区分。交叉编译。不具备自举开发能力,需要开发工具和环境支持。开发过程中利用宿主机和目标机思想。生命周期长。嵌入式系统与具体应用有机结合在一起,产品升级换代也是同步进行。1.1.3嵌入式系统的特点191.1.4嵌入式系统的分类根据嵌入式系统的规模和复杂度将嵌入式系统分为小型嵌入式系统、中型嵌入式系统和复杂嵌入式系统。小型嵌入式系统一般采用8位或者16位微控制器设计,硬件与软件复杂度很小,需要进行板级设计,可以电池驱动。软件开发时可以使用控制器自带专用编辑器、汇编器和交叉汇编器。像各类智能IC卡、医用电子器械、鼠标、打印机控制器、工业温度记录仪等。1.1.4嵌入式系统的分类201.1.4嵌入式系统的分类中型嵌入式系统是采用一个16位或者32位的微控制器、微处理器ARM或者DSP设计,硬件与软件复杂度都比较大,硬件扩充了总线接口、网络接口,以解决硬件复杂性的问题。对于软件开发如物理和虚拟设备驱动程序、任务调度优化、中断处理机制等程序,可以使用专用的编程工具如C语言、RTOS、源代码设计工具、调试器和集成开发环境(ODE)和软件调试工具。像计算机互联网上的各种路由器、交换机、中继器,图像处理、模式识别机,手持设备PAD,上网笔记本、银行系统的ATM机等。211.1.4嵌入式系统的分类复杂嵌入式系统的软件与硬件都非常复杂,采用可升级的处理器或者片上系统SOC和可编程逻辑阵列FPGA,需要硬件和软件协同设计。可软件硬化如加密和解密算法、离散余弦变换和逆变换算法,TCP/IP协议栈和网络驱动程序功能;也可将某些硬件资源的功能用软件实现。除了必要的编程工具如C语言、RTOS和其他编程工具等外,这样的系统还需要十分昂贵开发工具,甚至还必须为这些系统开发专门的编译器。像实时视频嵌入式系统、高速网络接口、无线LAN设备、太空救生舱等。221.1.5嵌入式系统与PC机的区别最根本的区别是嵌入式系统是专用系统,而PC机是公共平台。在系统资源方面,嵌入式系统资源紧缺,没有编译器等相关开发工具;而PC机系统资源充足,有丰富的编译器、集成开发环境、调试器等。在组成结构上,嵌入式系统是面向特定应用的处理器,总线和外设一般集成在处理器内部,软硬件紧密结合;而PC机是通用处理器、标准总线和外设,软硬件相对独立。在软件危机方面,嵌入式系统应用软件一般不能重新编程开发,而PC机应用程序可以重新编程。嵌入式系统软件故障导致的故障后果比PC大得多。1.1.5嵌入式系统与PC机的区别231.1.5嵌入式系统与PC机的区别在效率性能方面,嵌入式系统大都有成本、功耗和实时性要求,而PC机一般没有实时性要求;在开发平台与开发方式方面,嵌入式系统需要专用的开发工具,采用交叉编译方式,开发平台一般是通用计算机,运行平台是嵌入式系统;而PC机开发平台和运行平台都是通用计算机。在外观形式类型上,嵌入式系统是“看不见”的嵌入了计算智能的电子装置或设备,且形式多样、应用领域广,以应用领域分类;而PC机是实实在在的计算机,按其体系结构、运算速度和规模可分为大型机、中型机、小型机和微机。241.2嵌入式系统的历史与发展嵌入式系统的历史嵌入式系统的应用领域嵌入式系统的发展趋势1.2嵌入式系统的历史与发展251.2.1嵌入式系统的历史嵌入式系统诞生于微型机时代,可以追溯到20世纪七十年代单片机的产生时期;1976年Intel公司生产出了第一个单片机8048开始,Motorola公司同时推出了68HC05,Zilog公司也推出了Z80系列,嵌入式系统时期;到了80年代初,Intel成功研制了MCS-51单片机,开创了嵌入式系统独立发展时代;90年代以后,随着嵌入式系统实时性要求的提高和软件规模的不断上升,实时多任务操作系统(RTOS)逐步成为国际嵌入式系统的主流。1.2.1嵌入式系统的历史261.2.2嵌入式系统的应用领域信息家电家庭智能管理系统POS网络及电子商务工业控制交通管理环境工程与自然机器人1.2.2嵌入式系统的应用领域271.2.3嵌入式系统的发展趋势嵌入式系统智能化自然友好的人机界面规模化跨行业协作进一步的网络支持小尺寸、微功耗、低成本物联网的应用1.2.3嵌入式系统的发展趋势28嵌入式系统应用的趋势291.3嵌入式操作系统嵌入式软件系统是将所有程序,包括操作系统、驱动程序、应用程序等等的程序代码全部都烧进一个RAM里,即固化。因此,有人把嵌入式软件系统形象的比喻为库(Library)函数,可以在系统执行过程中直接调用,不能修改操作系统的作用301.3嵌入式操作系统Android系统中文俗称安卓。Android操作系统的内核属于Linux内核的一个分支,具有典型的Linux周期和功能,是半开源操作系统。Google公司免费开源代码。Android从高层到低四层架构体系:应用程序层。包含了许多应用程序。应用程序框架层。Android开发的基础。系统运行库层。系统库、核心库与Dalvik虚拟机。系统库包含一些C/C++库,通过Android应用程序框架为开发者提供服务。Android运行时的核心库是Android的一些核心API,Dalvik虚拟机被设计一个设备,每一个Android应用程序都拥有一个独立的Dalvik虚拟机实例。linux核心层。Android是基于Linux2.6内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。Android311.3嵌入式操作系统Linux是是自由和开放源