版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章第二章 嵌入式系统的基本知识嵌入式系统的基本知识本章提要本章提要嵌入式系统硬件基础嵌入式系统硬件基础嵌入式系统开发环境嵌入式系统开发环境嵌入式系统硬件开发流程嵌入式系统硬件开发流程嵌入式操作系统基础嵌入式操作系统基础嵌入式系统硬件部分嵌入式系统软件部分如人的大脑,决定了硬件的操作模式。通过良好的操作系统以及应用程序,把硬件功能发挥到极至。如人的手、脚、神经等部位,决定了嵌入式系统的先天功能。如运算能力和I/O接口等。nRISC和CISCn冯诺依曼体系结构和哈佛体系结构n流水线n嵌入式微处理器体系结果n总线n高速输入输出接口n输入输出设备n存储器嵌入式系统硬件基础CISC和RISCCISC
2、CISC:复杂指令集(:复杂指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和寻址方式,指令长度可变具有大量的指令和寻址方式,指令长度可变8/28/2原则:原则:80%80%的程序只使用的程序只使用20%20%的指令的指令大多数程序只使用少量的指令就能够运行。大多数程序只使用少量的指令就能够运行。RISCRISC:精简指令集(:精简指令集(Reduced Instruction Set Computer)Reduced Instruction Set Computer)只包含最有用的指令,指
3、令长度固定只包含最有用的指令,指令长度固定确保数据通道快速执行每一条指令确保数据通道快速执行每一条指令使使CPUCPU硬件结构设计变得更为简单硬件结构设计变得更为简单CISC与RISC的数据通道IFIDREGALUMEM开始退出IFIDALUMEMREG微操作通道开始退出单通数据通道RISC:Load/Store结构CISC:寻址方式复杂CISC的背景和特点 n背景: 存储资源紧缺, 强调编译优化n增强指令功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的(微程序)指令系统来实现n为节省存储空间,强调高代码密度,指令格式不固定,指令可长可短,操作数可多可少n寻址方式复杂
4、多样,操作数可来自寄存器,也可来自存储器n采用微程序控制,执行每条指令均需完成一个微指令序列nCPI( Clock_cycle Per Instruction 指令周期数) ,指令越复杂,CPI越大。CISC的主要缺点n指令使用频度不均衡。n高频度使用的指令占据了绝大部分的执行时间,扩充的复杂指令往往是低频度指令。n大量复杂指令的控制逻辑不规整,不适于VLSI工艺nVLSI的出现,使单芯片处理机希望采用规整的硬联逻辑实现,而不希望用微程序,因为微程序的使用反而制约了速度提高。(微码的存控速度比CPU慢5-10倍)。n软硬功能分配n复杂指令增加硬件的复杂度,使指令执行周期大大加长,直接访存次数增
5、多,数据重复利用率低。n不利于先进指令级并行技术的采用n流水线技术RISC基本设计思想n减小CPI: CPUtime=Instr_Count * CPI * Clock_cyclen精简指令集:保留最基本的,去掉复杂、使用频度不高的指令n采用Load/Store结构,有助于减少指令格式,统一存储器访问方式n采用硬接线控制代替微程序控制RISC:减少指令平均执行周期数nCPUtime= Instr_Count *CPI * Clock_cyclenICRISC IC CISC, 30%-40%nCCRISC CCCISCnCPIRISC CPICISC , 20%n超标量、超流水线、VLIW等系
6、统结构, 目标在于减小CPI, 可使CPI1RISC的提出与发展nLoad/Store结构提出: CDC6600(1963)-CRAY1(1976)nRISC思想最早在IBM公司提出,但不叫RISC,IBM801处理器是公认体现RISC思想的机器。n1980年,Berkeley的Patterson和Dizel提出RISC名词,并研制了RISC-,实验样机。n1981年Stenford的Hennessy研制MIPS芯片。n85年后推出商品化RISC: MIPS1(1986)和SPARC V1(1987)典型的高性能RISC处理器nSUN公司的SPARC(1987)nMIPS公司的SGI:MIPS
7、(1986)nHP公司的PA-RISC,nIBM, Motorola公司的PowerPCnDEC、Compac公司的Alpha AXPnIBM的RS6000(1990)第一台Superscalar RISC机 CISC与RISC的对比类别CISCRISC指令系统指令数量很多较少,通常少于100执行时间有些指令执行时间很长,如整块的存储器内容拷贝;或将多个寄存器的内容拷贝到存贮器没有较长执行时间的指令编码长度编码长度可变,1-15字节编码长度固定,通常为4个字节寻址方式寻址方式多样简单寻址操作可以对存储器和寄存器进行算术和逻辑操作只能对寄存器对行算术和逻辑操作,Load/Store体系结构编译难
8、以用优化编译器生成高效的目标代码程序 采用优化编译技术,生成高效的目标代码程序 冯诺依曼体系结构冯诺依曼体系结构指令寄存器控制器数据通道输入输出中央处理器存储器程序指令0指令1指令2指令3指令4数据数据0数据1数据2哈佛体系结构指令寄存器控制器数据通道输入输出CPU程序存储器指令0指令1指令2数据存储器数据0数据1数据2地址指令地址数据流水线技术流水线技术流水线流水线(Pipeline)(Pipeline)技术:几个指令可以并行执行技术:几个指令可以并行执行 提高了提高了CPUCPU的运行效率的运行效率 内部信息流要求通畅流动内部信息流要求通畅流动译码取指执行add译码取指执行sub译码取指执
9、行cmp时间AddSubCmp指令流水线以ARM为例n为增加处理器指令流的速度,ARM7 系列使用3级流水线.n允许多个操作同时处理,比逐条指令执行要快。n PC指向正被取指的指令,而非正在执行的指令FetchDecodeExecute从存储器中读取指令解码指令寄存器读(从寄存器Bank)移位及ALU操作寄存器写(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb 最佳流水线n该例中用6个时钟周期执行了6条指令n所有的操作都在寄存器中(单周期执行)n指令周期数 (CPI) = 1 操作操作周期周期 1 2 3 45 6 ADD SUB MOV AND OR
10、R EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch LDR 流水线举例n该例中,用6周期执行了4条指令n指令周期数 (CPI) = 1.5 周期周期 操作操作123456 ADD SUB LDR MOV AND ORRFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeE
11、xecuteFetchDecodeFetch分支流水线举例n流水线被阻断n注意:内核运行在ARM状态周期周期 1 2 3 4 5 0 x8000 BL 0 x8004 X0 x8008 XX0 x8FEC ADD0 x8FF0 SUB0 x8FF4 MOV地址地址 操作操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch超标量执行超标量超标量(Superscalar)执行:超标量执行:超标量CPU采用多条流水线结构采用多条流水线结构 执行1取指指
12、令译码2译码1执行2执行1取指译码2译码1执行2流水线1流水线2数据回写高速缓存(CACHE)1 1、为什么采用高速缓存、为什么采用高速缓存 微处理器的时钟频率比内存速度提高快得多,高速缓存可以微处理器的时钟频率比内存速度提高快得多,高速缓存可以提高内存的平均性能。提高内存的平均性能。2 2、高速缓存的工作原理、高速缓存的工作原理 高速缓存是一种小型、快速的存储器,它保存部分主存内高速缓存是一种小型、快速的存储器,它保存部分主存内容的拷贝。容的拷贝。 CPU高速缓存控制器CACHE主存数据数据地址总线和总线桥CPU低速设备桥数据高速总线存储器高速设备键盘低速总线ARM公司提出的AMBA总线标准
13、嵌入式处理器体系结构n按体系结构的不同可分为五大类nARMnMIPSnPOWER PCnX86nSH系列 nARM 公司的ARM RISC处理器nARM 7 Thumb 家族nARM 9 Thumb 家族nARM 10 Thumb 家族nARM 11 Thumb 家族Intel StrongARMnStrongARM 110nStrongARM 1100nStrongARM 1110nStrongARM 1111INTEL的Xscale架构处理器 基于ARM V5TE体系结构 兼容ARM V5TE ISA指令集(不支持浮点指令集) 在处理器内核周围提供了 指令和数据存储器管理单元 指令、数据和
14、微小数据缓存 写缓冲、挂起缓冲和分支目标缓冲器 电源管理 性能监控 调试 JTAG单元以及协处理器接口 MAC协处理器 内核存储总线MIPSn从1986年推出R2000处理器以来,MIPS陆续推出R3000、R4000、R8000等。n之后,MIPS公司的战略发生变化,把重点放在嵌入式系统。n1999年,MIPS公司发布了MIPS32和MIPS64体系结构标准,集成了原来所有的MIPS指令集,并且增加了许多更强大的功能。n此后MIPS公司又陆续开发了高性能、低功耗的32位和64位处理器内核。 MIPS RISCMIPSn在MIPS的32位内核中n4K系列对应于SOC应用设计;nM4K系列内核是
15、为在下一代消费电子、网络、宽带应用中越来越受欢迎的多CPU SOC所设计;n4KE系列具有目前32位通用嵌入式处理器中最高的DMIPS/MHz性能指标;n4KS系列由于采用了特殊的SmartMIPS体系结构,特别适用于需要安全数据传输的领域,比如网络、智能卡等;n5K和20Kc系列属于MIPS的64位内核n5K能提供1.4DMIPS/MHz的性能以及最低350MHz的运行速率。n20Kc是当今最快的可授权嵌入式处理器内核。一般运行在600MHz,具有7段流水线的20Kc内核,能提供1.2GFLOPS的峰值浮点运算能力。MIPSn在嵌入式处理器市场中,基于MIPS内核的处理器占据了相当大的数量n
16、2002年,一共付运了8700万片采用MIPS内核的嵌入式处理器,份额仅次于ARM位居全球第二。n在目前快速增长的比如Cable Modem、DSL Modem、DVD录像机等领域内,MIPS的市场份额位居第一。nMIPS的合作伙伴包括了AMD,IDT,NEC,TI,SONY等众多厂商PowerPC体系结构 nMotorola半导体(现Freescale半导体)联合IBM以及苹果电脑 nIBMnPowerPC750 nPowerPCG3 nMotorolanMPC nMCX86体系结构 nIntel X86体系结构nAMD最新的X86体系结构嵌入式处理器产品为Geode 系列处理器 nCISC
17、指令集SH体系结构nSH(SuperH)系列是由前日立半导体公司(现Renesas公司)推出的嵌入式处理器 nSH系列的CPU指令格式是固定的,只有一个字长,绝大多数指令是单周期完成的,即使是复杂的乘加指令也仅需2个时钟周期 n为了克服内存访问的瓶颈,SH的CPU简化寻址方式,采用Load/Store(装载/存储)结构,并且在片内设置高速缓存,以减少访问内存的时间 n1999年底,SH系列累计生产达1.18亿片。nSH系列投入市场后,用量最多的是工业,占总量的36%,第二位是办公自动化,占总量的26%;第三位是消费领域;再其次的是通信领域。n此外,汽车导航、定位、控制系统,也是SH系列不小的一
18、个市场。n在美国,SH系列占有较大的市场份额 n型号nSH1-4(32位) nSH5(64位)2010年芯片供应商排名出炉 总线n总线的主要参数有总线的主要参数有n总线的带宽总线的带宽n总线的位宽总线的位宽n总线的工作时钟频率总线的工作时钟频率总线机制n微处理器(CPU)是嵌入式系统硬件平台的核心构件,但不是全部。按照冯诺依曼体系结构思想,计算机的硬件是由CPU、存储器和I/O设备三部分组成的。总线是把CPU与存储器、I/O设备相连接的信息通道,但总线并不仅仅指的是一束信号线,而应包含相应的通信协议。按照使用场合的不同,总线分成芯片级总线(CPU总线)、板卡级总线(内总线)和系统级总线(外总线
19、)。ISAnIBM IBM 公司于公司于1981 1981 年推出的基于年推出的基于8 8 位机位机PC/XT PC/XT 的总的总线,称为线,称为PCPC 总线总线。nIBM IBM 公司于公司于1984 1984 年推出了年推出了16 16 位位PC PC 机机PC/ATPC/AT,其总,其总线称为线称为AT AT 总线总线。然而。然而IBM IBM 公司从未公布过他们的公司从未公布过他们的ATAT总线规格。总线规格。n由由Intel Intel 公司,公司,IEEE IEEE 和和EISA EISA 集团联合开发了与集团联合开发了与IBM/AT IBM/AT 原装机总线意义相近的原装机总
20、线意义相近的ISA ISA 总线总线,即,即8/16 8/16 位的位的“工业标准结构工业标准结构”(ISA-Industry Standard (ISA-Industry Standard Architecture)Architecture)总线。总线。n6.66MHZ6.66MHZ至至26.66MHZ26.66MHZ ,典型8MHznEISAEISA总线,总线,3232位位PCIn1991 年下半年,Intel 公司首先提出了PCI 的概念。nIntel联合IBM、Compaq、AST、HP、DEC 等100 多家公司成立了PCI 集团,其英文全称为:Peripheral Componen
21、t Interconnect Special Interest Group(外围部件互连专业组),简称PCISIG。n93年发布PCI2.0,32位,33MHz。5个以上PCI插槽nAGP(图形加速处理)n90年代后期,PCI-X,64位/66MHzPCI力不从心n南桥/北桥nIntel 440系列以后nPCI地位大大降低3GIO-PCI ExpressnPCI VS. PCI ExpressPCIPCI ExpressCPCInCPCI(Compact PCI)nPICMG协会于1994提出来的一种总线接口标准,面向嵌入式设备n解决了VME与PCI总线不兼容问题,与PCI完全兼容n高可靠性(
22、99.999%)、低价位n热插拔(hot swap)PC104nPC104PC104是一种专门为嵌入式控制而定义的工是一种专门为嵌入式控制而定义的工业控制总线,实质上就是一种紧凑型的业控制总线,实质上就是一种紧凑型的IEEE-P996IEEE-P996(ISAISA)。)。nPC104 PC104 有两个版本,有两个版本,8 8 位和位和16 16 位,分别与位,分别与PC PC 和和PC/AT PC/AT 相对应。相对应。PC104PLUS PC104PLUS 则与则与PCIPCI总总线相对应。线相对应。I2CnPHILIPS 开发了一种用于内部IC控制的简单的双向两线串行总线I2C(Int
23、er-Integrated Circuit )n最高速率100Kbps,25英尺,最多可支持40个设备数据线时钟线CAN(Controller Area Network)n80年代末,由德国Bosch公司最先提出n被设计作为汽车环境中的微控制器通讯,在车载各电子控制装置ECU 之间交换信息,形成汽车电子控制网络。n发动机管理系统、变速箱控制器、仪表装备、电子主干系统中,均嵌入CAN 控制装置。n使用CSMA/CD协议n40米以内,1Mbps;10Km,5Kbps;理论上可以支持无限多个设备n可靠性高,误码率为10-11n抗电磁干扰性强高速输入与输出接口nIrDA/FastIrDA(Infrar
24、ed Data Association )n红外线发光二极管n发射n硅晶PIN光检二极管n接受n控制电路nIrDA 1.0和1.1装置的通讯距离可达1公尺,误码率为10-9,光源外围的最大亮度为10klux (勒克斯)红外传输特点n距离n小于一米n低速n9.6115K bpsn高速n14M bpsn工业高速n16M bps红外芯片接口 Bluetooth 接口n功耗低n100M,100mWn10M,2.5mWn1M,1mWn2.4-2.4835 GHz (使用ISM频段)n优势: 世界范围内可用n劣势: 与IEEE 802.11b产品相互干扰n声音和数据传输,总带宽为1Mbpsn成本低n低于U
25、S$5/蓝牙芯片蓝牙和红外线的比较:篮牙接口红外接口传输距离10米1米传输特性可以以任何角度传输只能在一定角度(15度)内进行传输安全机制具有完整安全机制安全性底移动性可以在嵌入式系统移动时进行传输需要在静止状态下进行传输传输速率1Mbps4Mbps价格5美元12美元USB(Universal Serial Bus )nIBM、Compaq、Nortel、NEC、Intel以及Microsoft联合n距离5 米,Hub30米n树拓扑结构,127个点,4线(2根电源线,2根数据线)n低速 USB1.1,1.5 M bpsnUSB 2.0 速率高达480Mbpsn支持热插拔和即插即用Etherne
26、t/Fast Ethernetn802.3n10M/100M Ethernetn100m,RJ45接口nMAC层协议n CSMA/CDIEEE1394n起源于APPLE公司1986年提出的FireWirenMPU与多媒体设备连接接口n20400M bps,高速串行总线nP1394b 1.6Gbps, 100米n支持63个器件,长度4.5米n热插拔,即插即用nSony:iLink;TI:Lynx Apple:FireWireLCD显示器nLiquid Crystal Display,液晶显示器n液晶介于固态和液态n液晶棒状分子在外加电场的作用下排列状态发生变化,使得通过液晶显示器件的光被调制,从
27、而在显示屏上呈现出不同颜色。每个显示象素都可以单独被电场控制。n适用于低压、微功耗电路n段式液晶n常见段式液晶的每字为8 段组成,即8 字和一点,只能显示数字和部分字母。n字符型液晶n字符型液晶是用于显示字符和数字的n图形点阵式液晶n又将其分为TN、STN(DSTN)、TFT 等几类LCD显示器类型触摸屏 n嵌入式系统中的触摸屏分为电阻式、电容式和电感式三种 n其中电阻式触摸屏最为常用 n电阻触摸屏的工作部分一般由三部分组成,两层透明的阻性导体层、两层导体之间的隔离层、电极 n触摸屏工作时,上下导体层相当于电阻网络,当某一层电极加上电压时,会在该网络上形成电压梯度。n如有外力使得上下两层在某一
28、点接触,则在电极未加电压的另一层可以测得接触点处的电压,从而知道接触点处的坐标。电容式触摸屏n电容式触摸屏是一块四层复合玻璃屏,玻璃屏的内表面和夹层各涂一层ITO (氧化铟锡) ,四个角引出四个电极 。n当用户触摸电容屏时,由于人体电场,用户手指和工作面形成一个耦合电容,n因为工作面上接有高频信号,于是手指会吸收一个很小的电流,这个电流分别从屏的四个角上的电极中流出,n理论上流经四个电极的电流与手指头到四角的距离成比例,控制器通过对四个电流比例的精密计算,得出位置 电感式触摸屏 n电感式触摸屏的工作原理是在触摸笔中安装LC 谐振线圈n通过改变与安装有激励线圈及感应线圈的触摸屏之间的空间距离,使
29、电磁场发生变化从而计算出触点的位置 存储器系统寄存器高速缓存SRAM主存储器DRAM本地存储器 Flash、ROM、磁盘网络存储器 Flash、ROM、磁盘时钟周期01105010020000000分层结构存储器种类RAMRAM:随机存取存储器,:随机存取存储器, SRAMSRAM:静态随机存储器,:静态随机存储器, DRAMDRAM:动态随机存储器动态随机存储器 1 1)SRAMSRAM比比DRAMDRAM快快 2 2)SRAMSRAM比比DRAMDRAM耗电多耗电多 3 3)DRAMDRAM存储密度比存储密度比SRAMSRAM高得多高得多 4 4)DRMDRM需要周期性刷新需要周期性刷新R
30、OMROM:只读存储器:只读存储器EPROMEPROMEEPROMEEPROMFLASHFLASH:闪存:闪存闪速存储器(FLASH) n相对传统的EPROM芯片,这种芯片可以用电气的方法快速地擦写 n由于快擦写存储器不需要存储电容器,故其集成度更高,制造成本低于DRAM n它使用方便,既具有SRAM读写的灵活性和较快的访问速度,又具有ROM在断电后可不丢失信息的特点,所以快擦写存储器技术发展十分迅速 NOR技术nNOR技术闪速存储器是最早出现的Flash Memory,目前仍是多数供应商支持的技术架构,它源于传统的EPROM器件。n与其它Flash Memory技术相比,具有可靠性高、随机读
31、取速度快的优势。n在擦除和编程操作较少而直接执行代码的场合,尤其是代码(指令)存储的应用中广泛使用。n由于NOR技术Flash Memory的擦除和编程速度较慢,而块尺寸又较大,因此擦除和编程操作所花费的时间很长,在纯数据存储和文件存储的应用中,NOR技术显得力不从心。NAND技术nNAND技术 Flash Memory具有以下特点:n以页为单位进行读和编程操作,1页为256或512字节;以块为单位进行擦除操作,1块为4K、8K或16K字节。具有快编程和快擦除的功能,其块擦除时间是2ms;而NOR技术的块擦除时间达到几百ms。n数据、地址采用同一总线,实现串行读取。随机读取速度慢且不能按字节随
32、机编程。n芯片尺寸小,引脚少,是位成本(bit cost)最低的固态存储器,突破了每兆字节1元的价格限制。n芯片包含有失效块,其数目最大可达到335块(取决于存储器密度)。失效块不会影响有效块的性能,但设计者需要将失效块在地址映射表中屏蔽起来。n基于NAND的存储器可以取代硬盘或其它块设备。NOR flash占据了容量为116MB闪存市场的大部分,而NAND flash只是用在8128MB的产品当中,这也说明NOR主要应用在代码存储介质中,NAND适合于数据存储,NAND在CompactFlash、Secure Digital、PC Cards和MMC存储卡市场上所占份额最大 。 容量和成本:
33、NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格。 NOR的读速度比NAND稍快一些。 NAND的写入速度比NOR快很多。 NAND的4ms擦除速度远比NOR的5s快。 大多数写入操作需要先进行擦除操作。 NAND的擦除单元更小,相应的擦除电路更少。 常见的存储器扩充装置nCF扩充装Compact Flashn所有Windows CE 支持常见的存储器扩充装置nSD扩充装置(Secure Digital)nPanasonic Scandisk Toshiba常见的存储器扩充装置nMemory St
34、icknSony本节提要本节提要嵌入式系统硬件基础嵌入式系统硬件基础嵌入式系统开发环境嵌入式系统开发环境嵌入式系统硬件开发流程嵌入式系统硬件开发流程芯片封装知识简介芯片封装知识简介嵌入式系统的开发流程需求分析及规格说明选择主要芯片确定编程语言选择开发环境RTOS的使用选择开发方案选择开发方案设计与调试测试与集成测试工具与其他辅助设备产品嵌入式系统的开发设计与调试设计生产编译器链接器调试器IDE操作系统软件开发与测试评估板仿真器逻辑分析仪边界扫描测试仪示波器n嵌入式系统的开发和PC系统有紧密的联系n我们通常都是在通用PC系统上,借助一些程序编写软件(如C语言、VC等)来编写代码;n然后再使用相应
35、的编译器把程序代码编译成目标代码(XXX代码);n最后再把所有的目标代码链接(link)成可执行的代码;n并通过一些相关的工具把可执行的代码下载到嵌入式系统的控制板上;n这样,在PC上编写的程序就可以在这块控制板上运行了。如果此时程序有任何问题,我们可以借助PC系统和专用的工具来进行调试。源代码编译成主机程序主机运行目标机代码设计编码测试运行维护下载调试固化交叉调试固化运行仿真编译仿真调试正确N仿真库编译链接Y运行库结合了仿真的软件开发过程结合了仿真的软件开发过程开发环境n什么是嵌入式开发环境:源程序编译器目标文件链接器可重定位程序定位器可执行文件u编译器/汇编器/链接定位器u调试器/仿真器u
36、主机(Host)及其工作平台u实时操作系统(可选)u目标评估系统(可选)u测试工具(软件/硬件/协议等,可选)u其他辅助设备(可选)n 典型的开发环境ARMARM的编译器(的编译器(1 1)nADS1.2nARM公司出品nIDE环境,包括nARM/Thumb汇编器:armasmnANSI C 编译器 - armcc 和 tccnISO / Embedded C+ 编译器 - armcpp and tcppn链接器 armlinknWindows 集成开发环境 CodeWarriorn格式转换器 fromelfn库管理器 - armarn调试器n模拟调试器:ARMulatornJTAG调试:AX
37、D(与Multi-ICE配合)n支持所有ARM内核,最新版本:RealView2.0ARMARM的编译器(的编译器(2 2)nEW-ARMn瑞典IRA公司出品n著名的嵌入式工具提供商,以提供编译器/协议栈/统一建模工具著称n主要产品:Embeded Workbench(EW)、Make APP、Visual State等nEW-ARM:针对ARM的集成开发环境:nC/C+编译器nC-SPY 模拟调试器nROM-Monitorn多种级别代码优化方法,满足用户在速度、文件大小方面的要求n内建ARM特性优化器n支持多种断点模式n支持Nucleus, VxWorks等RTOSnGreenhillsnG
38、NU嵌入式系统的调试(嵌入式系统的调试(1 1)n嵌入式系统的调试有四种基本方法n模拟调试(Simulator)n软件调试(Debugger)nBDM/JTAG调试(BDM/JTAG Debugger)n全仿真调试(Emulator)嵌入式系统的调试(嵌入式系统的调试(2 2)n模拟调试(Simulator) 调试工具和待调试的嵌入式软件都在主机上运行,由主机提供一个模拟的目标运行环境,可以进行语法和逻辑上的调试。n优点:简单方便,不需要目标板,成本低n缺点:功能非常有限,无法实时调试大多数调试工具都提供Simulator功能Simulator优点优点最大好处就是可以不用真正的目标机。可以在目
39、标机环境并不存在的条件下开发目标机上的应用系统,并且在调试时可以利用Host资源提供更详细的错误诊断信息。Simulator缺点缺点n缺点1)和实际运行环境差别很大2)设备模拟的局限性较大3)实时特性较差4)对Host的资源要求较高n适用范围对时间特性没有严格要求、没有特殊外设、只需要验证逻辑正确的应用程序嵌入式系统的调试(3)n软件调试(Debugger) 主机和目标板通过某种接口(通常是串口)连接,主机上提供调试界面,待调试软件下载到目标板上运行。 这种方式的先决条件是要在Host和Target之间建立起通信联系(目标板上称为监控程序Monitor)n优点:纯软件,价格较低,简单,软件调试
40、能力较强n缺点:需要事先烧制Monitor(往往需多次试验才能成功)且目标板工作正常,功能有限,特别是硬件调试能力较差。PCTargetMonitor串口嵌入式系统的调试(嵌入式系统的调试(4 4)nBDM/JTAG调试 这种方式有一个硬件调试体。该硬件调试体与目标板通过BDM、JTAG等调试接口相连,与主机通过串口、并口、网口或USB口相连。待调试软件通过BDM/JTAG调试器下载到目标板上运行。n优点:方便、简单,无须制作Monitor,软硬件均可调试n缺点:需要目标板,且目标板工作基本正常(至少MCU工作正常),仅适用于有调试接口的芯片TargetPC接口BDM/JTAG Debugge
41、r嵌入式系统的调试(嵌入式系统的调试(5 5)n全仿真调试(Emulator) 这种方式用仿真器完全取代目标板上的MCU,因而目标系统对开发者来说完全是透明的、可控的。仿真器与目标板通过仿真头连接,与主机有串口、并口、网口或USB口等连接方式。由于仿真器自成体系,调试时既可以连接目标板,也可以不连接目标板(Stand alone)。n优点:功能非常强大,软硬件均可做到完全实时在线调试n缺点:价格昂贵。ARM的调试方式n模拟调试nSDT2.52: ARMulatornADS1.2:ARMulatornTrace32:SimulatornEW-ARM:C-spyn软件调试nADS1.2:Angel
42、(串口)nSDT2.52 Angel(串口)nJTAG调试nARM:Multi-ICE,简易型仿真器nTrace32-ICD for ARMnHitex:Tanto for ARMn全仿真调试nTrace32-FIRE/ICEnARM 软件开发工具包括以下产品系列:nARM DS-5 是一个针对基于 Linux 嵌入式系统的专业软件开发解决方案,涵盖了开发的所有阶段,从启动代码和内核移植到应用程序调试和分析。DS-5 包括一个基于 Eclipse 的 IDE、编译工具、一个全功能图形调试器、完整的基于 ARM 处理器的设备的仿真模型以及若干 Linux 代码示例项目。 nDSTREAM 是一个
43、 ARM 调试和跟踪硬件单元。使用它,您可以通过如 JTAG 或串行线调试 (SWD) 一类的硬件接口将软件调试器连接到基于 ARM 处理器的目标。此外,它还允许从设备收集跟踪信息以实现非干预性调试和代码优化。 nRealView 开发套件开发套件是一套软件开发应用程序,与支持文档和示例一起使用时,可以使您能够编写、构建和调试针对 ARM 系列处理器的应用程序。RVDS 取代 ARM 开发人员套件。 nRealView ICE 和和 RealView Trace 是一个基于 JTAG 的调试解决方案,可以对在基于 ARM 体系结构的处理器上运行的软件进行调试。 nRealView 开发包开发包
44、是一套工具,与支持文档和示例一起使用时,可以使您能够编写、构建和调试针对基于 ARM 体系结构的特定处理器的应用程序。 有两种比较流行的指令集模拟器:nARMulator 由四个部分组成:处理器核模型、存储器接口、处理器接口、操作系统接口。nSkyEye 还有一些研究中的ARM指令集模拟器ARM调试工具nMulti-ICEnARM公司出品n与ADS配套使用n支持不同的ARM内核n另有Multi-trace模块可选选择实时操作系统RTOSn对于复杂的嵌入式系统应考虑使用RTOSnRTOS的作用:n提供API(应用编程接口):操作系统为应用程序员提供可供调用的API,允许程序员致力于应用程序的开发
45、 n简化系统设计:实时嵌入式系统比非实时系统更难设计. 使用实时多任务的内核能简化系统设计,可将复杂的应用程序分为几个不同的任务,由内核去对他们协调处理n实验平台如下支持ARM的实时操作系统:nuC/OSnLinux嵌入式系统编程语言nData from Japan ITRON survey for new embedded systemsType of Processors0%10%20%30%40%50%60%70%4-bits8-bits16-bits32-bits64-bitsSpecial1998-991999-002000-01Programming Languages0%10%2
46、0%30%40%50%60%70%80%90%AssemblelanguageC languageC+JavaOthers1998-991999-002000-01本节提要本节提要嵌入式系统硬件基础嵌入式系统硬件基础嵌入式系统开发环境嵌入式系统开发环境嵌入式系统硬件开发流程嵌入式系统硬件开发流程芯片封装知识简介芯片封装知识简介嵌入式系统硬件方案分析与设计n三个阶段:n系统方案分析与设计nPCB的仿真设计nPCB的调试与测试 系统方案分析与设计阶段 n根据系统所要完成的功能,选择合适的处理器和外围器件,完成系统的功能框图设计和原理图设计 PCB仿真设计阶段n需要在EDA仿真设计平台下,对PCB板
47、上的信号完整性、EMI等进行仿真,根据仿真结果来对PCB进行合理的布局布线,完成PCB的设计 PCB的加工n对加工完成的PCB进行调试和测试,完成整个系统硬件的设计 操作系统的发展n计算机系统由硬件和软件构成,在发展初期并没有操作系统这个概念,用户使用监控程序来使用计算机。随着计算机技术的发展,计算机系统的硬件、软件资源越来越丰富,监控程序已不能适应计算机应用的要求。于是在六十年代中期监控程序进一步发展形成了操作系统。到目前为止,主流的操作系统有三种:多道批处理、分时和实时操作系统。嵌入式操作系统结构n操作系统分类n微内核(micro-kernel)n单晶内核(monolithic kerne
48、l)n混合内核(hybrid kernel)嵌入式操作系统n实时操作系统的特点 IEEE 的实时UNIX分委会认为实时操作系统应具备以下的几点: 异步的事件响应 切换时间和中断延迟时间确定 优先级中断和调度 抢占式调度 内存锁定 连续文件 同步 嵌入式操作系统n实时操作系统的特点 总的来说实时操作系统是事件驱动的,能对来自外界的作用和信号在限定的时间范围内作出响应。它强调的是实时性、可靠性和灵活性, 与实时应用软件相结合成为有机的整体起着核心作用, 由它来管理和协调各项工作,为应用软件提供良好的运行软件环境及开发环境。 从实时系统的应用特点来看实时操作系统可以分为两种:和。嵌入式操作系统n实时
49、操作系统的特点应用于实时处理系统的上位机和实时查询系统等实时性较弱的实时系统,并且提供了开发、调试、运用一致的环境。 应用于实时性要求高的实时控制系统,而且应用程序的开发过程是通过交叉开发来完成的,即开发环境与运行环境是不一致。嵌入式实时操作系统具有规模小(一般在几K几十K 内)、可固化使用实时性强(在毫秒或微秒数量级上)的特点 。嵌入式操作系统n基本概念对基于芯片的开发来说,应用程序一般是一个无限的循环,可称为前后台系统或超循环系统。 很多基于微处理器的产品采用前后台系统设计,例如微波炉、电话机、玩具等。在另外一些基于微处理器应用中,从省电的角度出发,平时微处理器处在停机状态,所有事都靠中断
50、服务来完成。前后台系统n基本概念 中断服务程序处理异步事件,这部分可以看成前台行为,前台也叫中断级。时间相关性很强的关键操作一定是靠中断服务程序来保证的。 循环中调用相应的函数完成相应的操作,这部分可以看成后台行为,后台也可以叫做任务级。这种系统在处理的及时性上比实际可以做到的要差。 ISRISRISRISR后台前台中断服务程序时间前后台系统嵌入式操作系统嵌入式操作系统n基本概念操作系统是计算机中最基本的程序。操作系统负责计算机系统中全部软硬资源的分配与回收、控制与协调等并发的活动;操作系统提供用户接口,使用户获得良好的工作环境;操作系统为用户扩展新的系统功能提供软件平台。 操作系统硬件硬件驱
51、动操作系统用户程序嵌入式操作系统n基本概念实时操作系统是一段在嵌入式系统启动后首先执行的背景程序,用户的应用程序是运行于RTOS之上的各个任务,RTOS根据各个任务的要求,进行资源(包括存储器、外设等)管理、消息管理、任务调度、异常处理等工作。在RTOS支持的系统中, 每个任务均有一个优先级,RTOS根据各个任务的优先级,动态地切换各个任务,保证对实时性的要求。 实时操作系统(RTOS)嵌入式操作系统n基本概念代码的临界区也称为临界区,指处理时不可分割的代码,运行这些代码不允许被打断。一旦这部分代码开始执行,则不允许任何中断打入(这不是绝对的,如果中断不调用任何包含临界区的代码,也不访问任何临
52、界区使用的共享资源,这个中断可能可以执行)。为确保临界区代码的执行,在进入临界区之前要关中断,而临界区代码执行完成以后要立即开中断。 代码的临界区嵌入式操作系统n基本概念程序运行时可使用的软、硬件环境统称为资源。资源可以是输入输出设备,例如打印机、键盘、显示器。资源也可以是一个变量、一个结构或一个数组等。资源任务A共享资源任务B任务C信号量嵌入式操作系统n基本概念可以被一个以上任务使用的资源叫做共享资源。为了防止数据被破坏,每个任务在与共享资源打交道时,必须独占该资源,这叫做互斥。共享资源访问共享资源之前申请信号量其它任务访问受阻而不能使用共享资源得到允许后,才能使用共享资源嵌入式操作系统n基
53、本概念一个任务,也称作一个线程,是一个简单的程序,该程序可以认为CPU完全属于该程序自己。实时应用程序的设计过程,包括如何把问题分割成多个任务,每个任务都是整个应用的某一部分,每个任务被赋予一定的优先级,有它自己的一套CPU寄存器和自己的栈空间。任务嵌入式操作系统n基本概念当多任务内核决定运行另外的任务时,它保存正在运行任务的当前状态,即CPU寄存器中的全部内容。这些内容保存在任务的当前状态保存区,也就是任务自已的栈区之中。入栈工作完成以后,就把下一个将要运行的任务的当前状态从任务的栈中重新装入CPU的寄予存器,并开始下一个任务的运行。这个过程就称为任务切换。这个过程增加了应用程序的额外负荷。
54、CPU的内部寄存器越多,额外负荷就越重。做任务切换所需要的时间取决于CPU有多少寄存器要入栈。任务切换嵌入式操作系统n基本概念多任务系统中,内核负责管理各个任务,或者说为每个任务分配CPU时间,并且负责任务之间的通信。内核提供的基本服务是任务切换。使用实时内核可以大大简化应用系统的设计,是因为实时内核允许将应用分成若干个任务,由实时内核来管理它们。内核需要消耗一定的系统资源,比如25的CPU运行时间、RAM和ROM等。 内核提供必不可少的系统服务,如信号量、消息队列、延时等。内核嵌入式操作系统n基本概念调度是内核的主要职责之一。调度就是决定该轮到哪个任务运行了。多数实时内核是基于优先级调度法的
55、。每个任务根据其重要程序的不同被赋予一定的优先级。基于优先级的调度法指CPU总是让处在就绪态的优先级最高的任务先运行。然而究竟何时让高优先级任务掌握CPU的使用权,有两种不同的情况,这要看用的是什么类型的内核,是非占先式的还是占先式的内核。 调度嵌入式操作系统n基本概念非占先式内核要求每个任务自我放弃CPU 的所有权。非占先式调度法也称作合作型多任务,各个任务彼此合作共享一个CPU。异步事件还是由中断服务来处理。中断服务可以使一个高优先级的任务由挂起状态变为就绪状态。但中断服务以后控制权还是回到原来被中断了的那个任务,直到该任务主动放弃CPU的使用权时,那个高优先级的任务才能获得CPU的使用权
56、。非占先式内核嵌入式操作系统n基本概念当系统响应时间很重要时,要使用占先式内核。因此绝大多数商业上销售的实时内核都是占先式内核。最高优先级的任务一旦就绪,总能得到CPU的控制权。当一个运行着的任务使一个比它优先级高的任务进入了就绪状态,当前任务的CPU使用权就被剥夺了,或者说被挂起了,那个高优先级的任务立刻得到了CPU的控制权。如果是中断服务子程序使一个高优先级的任务进入就绪态,中断完成时,中断了的任务被挂起,优先级高的那个任务开始运行。占先式内核嵌入式操作系统n基本概念任务的优先级是表示任务被调度的优先程度。每个任务都具有优先级。任务越重要,赋予的优先级应越高,越容易被调度而进入运行态。 任
57、务优先级嵌入式操作系统n基本概念中断是一种硬件机制,用于通知CPU有个异步事件发生了。中断一旦被识别,CPU保存部分(或全部)上下文即部分或全部寄存器的值,跳转到专门的子程序,称为中断服务子程序(ISR)。中断服务子程序做事件处理,处理完成后,程序回到:1. 在前后台系统中,程序回到后台程序;2. 对非占先式内核而言,程序回到被中断了的任务;3. 对占先式内核而言,让进入就绪态的优先级最高的任务开始运行。中断前后台系统嵌入式操作系统n基本概念中断ISR任务ISR非占先操作系统任务A任务B任务CISR占先操作系统任务A任务B任务C嵌入式操作系统n基本概念时钟节拍是特定的周期性中断。这个中断可以看
58、作是系统心脏的脉动。中断之间的时间间隔取决于不同应用,一般在10ms到200ms之间。时钟的节拍式中断使得内核可以将任务延时若干个整数时钟节拍,以及当任务等待事件发生时,提供等待超时的依据。时钟节拍率越快,系统的额外开销就越大。时钟节拍使用嵌入式操作系统的优缺点n优点n使程序的设计和扩展变得容易,大大提高了开发效率。n充分发挥32位CPU多任务的潜力,实现多任务设计,能够充分利用硬件资源和实现资源共享。n实时性和健壮性能够得到更好的保证。n缺点n嵌入式操作系统增加ROM/RAM等额外开销,510的CPU额外负荷。嵌入式操作系统分类n按收费模式划分n商用型nVxworks, Nucleux ,P
59、lamOS, Symbian, WinCE, QNX, pSOS,VRTX,Lynx OS, Hopen, Delta OSn免费型nLinux, CLinux,C/OS-,eCos,uITRONn按实时性划分n硬实时nVxworksn软实时nWinCE,RTLinuxn无实时nEmbedded Linux nLinux是开放源码和免费使用的,遍布全球的众多Linux爱好者又是Linux开发的强大技术后盾。n嵌入式Linux(Embedded Linux)是指对Linux经过小型化裁剪后,能够固化在容量只有几百K字节或几兆字节的存储器芯片或单片机中,应用于特定嵌入式场合的专用Linux操作系统
60、。嵌入式Linux的开发和研究是目前操作系统领域的一个热点。主要有RTLinux和CLinuxnLinux的内核小、功能强大、API丰富,系统健壮、效率高,易于定制剪裁,在价格上极具竞争力。nLinux不仅支持x86 CPU,还可以支持其他数十种CPU芯片。n近几年Linux在嵌入式领域异军突起,过去的一年中有13%的用户已经开始使用嵌入式Linux系统进行开发工作;有52%的用户决定在未来24个月内开始使用Linux作为嵌入式操作系统的开发原型。 嵌入式Linux及应用cLinuxWindows EmbeddednWindows CE:一种针对小容量、移动式、智能化、32位、连接设备的模块化
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中山大学附属第三医院2026年合同人员招聘备考题库完整答案详解
- 2026年工程进度控制合同
- 2025年湖南省中西医结合医院湖南省中医药研究院附属医院高层次人才公开招聘13人备考题库带答案详解
- 2026年废灭蚁灵污染易发区保护保险合同中
- 2026年湿地公园保护保险合同中
- 2025年中国航空工业集团有限公司招聘备考题库带答案详解
- 2025年上饶市广信区人民法院公开招聘劳务派遣工作人员14人备考题库及参考答案详解
- 2026年兴业银行海口分行秋季校园招聘备考题库及参考答案详解一套
- 2025 九年级语文下册戏剧矛盾冲突设计课件
- 2025湖南长沙市食品药品检验所公开招聘编外合同制人员12人备考核心题库及答案解析
- 车间医药箱管理制度
- 食叶草种植可行性报告
- 落叶清扫压缩机设计答辩
- 珍爱生命活在当下-高一上学期生命教育主题班会课件
- 湖北省武汉市洪山区2023-2024学年八年级上学期期末数学试题
- 应用写作-终结性考核-国开(SC)-参考资料
- 场地租凭转让合同协议书
- 口腔科科室建设规划
- 动物活体成像技术
- 新教科版科学四年级上册分组实验报告单
- 雷达截面与隐身技术课件
评论
0/150
提交评论