嵌入式系统1.嵌入式系统的概述2.嵌入式系统的硬件架构3.嵌入式系统的软件基础4.嵌入式系统的应用主要内容1.1嵌入式系统的过去、现在与将来1.2嵌入式系统的基本概念1.嵌入式系统的概述嵌入式系统的发展已经有30年的历史;在微型机出现之后,由于其廉价、小型、可靠性高而受到了人们的关注;基于微型机的舰船自动驾驶仪、轮机状态监测系统等等,就是嵌入式系统的最初形式;嵌入式系统最初的发展与通用计算机的发展紧密联系;1.1嵌入式系统的过去、现在和将来单片机的出现使得嵌入式系统的发展走上了独立的道路,成为计算机应用领域的一个独立分支-专用计算机系统。经过多次“蜕变”,嵌入式系统终于修成正果,可以称得上是“如日中天”;嵌入式系统的身影遍及金融、电信、网络、信息家电、医疗、工业生产、服务、消费电子、家居生活、国防军事、航空航天等各个领域...1.1嵌入式系统的过去、现在和将来技术角度SOC将是嵌入式系统发展的一个归宿;产品细分,会有功能、性能更强大的产品出现;8/16位的所谓“低端产品”也不会就此消失;应用领域嵌入式系统将会覆盖各个电子应用领域;经济角度嵌入式系统是后PC时代的主角,掌握其核心技术将受益无穷。1.1嵌入式系统的过去、现在和将来嵌入式系统到底是指什么?嵌入式系统与“ARM”、“DSP”、“单片机”等名词之间有何联系?嵌入式系统是IEEE“用于控制、监视或者辅助操作机器和设备的装置”。原文为devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants.1.2嵌入式系统的基本概念一般定义:嵌入式系统是一个具有特定功能或用途的计算机软硬件综合体,即以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。简言之,嵌入式系统就是嵌入到对象体中的一种专用计算机系统。1.2嵌入式系统的基本概念三要素:嵌入性嵌入到对象体系中,面向用户、面向产品、面向应用计算机系统实现对象的智能化功能专用性根据应用需求几KB到几十KB的微内核1.2嵌入式系统的基本概念物联网决定嵌入式的发展趋势:多功能、低功耗和微型化智能灰尘网络化数据连续、动态、非连续化1.2嵌入式系统的基本概念1.系统内核小:应用于小型电子装置,系统资源有限,内核较传统的操作系统要小的多。2.专用性强:软、硬件按对象要求裁剪,两者结合紧密;软件的编译下载与系统相结合;通用、升级的概念一般不适用;3.系统精简:没有系统软件和应用软件的明显区分;1.3嵌入式系统的特点4.高实时性的系统软件固态存储,要求高质量和高可靠性5.多任务的操作系统可以没有操作系统;合理调度多任务、利用系统资源、系统函数以及和专家库函数接口;实时性、可靠性、并减少开发时间;1.3嵌入式系统的特点6、嵌入式系统开发需要开发工具和环境用户对其中程序功能进行修改需要一套开发工具和环境;开发工具一般基于通用计算机上的软硬件设备以及各种辅助仪器;交互式开发:主机:用于程序的开发;目标机:最后的执行机;仿真编程器。1.3嵌入式系统的特点1.4嵌入式系统的组成:1、硬件层1)嵌入式微处理器。是嵌入式系统硬件层的核心。它与通用CPU最大的不同在于,嵌入式微处理器大多工作在为特定用户群所专用设计的系统中,它将CPU组多由板卡完成的任务集成在芯片内部,从而有利于嵌入式系统在设计时趋于小型化,同时还具有很高的效率和可靠性。嵌入式微处理器的体系结构可以采用冯.诺伊曼体系或哈佛体系结构;指令系统可以选用精简指令系统(RISC)或复杂指令系统(CISC)1.冯-诺依曼体系结构与哈佛体系结构补充内容:相关基本知识冯-诺依曼体系结构特点:数据和指令都存储在同一存储器中。通用PC。哈佛体系结构特点:1.数据存储器和程序都存储分开;2.数据存储器的带宽较宽;DSP、ARM9嵌入式系统与ARM的关系是什么?ARM指什么?ARM=AdvancedRISCMachinesLtd.ARM=ARM技术ARM=ARM微处理器内核ARM≠嵌入式系统ARM是一种目前应用最为广泛的嵌入式微处理器核。嵌入式系统与ARM根据嵌入式微处理器的配置情况,可以分为:嵌入式微处理器(EMPU)微控制器(MCU)数字信号处理器(DSP)片上系统(SOC)嵌入式处理器的分类来自于通用处理器,核心只保留了与嵌入式应用有关的功能,并在功耗、功能配置、封装形式、可靠性等方面进行改进;优点:体积小、功耗低、成本低、可靠性高;缺点:片内周片电路不足,必须配备ROM,RAM,总线接口,各种外设接口等;代表:AM186/88、386EX、PowerPC、某些ARM嵌入式微处理器(EMPU)即单片机,以某种微处理器为核心,芯片内集成了ROM/EPROM、RAM、总线逻辑、定时/计数器、I/O、串行口等各种必要功能和外设接口,也可集成A/D、D/A转换接口。优点:单片化、体积小、功耗和成本低、可靠性高;缺点:总线宽度一般为4位、8位或16位,处理速度有限,一般在几个MIPS,进行一些复杂的应用很困难,运行操作系统就更难。代表:MCS51/96、S1C33、MSP430等。微控制器(MCU)DSP处理器是专门用于信号处理方面的处理器,其在系统结构和指令算法方面进行了特殊设计,在数字滤波、FFT、频谱分析等各种仪器上DSP获得了大规模的应用。优点:在信号处理方面有得天独厚的优势;缺点:DSP是运算密集处理器,一般用在快速执行算法,做控制比较困难;不适合运行操作系统,核心代码使用汇编。代表:TMS320系列。数字信号处理器(DSP)SOC可分为通用和专用两类通用:TriCore、M-core、某些ARM;专用:SmartXA(Philips)优点:1.可通过改变内部工作电压,降低芯片功耗;2.减少了芯片的外管脚数,简化了制造过程;3.减少了外围驱动接口单元及电路板之间的信号传递,加快了微处理器的数据处理速度;4.增强了抗干扰能力。片上系统(SOC)2)存储器包含高速缓冲存储器(Cache)、主存、辅存。①Cache容量小、速度快。位于主存和嵌入式微处理器内核之间,存放的是最近一段时间微处理器使用最多的程序代码和数据。在需要进行数据读取操作时,微处理器尽可能的从Cache中读取数据,而不是从主存中读取。这样提高了微处理器和主存之间的数据传输速率,改善了系统性能。在嵌入式系统中,Cache全部被集成在嵌入式微处理器内,可分为数据Cache、指令Cache和混合Cache。②主存是嵌入式微处理器能直接访问的寄存器,用来存放系统和用户的程序及数据。③辅助存储器用来存放大数据量的程序代码或信息,它容量大,但读取速度与主存相比慢很多,可用来长期保存用户的信息。3)通用设备接口和I/O接口嵌入式系统和外界交互需要一定形式的通用设备接口。常用的通用接口有A/D、D/A、RS-232、Ethernet、USB等等。2、中间层硬件层与软件层之间为中间层,也成为硬件抽象层(HAL)或板级支持包(BSP),它将系统上层软件与底层硬件分离开来,使系统的底层驱动程序与硬件无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP层提供的接口即可进行开发。(1)BSP主要功能为屏蔽硬件,提供操作系统及硬件驱动,具体功能包括:1.单板硬件初始化,主要是CPU的初始化,为整个软件系统提供底层硬件支持;2.为操作系统提供设备驱动程序和系统中断服务程序;3.定制操作系统的功能,为软件系统提供一个实时多任务的运行环境;4.初始化操作系统,为操作系统的正常运行做好准备。(2)操作系统相关性。不同的操作系统具有各自的软件层次结构,因此,不同的操作系统具有特定的硬件接口形式。实际上,BSP介于操作系统和底层硬件之间的软件层次,它包括系统中大部分与硬件联系紧密的软件模块。设计一个完整的BSP需要完成两部分工作,即嵌入式系统的硬件初始化以及设计与硬件相关的设备驱动程序。3、系统软件层系统软件层由实时多任务操作系统(RTOS)、文件系统、图形用户接口(GUI)、网络系统及通用组件模块组成。RTOS是嵌入式应用软件的基础和开发平台。嵌入式系统的操作系统不是必须的;在复杂的应用领域使用操作系统可以简化开发;操作系统提供了硬件设备的管理功能、用户程序的接口功能;嵌入式操作系统所使用的技术,基本上是从台式计算机操作系统下推而来的;由于应用的需要和硬件条件的限制,嵌入式操作系统一般都注重占用空间小和效率高等特点。3.1嵌入式操作系统概述3.2国内外操作系统(1)国外著名实时操作系统。VxWorks、QNX、PalmOS、WindowsCE等,占据了机顶盒、PDA等绝大部分市场。(2)国内著名的实时操作系统中国自主研发的有DeltaOS(道系统)、HopenOS(女娲计划)、EEOS、HBOS以及中科院北京软件工程研究中心开发的CASSPDA等。嵌入式实时系统中主要有三个指标来衡量系统的性能:1.响应时间(ResponseTime)2.生存时间(SurvivalTime)3.吞吐量(Throughput)3.3嵌入式操作系统的指标WindowsCE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是一个基于掌上型电脑类的电子设备的操作系统;WindowsCE是精简的Windows95;整体上为有限资源的平台设计的多线程、完整优先权、多任务的操作系统;它的模块化设计允许它对于从掌上电脑到专用的工业控制器的用户电子设备进行定制;操作系统的基本内核需要至少200K的ROM。3.4嵌入式操作系统——WinCEWindowsCE不仅继承了传统的Windows图形界面,并且在WindowsCE平台上可以使用Windows95/98/2000上的编程工具、使用同样的函数、使用同样的界面风格,使绝大多数的应用软件只需简单的修改和移植就可以在WindowsCE平台上继续使用;目前主要应用于PDA;缺点:耗系统资源、不稳定、效率不佳等等。3.4嵌入式操作系统——WinCELinux是一个类似于Unix的操作系统;它起源于芬兰一个名为LinusTorvalds的业余爱好,现已是最流行的一款开放源代码的操作系统;Linux从1991年问世到现在,已发展成为一个功能强大、设计完善的操作系统,伴随网络技术进步而发展起来的LinuxOS已成为Windows95/98的强劲对手。Linux系统不仅能运行于PC平台,在嵌入式系统方面大放光芒,在各种嵌入式LinuxOS迅速发展,逐渐形成了可与WindowsCE等EOS进行抗衡的局面。3.5嵌入式操作系统——LinuxOS目前正在开发的嵌入式系统中,50%以上的项目选择Linux作为嵌入式操作系统;特点:开放原始码、模块化设计Linux采用GPL授权,除了把原始码公开以外,任何人都可以自由使用、修改、散布,而Linux核心本身采用模块化设计,让人很容易增减功能;精简的内核,性能高、稳定,多任务;适用于不同的CPU,支持多种体系结构,如X86、ARM、MIPS、ALPHA、SPARC等;3.5嵌入式操作系统——LinuxOSC/OS-MicroOS,是由美国人JeanLabrosse1992年完成;应用面覆盖了诸多领域,如照相机、医疗器械、音响设备、发动机控制、高速公路电话系统、自动提款机等;1998年C/OS-II,目前的版本C/OS-IIV2.61;2000年,得到美国航空管理局(FAA)的认证,可以用于飞行器中。3.6嵌入式操作系统——uCOS公开源代码可移植性绝大部分C/OS-II的源码是用移植性很强的ANSIC写的。和微处理器硬件相关的那部分是用汇编语言写的。C/OS-II可以在绝大多数8位、16位、32位以至64位微处理器、微控制器、数字信号处理器(DSP