嵌入式系统概况二.ppt
1,嵌入式系统信息电子工程学院单世铎,2,复习,1、什么是嵌入式系统“以应用为中心,以计算机技术为基础,软件、硬件可裁减,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。,3,2、嵌入式系统应用,工控设备,嵌入式应用,信息家电,智能玩具,军事电子,通信设备,移动存贮,智能仪表,汽车电子,网络设备,消费电子,军事国防,电子商务,工业控制,网络,4,3、嵌入式系统组成,5,4、嵌入式系统基本硬件架构,主要包括有处理器、外围电路及接口和外部设备三大部分。其中外围电路一般包括有时钟、复位电路、程序存储器、数据存储器和电源模块等部件组成。外部设备一般应配有USB、显示器、键盘和其他等设备及接口电路。在一片嵌入式微处理器基础上增加电源电路、时钟电路和存储器电路,就构成了一个嵌入式核心控制模块。其中操作系统和应用程序都可以固化在ROM中。,6,5、典型嵌式系统的硬件组成,7,嵌入式最小系统硬件结构框图(嵌入式系统核心板),8,物流盘点机系统硬件构成,基于ARM微处理器物流盘点机硬件结构框图,9,GPS智能终端系统硬件构成,、,GPS智能终端硬件结构框图,10,GSM移动通信网,智能家居控制器硬件构成,智能家居控制器硬件结构框图,11,1.2 嵌入式处理器,支持实时多任务.较短的中断响应时间存储区保护功能可扩展的处理器结构较低的功耗,分类:嵌入式微控制器(Microcontroller Unit)嵌入式DSP处理器EDSP(Embedded Digital Signal Processor)嵌入式微处理器(Embedded Microprocessor Unit)嵌入式片上系统SOC(System On Chip),12,1、嵌入式微控制器(MCU),嵌入式MCU的典型代表是单片机,这种位的电子器件目前在嵌入式设备中仍然有着极其广泛的应用。目前通常使用单片机芯片内部集成FlashROM、RAM、总线、总线逻辑、定时/计数器、看门狗、I/O、串行口、脉宽调制输出等必要功能和外设。MCU的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。微控制器目前在工业中的应用还是很多,由于适合于控制,因此称为微控制器。,13,嵌入式微控制器,嵌入式微控制器就是将整个计算机系统的主要硬件集成到一块芯片中,芯片内部集成ROM/EPROM,RAM,总线,总线逻辑,定时/计数器,Watchdog,I/O,串行口等各种必要功能和外设.其特点为:单片化,体积大大减小,功耗和成本降低,可靠性提高;多是8位和16位处理器流行的嵌入式微控制器通用系列:8051,MCS251,MCS-96/196/296半通用系列:支持I2C,CAN BUS,LCD及众多专用MCU和兼容系列,14,2、嵌入式DSP处理器,DSP(Digital Signal Processor)数字信号处理器 20世纪60年代发展起来的一门新兴技术,所涉及的领域非常广泛。如在数学领域中,微积分、概率统计、随机过程、数字分析等都是数字信号处理的基础工具。近年来,人工智能、模式识别、神经网络等新兴学科都与数字信号处理密不可分。数字信号处理包括算法的研究和数字信号处理的实现两个方面的内容。,15,DSP芯片的特点,采用哈佛结构采用流水线技术配有专用的硬件乘法-累加器具有特殊的DSP指令快速的指令周期支持多处理器结构。省电管理和低功耗,16,DSP的应用,信号处理:数字滤波、快速傅里叶变换、频谱分析、波形产生等。通信:调制解调、自适应均衡、数据加密和压缩、多路复用、移动通信、可视电话、路由器等。语音和图象的处理:语音编码与合成、文本-语音转换、图象压缩与传输、鉴别、转换、模式识别、动画、电子地图、机器人视觉。军事:保密通信、雷达处理、导航、导弹制导、GPS、电子对抗、搜索与跟踪等。仪器仪表:频谱分析、函数发生、数据采集、锁相环、暂态分析。还有在自动控制、医疗工程、家用电器等方面的应用。,17,3、嵌入式微处理器,嵌入式微处理器是由通用计算机中的CPU演变而来的。与计算机处理器不同的是,在实际嵌入式应用中,只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分,这样就以最低的功耗和资源实现嵌入式应用的特殊要求。功能与和标准微处理器基本类似,在工作温度、抗电磁干扰、可靠性等方面一般都做了各种增强。与工业控制计算机相比,嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点。主流芯片ARM、Am186/88、Power PC、M68000、MIPS系列等。,18,ARM公司是全球领先的16/32位RISC微处理器知识产权设计供应商。ARM公司通过转让高性能、低成本的、低功耗的RISC微处理器、外围和系统芯片设计技术给合作伙伴,使他们能用这些技术来生产各具特色的芯片。ARM已经成为移动通信、手持设备、多媒体数字消费嵌入式解决方案的RISC标准。ARM处理器有三个主要的特点:小体积、低功耗、低成本而高性能;16/32位指令集;全球众多的合作伙伴。ARM处理器目前有五个系列的产品:ARM7、ARM9、ARM9E、ARM10和SecurCore。,ARM(Advanced RISC Machines),19,S3C2410及核心板,三星公司S3C2410的最小系统提供Linux系统内核系统稳定工作在203MHz主频上模块包括64MB SDRAM、1664MB flashROM模块给出了S3C2410几乎所有的信号,32位的数据总线,保留充分扩展空间为嵌入式技术爱好者提供了一个廉价的中高端平台科研人员高效的开发工具,20,MIPS处理器,MIPS技术公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商。MIPS的意思是“无内锁流水段微处理器”最早是在80年代初期由美国斯坦福大学研制出来的。在嵌入式方面,MIPS 系列微处理器是目前仅次于ARM的用得最多的处理器之一(1999年以前MIPS是世界上用得最多的处理器),其应用领域覆盖游戏机、路由器、激光打印机、掌上电脑等各个方面。,21,PowerPC处理器,PowerPC架构的特点是可伸缩性好,方便灵活。PowerPC处理器品种很多,既有通用的处理器,又有嵌入式控制器和内核,应用范围非常广泛,从高端的工作站、服务器到桌面计算机系统,从消费类电子产品到大型通信设备,无所不包。嵌入式的PowerPC 405(主频最高为266MHz)和PowerPC 440(主频最高为550MHz)处理器内核可以用于各种SoC设计上,在电信、金融和其他许多行业具有广泛的应用。,22,4、嵌入式片上系统(System On Chip),SOC技术是一种高度集成化、固件化的系统集成技术。其核心思想就是要把整个应用电子系统全部集成在一个芯片中。如将ARM RISC、MIPS RISC、DSP等微处理器核,加上一些通用的接口单元集成在一起。如信号采集、转换、存储、处理等功能模块,通用串行端口(USB),TCP/IP通信单元、GPRS通信接口、GSM通信接口、IEEE1394、蓝牙模块接口等等。这些单元以往都是依照各单元的功能做成一个个独立的处理芯片。SOC是追求产品系统最大包容的集成器件,最大的特点是成功实现了软硬件无缝结合,直接在处理器片内嵌入操作系统的代码模块。,23,嵌入式片上系统(SOC),24,1.3 嵌入式外围接口电路和设备接口,根据外围设备的功能可分为以下5类 存储器类型通信接口输入输出设备 设备扩展接口 电源及辅助设备,25,1、存储器类型:,存储器是嵌入式系统中存储数据和程序的功能部件,目前常见的存储设备按使用的存储器类型分为:静态易失型存储器(RAM,SRAM);动态存储器(DRAM);非易失性存储器ROM(ROMEPROM,EEPROM,FLASH);硬盘、软盘、CDROM等。,26,2、通信接口,目前存在的所有计算机通信接口在嵌入式领域中都有其广泛的应用,应用最为广泛的接口设备包括 RS-232接口(串口UART)USB接口(通用串行总线接口)IrDA(红外线接口)、SPI(串行外围设备接口)、I2C、CAN总线接口、蓝牙接口(Bluetooth)Ethernet(以太网接口)、IEEE1394接口和通用可编程接口GPIO。,27,3、输入输出设备,CRT、LCD和触摸屏等,构成了嵌入式系 统中重要的信息输入输出设备,应用广泛。触摸屏可以方便的实现鼠标和键盘功能。,28,4、设备扩展接口,由于目前的嵌入式系统功能越来越复杂,需要大容量内存,大的内存使得系统成本和体积加大。目前一些高端的嵌入式系统都会预留可扩展存储设备接口,为日后用户有特别需求时,可购买符合扩展接口规格的装置直接接入系统使用。常用的扩展卡还有各种CF卡、SD卡、Memory Stick等。目前高端的嵌入式系统都留有一定的扩展卡接口。,29,5、电源及辅助设备,嵌人式系统力求外观小型化、重量轻以及电源使用寿命长,例如移动电话或PDA,体积较大或者过重的机型已经被淘汰。目前发展的目标是体积小、易携带和外观设计新颖等。在便携式嵌入式系统的应用中,必须特别关注电源装置等辅助设备。,30,1.4 嵌入式系统的软件组成,嵌入式系统的软件包括嵌入式操作系统和相应的各种应用程序。1、嵌入式操作系统EOS 为了使嵌入式系统的开发更加方便和快捷,需要有专门负责管理存储器分配、中断处理及任务调度等功能的软件模块,这就是EOS。EOS是用来支持嵌入式应用的系统软件,是嵌入式系统极为重要的组成部分。通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面GUI、标准化浏览器等。嵌入式操作系统具有编码体积小,面向应用,可裁剪和移植,实时性强,可靠性高,专用性强等特点。,31,1、嵌入式操作系统,嵌入式操作系统是嵌入式应用软件的基础和开发平台.嵌入式系统的出现,解决了嵌入式软件开发标准化的难题.嵌入式系统具有操作系统的最基本的功能:进程调度内存管理设备管理文件管理操作系统接口(API调用)嵌入式操作系统具有的特点:系统可裁减,可配置.系统具备网络支持功能系统具有一定的实时性,32,嵌入式操作系统的分类,按照对实时系统的定义,嵌入式系统可分为实时嵌入式系统与非实时嵌入式系统:实时系统的定义:能够对外部事件做出及时响应的系统。响应时间要有保证。对外部事件的响应包括事件发生时要识别出来在给定时间约束内必须输出结果实时操作系统:VxWorks,WinCE,QNX,Nucleus非实时操作系统:嵌入式Linux,33,嵌入式实时操作系统的特点,实时系统必须产生正确的结果实时系统的响应必须在预定的周期内完成这两点同样重要实时系统是具有确定性的。在这些实时系统中,响应时间决定事件是有界的。一个确定的实时系统意味着系统的每个部件都必须具有确定的行为,使得整个系统是确定性的。,34,几种主流的嵌入式操作系统,Vxworks:美国WindRiver公司于1983年开发,具有可靠、实时、可裁减特性。Windows Embedded:支持具有丰富应用程序和服务的32位嵌入式系统。Palm OS:Com公司产品,在PDA市场占据很大份额,具有开放的操作系统应用程序接口(API),可让用户灵活方便地定制操作系统。嵌入式Linux:近两年来,Linux在嵌入式领域异军突起,他的独特性,使其作为开发嵌入式产品的操作系统具备巨大的潜力。Linux具有一些独特的优势:层次结构及内核完全开放;强大的网络支持功能;具备一整套工具链;广泛的硬件支持特性。,35,嵌入式系统软件的层次结构,具有操作系统的嵌入式软件层次驱动层程序 实时操作系统(RTOS)操作系统的应用程序接口(API)应用程序,36,2、启动程序BootLoader介绍,对于PC机,其开机后的初始化处理器配置、硬件初始化等操作是由BIOS(Basic Input/Output System)完成的,但对于嵌入式系统来说,出于经济性、价格方面考虑一般不配置BIOS,因此我们必须自行编写完成这些工作的程序。这就是所需要的开机程序,在嵌入式中称为BootLoader程序。系统加电复位后,几乎所有的 CPU都从由复位地址上取指令。因此在系统加电复位后,处理器将首先执行 Boot Loader 程序。,37,启动程序BootLoader介绍,BootLoader是系统加电后、操作系统内核或用户应用程序运行之前,首先必须运行的一段程序代码。通过这段程序,为最终调用操作系统内核、运行用户应用程序准备好正确的环境。对于嵌入式系统来说,有的使用操作系统,也有的不使用操作系统,但在系统启动时都必须运行BootLoader,为系统运行准备好软硬件环境。系统启动代码完成基本软硬件环境初始化后,对于有操作系统的情况下,启动操作系统、启动内存管理、任务调度、加载驱动程序等,最后执行应用程序或等待用户命令;对于没有操作系统的系统直接执行应用程序或等待用户命令,38,启动程序BootLoader介绍,系统的启动通常有两种方式,一种是可以直接从Flash启动,另一种是可以将压缩的内存映像文件从Flash(为节省Flash资源、提高速度)中复制、解压到RAM,再从RAM启动。当电源打开时,一般的系统会去执行ROM(应用较多的是Flash)里面的启动代码。这些代码是用汇编语言编写的,其主要作用在于初始化CPU和板上的必备硬件如内存、中断控制器等。有时候用户必须根据自己板子的硬件资源情况做适当的调整与修改。,39,主流bootloader介绍,U-bootPPCbootARMbootBlobRedboot,40,3、相应的各种应用程序,根据不同的应用场合,来编写不同的应用程序。嵌入式应用软件不仅要求其准确性、安全性和稳定性等方面能够满足实际的应用的需要,而且还要尽可能的进行优化,以减少对系统资源的消耗,降低硬件成本。所以对嵌入式系统而言,大而全的功能不是目标,少而精才是它的设计目标。,41,本章小结,嵌入式系统是软、硬件可裁剪,满足应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。嵌入式系统一般由硬件和软件两部分组成,硬件通常包含嵌入式微处理器、存储器和外围接口电路,软件通常由引导程序、操作系统和应用程序组成。嵌入式系统专用性强,系统内核小,具有高实时性和高可靠性。,42,思考与练习,什么是嵌入式系统?嵌入式系统是怎样组成的?嵌入式系统嵌入式系统有何特点?嵌入式系统有哪些应用?,43,第二章、嵌入式系统的开发,44,2.1 嵌入式系统开发模式,软件开发过程,从编写程序、编译和运行等过程全都在同一个PC机平台上完成。嵌入式系统开发的代码生成是在PC机上完成,但由于嵌入式目标平台的不同,就要求在开发机上的编译器能支持交叉编译(例如GCC)、链接,然后将程序的代码下载到目标机上指定位置,然后还要交叉调试。调试器还是运行在宿主机的操作系统上,被调试的程序是放在目标机上,通过串口或网络接口相连接。主要流程为:编写-交叉编译、链接-定位和下载-调试。嵌入式系统采用这种开发模式主要是自身的特点决定的。,45,2.1 嵌入式系统的开发模式,嵌入式系统的软件使用交叉开发平台进行开发。系统软件和应用软件在主机开发平台上开发系统软件和应用软件在嵌入式硬件平台上运行。宿主机(Host)是用来开发嵌入式软件的系统。目标机(Target)是被开发的目的嵌入式系统。交叉编译器(Cross-compiler)是进行交叉平台开发的主要软件工具。它是运行在一种处理器体系结构上,但是可以生成在另一种不同的处理器体系结构上运行的目标代码的编译器。,46,交叉式的开发环境示意图,嵌入式系统开发所需的开发工具和环境,47,2.2 嵌入式系统的开发方法,嵌入式系统的设计准则嵌入式系统的设计流程嵌入式系统的开发方法嵌入式系统的开发模式嵌入式系统的测试,48,1、嵌入式系统的设计准则,嵌入式系统设计不同于桌面系统,它非常受制于功能和具体的应用环境。所以嵌入式系统的设计具有一些特殊的要求。嵌入式系统的设计要求:并发处理,及时响应接口方便,操作容易稳定可靠,维护简便功耗管理,降低成本功能实用,便于升级,49,2、嵌入式系统的设计流程,嵌入式系统开发的最大特点就是需要软硬件综合开发。其原因在于:一方面,任何一个嵌入式产品都是软件和硬件的结合体;另一方面,一旦嵌入式产品研发完成,软件就固化在硬件环境中,嵌入式软件是针对相应的嵌入式硬件开发的,是专用的。嵌入式系统的这一特点决定了嵌入式应用开发方法不同于传统的软件工程方法。,50,嵌入式系统的设计流程,51,从生命周期看嵌入式系统的设计流程,52,3、嵌入式系统开发方法,设计过程的明确目标是建造一个有用的产品产品功能产品性能制造成本功耗特性上市时间嵌入式产品设计需要一个小组的技术人员协作完成设计过程会受内外因素的影响而变化,53,4、嵌入式系统分层设计模型,54,嵌入式系统的软硬件并行设计,55,5、嵌入式系统的测试,测试目的:找到软硬件设计中的错误减少风险节约成本提高性能测试什么:功能调试(黑盒测试)压力测试,边界测试,异常测试错误测试,随机测试,性能测试覆盖测试(白盒测试)语句测试,判定和分支测试,条件覆盖,