第2章嵌入式系统的体系结构嵌入式系统开发技术与应用1.嵌入式系统的分类2.1嵌入式组成结构概述(1)简单嵌入式系统简单嵌入式系统很早就已经存在,这类嵌入式系统因为软硬件复杂度都很低,一般不使用操作系统。例如常用的单片机系统,单片机的开发通常是由一个电子工程师完成电路设计和单片机软件编程仿真调试开发等工作;嵌入式系统的开发主要属于电子工程领域的开发,它主要的工作是硬件设计的工作,软件的工作量并不大。复杂嵌入式系统具有更强大的功能,但是简单的嵌入式系统并没有随着复杂的嵌入式系统出现而消亡。嵌入式系统开发技术与应用1.嵌入式系统的分类2.1嵌入式组成结构概述(2)复杂嵌入式系统对于复杂的嵌入式系统,它的开发模式发生了极大的改变。一个复杂的嵌入式系统不仅硬件系统的开发比单片机复杂了许多,更重要的是在该系统中采用了嵌入式操作系统。其应用软件的开发转变为使用操作系统标准接口的计算机工程领域的应用软件开发。总之,复杂嵌入式系统的开发模式已从原来单片机时代电子工程领域的开发转变为电子工程和计算机工程的协同开发。一个复杂嵌入式系统的开发不仅需要完成嵌入式硬件系统的开发,也要完成嵌入式应用软件的开发,甚至嵌入式操作系统的移植开发。嵌入式系统开发技术与应用2.嵌入式系统的体系结构2.1嵌入式组成结构概述应用程序操作系统软件结构硬件结构微处理器外围电路电源模块时钟复位ROMRAMFlash外设USBSDcardOtherLCD嵌入式系统开发技术与应用1.嵌入式处理器的分类2.2.1嵌入式处理器(1)嵌入式微控制器(2)嵌入式微处理器(3)嵌入式DSP处理器(4)嵌入式片上系统嵌入式系统开发技术与应用嵌入式微处理器具有体积小、重量轻、成本低、可靠性高的优点,但是在电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差。嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,称为单板计算机。如STD-BUS、PC104等。CPUROMRAM外设1外设2单板计算机2.2.1嵌入式处理器——嵌入式微处理器嵌入式系统开发技术与应用嵌入式微控制器又称单片机。和嵌入式微处理器相比,微控制器的最大特点是单片化,体积大大减小,从而使功耗和成本下降、可靠性提高。嵌入式微控制器目前的品种和数量最多复位部件看门狗部件晶振部件I/O部件中断部件ROM部件SRAM部件定时器部件CPU核2.2.1嵌入式处理器——嵌入式微嵌入式系统开发技术与应用LPC2000系列微控制器包含四大部分:ARM7TDMI-SCPUAHBToVPB桥EMCVICI2C串行接口SPI串行接口UART0&1CAN看门狗定时器系统控制外部中断TIMER0/1ADC通用I/OPWM0实时时钟SRAMFlashAHB总线ARM7局部总线系统功能ARM7TDMI-SCPUARM7局部总线及相关部件AHB高性能总线及相关部件VLSI外设总线及相关部件2.2.1嵌入式处理器——嵌入式微处理器嵌入式系统开发技术与应用DSP处理器对系统结构和指令进行了特殊设计,使其适合于执行DSP算法,编译效率较高,指令执行速度也较高。在数字滤波、FFT、谱分析等方面DSP算法正在大量进入嵌入式领域。嵌入式DSP处理器比较有代表性的产品是TexasInstruments的TMS320系列和Motorola的DSP56000系列。2.2.1嵌入式处理器——嵌入式DSP处理器嵌入式系统开发技术与应用各种通用处理器内核将作为SOC设计公司的标准库,和许多其它嵌入式系统外设一样,成为VLSI设计中一种标准的器件,用标准的VHDL等语言描述,存储在器件库中。SoC可以分为通用和专用两类。2.2.1嵌入式处理器——嵌入式片上系统嵌入式系统开发技术与应用存储器类型只读存储器ROMFlashROM(闪存)静态随机访问存储器SRAM动态随机访问存储器DRAM同步动态随机访问存储器(SDRAM)硬盘、软盘、CD-ROM等外存储器2.2.2嵌入式存储器嵌入式系统开发技术与应用外设及接口通信接口串口UARTUSB(通用串行总线接口)以太网口I2C、SPI、GPIOetc输入输出设备LCD、触摸屏键盘存储扩展接口SD/MMC卡CF/PCMICA电源及辅助设备2.2.3外设及接口嵌入式系统开发技术与应用2.2.3输入输出设备嵌入式系统中输入形式一般包括触摸屏、语音识别、按键、键盘和虚拟键盘。输出设备主要有LCD显示和语音输出。嵌入式系统开发技术与应用嵌入式系统软件层次结构应用程序接口API操作系统驱动程序启动代码2.3嵌入式系统的软件构成嵌入式系统开发技术与应用2.3.1中间部件中间部件主要包括启动代码和设备驱动程序。启动代码是在板上最先执行的代码,是针对一个或一组特定的目标而定制的。它在把控制权交给操作系统之前,初始化板上最基本的设备。设备驱动给硬件设备上的外设提供了一致的软件接口。嵌入式系统开发技术与应用2.3.2嵌入式操作系统(1)可装卸性(2)强实时性(3)统一的接口(4)强稳定性,弱交互性(5)固化代码1.嵌入式操作系统的特点嵌入式系统开发技术与应用2.3.2嵌入式操作系统(1)WindowsCE(2)VxWorks(3)pSOS(4)QNX(5)PalmOS(6)OS-9(7)LynxOS(8)嵌入式Linux(9)μC/OS2.常用的嵌入式操作系统嵌入式系统开发技术与应用WindowsCE.NETMicroFrameworkWindowsEmbeddedCEWindowsXPEmbeddedWindowsEmbeddedforpointofservice嵌入式系统开发技术与应用WindowsCE发展历程WindowsCE1.01996WindowsCE2.0WindowsCE3.0WindowsCE.NET4.0Apr2001WindowsCE5.0July20042.112.124.14.2Jul20001997FeaturePacksWindowsEmbeddedCE6.0Nov2006WindowsCE发展历程嵌入式系统开发技术与应用Linux操作系统Linux的历史1991年10月5日Linux诞生LinusTorvalds具有Unix操作系统的全部功能嵌入式系统开发技术与应用Linux内核版本majorminorpatchlevel发行版本商业公司维护社区组织维护Linux操作系统嵌入式系统开发技术与应用Android操作系统Android简介Google公司于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称。消费类电子的领域,如智能手机、MID、上网本等。嵌入式系统开发技术与应用Android操作系统的结构图Android操作系统嵌入式系统开发技术与应用VxWorks操作系统VxWorks简介美国WindRiver公司于1983年设计开发。通信、军事、航空、航天等高精尖技术的领域。卫星通讯、军事演习、弹道制导、飞机导航等实时性要求极高的领域。嵌入式系统开发技术与应用嵌入式系统软件层次结构应用程序接口API操作系统驱动程序启动代码2.4嵌入式系统开发的流程嵌入式系统开发技术与应用嵌入式系统设计过程与一般的工程设计方法没有太大的差别,都有需求分析、系统设计、系统实现以及测试等流程。但是嵌入式系统是一种根据特定用途专门开发的系统,它只完成预期要完成的功能,因此其开发过程和开发环境与传统的软件开发相比有显著的不同。2.4嵌入式系统开发的流程嵌入式系统开发技术与应用(1)需要交叉开发工具和环境(2)软硬件协同设计(3)嵌入式系统开发人员以应用专家为主(4)软件要求固态化存储(5)软件代码高质量、高可靠性(6)系统软件的高实时性2.4.1嵌入式系统开发的流程嵌入式系统开发技术与应用2.4.2嵌入式系统开发周期嵌入式系统开发技术与应用PC本地开发模式嵌入式系统交叉编译开发模式2.4.3嵌入式系统的开发环境嵌入式系统开发技术与应用HostTargetEthernetEmulatorUSBSerial2.4.3嵌入式系统的开发环境宿主机/目标机嵌入式系统开发技术与应用2.4.3嵌入式系统的开发环境宿主机/目标机宿主机一般采用一台通用计算机(如PC或者工作站),它通过串口(serial)或者以太网(Ethernet)接口与目标机通信。宿主机的软硬件资源比较丰富,不但包括功能强大的操作系统(如Windows和Linux),而且还有各种各样优秀的开发工具(如WindRiver的Tornado、Microsoft的EmbeddedVisualC++等),能够大大提高嵌入式应用软件的开发速度和效率。目标机(target)一般在嵌入式应用软件的开发和调试期间使用,用来区别与嵌入式系统通信的宿主机。目标机可以是嵌入式应用软件的实际运行环境,也可以是能够替代实际运行环境的仿真系统,但软硬件资源通常都比较有限。嵌入式系统开发技术与应用HostHost是系统的开发环境。2.4.3嵌入式系统的开发环境嵌入式系统开发技术与应用TargetTarget是系统的运行环境。2.4.3嵌入式系统的开发环境嵌入式系统开发技术与应用EmulatorEmulator的主要功能:调试和下载。2.4.3嵌入式系统的开发环境嵌入式系统开发技术与应用SerialSerial有公母之分,串口线有直连与交叉之分。2.4.3嵌入式系统的开发环境嵌入式系统开发技术与应用USB与EthernetUSB有主从之分。以太网线有直连与交叉之分。2.4.3嵌入式系统的开发环境