嵌入式课程-第1讲(嵌入式系统综述).ppt
1,嵌入式系统理论与技术,电信学院 高 学 Office:逸夫科学馆303A,2,第一讲 嵌入式系统综述,课程设置相关问题课程主要内容课程设置安排实验室环境嵌入式系统的基本概念嵌入式系统的定义嵌入式系统的构成要素微处理器操作系统嵌入式系统的基本开发流程开发流程调试方法,3,课程设置的必要性,国家中长期科学和技术发展规划纲要(20062020年):优先支持主题之一:现代服务业信息支撑技术及大型应用软件 重点研究开发金融、物流、网络教育、传媒、医疗、旅游、电子政务和电子商务等现代服务业领域发展所需的高可信网络软件平台及大型应用支撑软件、中间件、嵌入式软件、网格计算平台与基础设施,软件系统集成等关键技术,提供整体解决方案。,4,广东省科学和技术发展“十一五”规划重点领域和优先主题之一:信息与通信发展思路:一是以通信产业为重点,突破核心技术,获得自主知识产权,三是重视应用软件的研究,促进软硬件技术共同发展;四是加强社会各领域信息技术的研发,提高全社会信息化水平。优先主题:新一代移动通信技术、构件化软件生产技术、Linux软件技术、嵌入式软件新技术、数字音视频技术、高速、大容量光纤传输技术、信息显示材料及元器件、核心芯片设计与制造。,5,课程设置的必要性,应用需求日益复杂微处理器技术长足发展社会对嵌入式技术人才的需求据统计2002年16/32位嵌入式处理器的销售额已接近70亿美元 嵌入式软件技术成为核心,6,嵌入式处理器快速成长,$70亿,7,了解嵌入式系统的概念和体系结构掌握嵌入式系统的软硬件开发方法开发和调试流程开发工具培养能力培养快速、高效的英文专业资料阅读能力培养实验操作和解决问题的能力培养细致、耐心、坚持不懈的科研精神自主创新、团结合作,课程目的,8,课程主要内容,嵌入式系统综述ARM体系结构与指令系统、编程模型PXA270处理器及ADS 开发硬件平台介绍ADS1.2软件开发环境及实验内容介绍嵌入式Linux的开发环境及工具介绍BootLoader与嵌入式LINUX内核分析嵌入式LINUX的文件系统嵌入式Linux下设备驱动程序开发应用软件及Qt开发,9,课程安排(1),第一讲 嵌入式系统概述简要介绍嵌入式系统的基本概念、ARM微处理器的分类及特点、嵌入式操作系统的分类及其特点,以及嵌入式系统的开发过程。第二讲 ARM体系结构与编程模型主要介绍ARM处理器核的结构、存储器结构和JTAG接口,以及ARM处理器的编程模型。第三讲ARM指令系统介绍ARM体系的指令系统和寻址方式,包括32位的ARM指令集和16位的Thumb指令集,以及ARM宏汇编与汇编程序设计基础。,10,课程安排(2),第四讲 PXA270处理器及ADS 开发硬件平台介绍PXA270的总体结构、存储器组织、系统控制模块、外围控制模块,以及ADS开发板的结构、相关实验内容。第五讲 嵌入式linux开发基础介绍基于PXA270的嵌入式Linux的交叉开发环境的创建过程、基本开发工具、以及进行简单应用程序设计的方法。,11,课程安排(3),第六讲 BootLoader与嵌入式LINUX引导分析介绍基于PXA270开发系统的BootLoader的功能与结构、以及嵌入式Linux的引导过程。第七讲 嵌入式LINUX的根文件系统介绍嵌入式linux的根文件系统的基本结构、文件系统类型的选择以及创建过程。第八讲 嵌入式LINUX设备驱动程序介绍嵌入式linux的设备驱动的基本概念、结构框架与实现,以及帧缓冲显示驱动的使用方法。,12,课程安排(4),第九讲 串口通讯与短信收发系统设计介绍基于GPRS硬件模块和Qt编程环境的短信收发系统的实现方法。,13,课程安排(5),实验环节1.系统引导及LCD显示实验 2.eLinux系统构建实验 VMWarelinux的熟悉和使用 Linux基本操作 交叉编译环境的创建 MakeFile的编写和使用 BootLoader的编译、下载与使用 内核与文件系统编译下载,14,课程安排(5),3.嵌入式Linux设备驱动实验 基本的编程实现 数码管驱动与按键驱动的结构分析及使用方法4.串口通讯与短信收发系统综合实验 基于Qt的嵌入式GUI程序设计 串口通讯程序设计 短信收发程序设计 程序编译下载与运行,15,评分标准,课堂表现与出勤率:20实验表现:50实验报告:30,16,课件资源,ftp服务器:,port:21 user:emb,pwd:embededIntel PXA270处理器参考手册ADS开发系统参考手册嵌入式Linux BSP开发软件包课程讲义,17,ARM中文版图书,18,参考书及资料(一),马忠梅等,ARM&Linux嵌入式系统教程,北航出版社,2004陈文智等,嵌入式系统开发原理与实践,清华大学出版社,2005 马忠梅,ARM嵌入式处理器结构与应用基础,北航出版社,2002陈章龙,嵌入式系统Intel StrongARM结构与开发,北航出版社,2002李驹光,ARM应用系统开发详解,清华大学出版社,2003,19,参考书及资料(二),ARM System-on-chip Architeture(中文版),北航出版社,2002Craig Hollabansh,陈雷等译,嵌入式linux硬件、软件与接口,电子工业出版社,2003Alessandro Rubini,魏永明等译,linux设备驱动程序,第二版,电力出版社,2002MC9328MX1用户手册,Motorola,2002构建嵌入式Linux系统,中文版,2005中国Linux论坛 嵌入式世界,20,专用计算机系统(非PC智能电子设备)微处理器、定时器、存储器、传感器嵌入式的微型操作系统应用软件,嵌入式系统的定义(1),以应用为中心的定义 以应用为中心以计算机技术和通讯技术为基础软件与硬件可剪裁满足系统对功能、成本、体积和功耗等要求,21,知识集成系统技术密集资金密集高度分散不可垄断面向应用不断创新,嵌入式系统的定义(2),嵌入式Internet技术是指设备通过嵌入式模块而非PC系统直接接入Internet,以Internet为介质实现信息交互的过程,22,典型嵌入式系统的基本结构,嵌入式处理器,外围设备,嵌入式操作系统,嵌入式应用软件,软件系统,硬件系统,23,嵌入式硬件系统嵌入式处理器各种存储器电源部分接口控制器及外围设备,嵌入式硬件系统的基本构成,24,典型嵌入式硬件系统,25,嵌入式软件系统要素,嵌入式软件系统板级支持包(BSP)设备驱动嵌入式操作系统协议栈应用程序等,26,嵌入式系统的几个特征,系统精简 可用资源有限,其硬件和软件系统必须高率、量体裁衣。通常的原则:满足功能,尽可能精简。专用性强硬件和软件系统结合非常紧密。产品具有较长的生命周期。,27,嵌入式系统的几个特征,高可靠性高可靠性是嵌入式应用的基本要求。大多数应用要求较强的实时性。专用开发工具和环境 嵌入式系统本身不具备自举开发能力,必须有一套专用开发工具和环境。,28,嵌入式处理器分类,嵌入式微处理器(EMPU)例如:龙珠系列处理器,pxa270等。嵌入式微控制器(EMCU)例如:8051等嵌入式DSP处理器例如:TI公司的TMS320等嵌入式片上系统(SOC-System On Chip),29,嵌入式微处理器(EMPU),由通用计算机的CPU发展而来与通用CPU区别:只保留和嵌入式应用紧密相关的功能硬件,去除其他的冗余功能部分工作温度、抗电磁干扰、可靠性等得到加强 需要配备ROM、RAM、FLASH等外设,可靠性与技术保密性降低。,30,典型的嵌入式微处理器,MIPSX86系列Am186/188、386EX开发方便,移植容易体积大、功耗高、实时性差ARM系列小体积、低功耗、低成本、高性能支持16/32位双指令集全球众多的合作伙伴PowerPC系列Motorola和IBM联合开发的微处理器核另外还有SPARC、68000,SC-400等,31,典型的嵌入式微处理器MIPS,MIPS公司是一家设计制造高性能、高档次及嵌入式32位和64位处理器的厂商,在RISC处理器方面占有重要地位MIPS于80年代处开始RISC处理器设计,90年代中后期开始将战略重点放在嵌入式处理器设计1999年,MIPS发布了MIPS 32和MIPS 64架构标准,为MIPS处理器的开发奠定了基础MIPS公司开发了32位高性能,低功耗的处理器内核MIPS 32 4Kc和64位的处理器内核MIPS 64 5Kc应用范围:机顶盒、视频游戏机、Cisco路由器、激光打印机,32,典型的嵌入式微处理器PowerPC,PowerPC架构特点:可伸缩性好,方便灵活既有通用处理器,也有嵌入式微控制器和内核,应用范围非常广泛,从高端服务器、工作站到PC,从消费类电子到通信设备基于PowerPC架构的处理器有:IBM开发的PowerPC 405 GP,集成了10/100M以太网控制器、串行和并行接口、内存控制器及其他外设的高性能嵌入式处理器MPC823e是一款高度综合的片上系统(SOC),33,典型的嵌入式微处理器x86,由8086系列处理器发展而来 最早的嵌入式处理器,目前在网卡、终端设备、工控等仍有不少应用。典型产品Am186/188,386EXNS Geode GX1 300MHZ主要特点开发容易方便移植体积大,功耗高,实时性差,34,嵌入式微控制器(EMCU),主要是指单片机片内集成ROM/EPROM、RAM、FLASH/EEPROM、总线、定时器、计算器、看门狗、I/O、串行口、PWM(脉宽调制输出)、A/D、D/A、等各种必要功能和外设特点单片化,体积小,功耗低,可靠性强。仍是嵌入式处理器的主流,占70左右,35,典型的嵌入式微控制器,典型器件:通用系列:8051、P51XA、MCS-251、MCS-96/196/296、C166/167、MC68HC05/11/12/16、68300等半通用系列:支持USB接口的MCU 8XC930/931、C540、C541;支持I2C、CAN-Bus、LCD的众多专用MCU和兼容系列,36,嵌入式DSP(EDSP),系统结构和指令算法经过特殊设计,增强了数字信号处理能力(数字滤波、FFT、谱分析等)适于运算量大,特别是向量运算、指针线性寻址较多的智能算法实现 主要应用于带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘,ADSL接入、实时语音压解系统,虚拟现实显示等 代表产品有TI的TMS320C2000/C5000 和Motorola的DSP56000,37,嵌入式SOC,System On Chip,片上系统/系统芯片将很多功能模块集成到单个芯片上各种通用处理器内核作为SOC设计公司的标准库,用VHDL等语言描述除个别无法集成外,嵌入式系统的大部分集成到一或几片芯片中优点可利用降低片内工作电压,减少功耗减少芯片对外引脚数,使系统板简洁,减小体积减少原来芯片间的信号传递,提高了处理速度;减少信号传递过程中可能造成的干扰,提高了可靠性软硬件无缝结合,可直接片内嵌入操作系统代码模块,38,不同体系结构嵌入式CPU销售量对比,39,关于ARM,ARM=Advanced RISC MachineRISC 的典型代表32位处理器技术嵌入式领域的主力军ARM的产品ARM处理器内核,以IP形式提供给IC生产厂家硬核:有和特定工艺相连系的物理版图。软核:用硬件描述语言或C语言写成,用于功能仿真ARM开发工具、SOC开发工具、评估板等ARM公司不生产芯片,40,ARM是Advanced RISC Machines的缩写,ARM处理器采用RISC(Reduced Instruction Set Computer)技术,即采用精简指令集体系结构。RISC相对于CISC体系结构,其设计思路是如何使计算机结构更加简单合理地提高运行速度。目前它还没有严格的定义。据统计,CISC的指令集中,约20的指令使用频率占80,而80指令的使用频率仅占20。,ARM处理器(1),41,CISC与RISC,CISCComplex Instruction Set Computer,复杂指令集Intel,IA(Intel Architecture)32架构AMDRISCReduced Instruction Set Computer,精简指令集SPARC,Sun与TI开发PA-RISC,HP开发Alpha,Compaq开发PowerPC,IBM与Motorola开发MIPSARM二者在软件和硬件上都不兼容,42,RISC体系结构特点采用固定长度的指令格式,指令规整、简单(ARM指令为32位)。使用单周期指令,便于流水线操作。大量使用寄存器(ARM共有37个寄存器),数据处理指令只对寄存器操作,访问存储器只使用Load/Store指令。,ARM处理器(2),43,ARM处理器的特点小体积、低功耗、低成本、高性能支持Thumb(16位)/ARM(32位)双指令集,提高指令密度大量使用寄存器大多数数据操作都在寄存器中完成。寻址方式简单灵活指令长度固定(16/32位),ARM处理器(3),44,典型的ARM微处理器(一),Intel公司的StrongARM系列:SA-110/1100/1101/1110/1111,用于Palm Pocket PC等Intel公司的XScale系列:PXA210/220/250/255Cirrus Logic公司的ARM系列:EP7209/7211/7212/7312/9312,PS7500FE,用于MP3Samsung公司的ARM系列:S3C44B0,S3C2400,S3C4510,用于ADSL和PDAFreeScale半导体的DragonBall MX系列,用于PDA等,45,典型的ARM微处理器(二),Qualcomm 公司的MSP1000、MSM3000、MSM5000、MSM6000,用于 CDMA Philips 公司的SAA7750、VWS22100、VCS94250、VWS26001,用于 MP3,GSM,3G,BTTriscend 公司的ARM产品:A7,46,ARM的广泛应用,47,嵌入式操作系统,48,操作系统简述,操作系统:能够在核心态运行,并能够根据程序要求对硬件资源和软件资源进行直接控制管理的、有着一定复杂逻辑算法关系的一组程序的集合。操作系统的发展简单批处理多道程序设计的批处理分时操作系统使用操作系统的好处和坏处底层硬件抽象化,多任务,在比较复杂的应用情况下优势明显占用系统资源,简单应用情况下增加开发难度,49,嵌入式操作系统简介,嵌入式操作系统,负责嵌入式系统的全部软、硬件资源的分配、调度,控制、协调并发活动嵌入式系统有多种操作系统可供选择VxWorks,Palm OS,pSOS,OS-9,QNX,uCOS-IIWindows CE,NT,XP(如Windows Embedded Standard 2009)Linux,uCLinuxAndroid,50,除具有普通操作系统的功能如任务调度、中断处理等外,嵌入式操作系统还有以下特点:编码体积小,适合有限的存储空间面向应用,可裁减和移植实时性强,又称实时多任务操作系统。可靠性高以及较强的网络功能。价格便宜,嵌入式操作系统的特点,51,嵌入式操作系统的分类(1),按体系的分类Windows兼容系列Windows CE/NT/XPLinux类eLinux,uCLinux,RTLinux,Android通信领域嵌入式操作系统VxWorks,VRTX,QNS,pSOS单片机类iRMX,CMX,uC/OS面向Internet类:Palm OS,Visor,Hopen等,52,嵌入式操作系统的分类(2),按商用和免费分类:免费型Linux:开放源码;内核小,效率高;易裁减;支持多种CPU和硬件平台;众多的开发工具;强大的技术支持;强大的网络功能;图像处理、文件管理、多任务支持UC/OS:源码公开;可移植,C+汇编;可固化,成为产品的一部分;可剪裁;占先式,总是运行就绪条件下优先级最高的任务;多任务,8+56;可确定性,执行时间可知;任务栈;系统服务;中断管理,255层嵌套;稳定性与可靠性。,53,嵌入式操作系统的分类(3),Android:2007年11月5日,Google(谷歌)收购由Motorola几个工程师创业研发的基于Linux的手机操作平台后,成立基于该平台的开源手机操作系统开发联盟,并命名为“Android”。Android平台由操作系统、中间件、用户界面和应用软件组成,为移动终端打造的真正开放和完整的移动软件。,54,嵌入式操作系统的分类(4),商用型VxWorks:支持多种处理器,使用最广泛。Windows CE:掌上设备、无线设备。基于Windows背景,界面美观。内核需要至少200K的ROM。Palm OS:3COM,Palm Computing掌上电脑公司;PDA。pSOS:WindRiver公司。OS-9:Microwave公司;灵活性和可升级性突出。,55,嵌入式操作系统的分类(5),按实时/非实时来分类实时操作系统:VxWorks,RTLinux弱实时操作系统:Windows CE/NT/XP非实时操作系统:Linux,uClinux,56,实时系统是指能够在指定或者确定的时间内,完成系统功能,及对外部或者内部事件在同步或者异步时间内作出响应的系统。实时性的衡量指标响应时间:对外部事件做出响应的时间。生存时间:数据的有效等待时间。吞吐量:一定时间内,处理事件的总数。,实时系统的概念(1),57,实时系统的分类根据响应时间分:弱实时系统:要求各任务运行越快越好,但并不严格限定在规定时间内完成,如手机、银行计算机系统。强实时系统:要求系统能够在规定的时间内完成任务,如航天控制系统,通常在毫秒或微妙级。,实时系统的概念(2),58,实时系统的分类根据确定性分类:硬实时系统:对系统响应时间有严格要求,如果不能满足,就会引起系统崩溃或致命错误。软实时系统:对系统响应时间有要求,但是,如果响应时间不能满足,不会导致系统崩溃或出现致命错误。,实时系统的概念(3),59,IEEE的UNIX委员会规定了实时操作系统需要具有的特点:支持异步的事件响应 中断和调度任务的优先级机制 支持抢占式调度确定的任务切换时间和中断延迟时间内存锁定功能连续文件支持支持同步,实时操作系统的特点,60,实时内核主要实现任务管理、定时器管理、存储管理、任务间通信与同步,中断管理等。实时网络组件内核的一个上层功能组件,为应用程序提供网络服务,实时操作系统的组成(1),61,文件系统负责存取和管理文件信息,包括文件的建立、撤销、组织、读写、修改、复制及对文件管理所需要的资源实施管理等较为复杂的应用一般需要文件系统。图形接口提供用户界面开发能力,可裁剪。,实时操作系统的组成(2),62,管理内容:建立任务删除任务挂起任务恢复任务对任务的响应、切换任务调度实时性的关键:调度算法基于优先级的抢占式调度算法同一优先级的时间片轮转调度算法单调速率调度算法。,实时内核的任务管理,63,就绪态任务就绪后进入等待队列,等待调度。运行态获得CPU和资源使用权。挂起态运行的任务时因申请资源等原因而被挂起,等待运行条件的满足。休眠态在内存中但不被调度的任务状态。中断状态:被中断任务的状态。,实时内核中任务的状态,64,基于优先级的抢占式调度算法,优先级调度原则高优先级任务优先得到系统资源抢占式调度原则高优先级任务能够抢占低优先级任务的CPU控制权。特点:任务级响应时间最优化,且是确定的。非抢占式调度原则只允许中断抢占运行中任务的CPU控制权。特点:任务级响应时间不确定,但对中断响应快。,65,同一优先级的时间片轮转调度算法,就绪队列中存在2个以上相同优先级任务;各任务均执行一段特定的时间片;超时的任务放到就绪队列中。单调速率调度算法一种优先级确定算法任务的执行频率越高,优先级就越高。,66,目的:内存资源的合理分配和存储保护功能。方法:大多数嵌入式实时操作系统内核不采用虚拟内存管理;内存分成若干大小不等的区和块的分配方法。,实时内核的内存管理,67,任务间通信方式:共享数据结构和消息机制共享数据结构的互斥方法:开/关中断设置标志位(全局变量)信号量(二进制信号量和计数型信号量)消息机制消息通常是一个指针变量,指向内容为消息。邮箱方式消息队列方式(允许存放多个消息)任务间同步:信号量 信号量:代表某个事件是否发生,任务间通信与同步,68,内核的定时器管理根据系统的实时时钟完成与延时、定时、超时等相关的操作。中断管理中断初始化现场保存和恢复中断嵌套管理等。,定时器管理与中断管理,69,微软公司的一款小规模而又高度可定制的操作系统1996年发布Windows CE 1.02004年7月发布了Windows CE.NET 5.0。主要应用领域有:PDA、Pocket PC、Smartphone、工业控制、医疗等。丰富开发工具:Embedded Visual C+、Embedded Visual Basic、Visual Studio.NET 实时性:弱实时,Windows CE,70,WindRiver公司的一种嵌入式实时操作系统 持续发展能力、高性能的内核以及友好的用户开发环境 应用领域:通信、军事、航空航天等实时性要求很高的场合实时性:强实时,VxWorks,71,标准linux经过裁剪后,能够固化在几百k或者几MB存储芯片中,适用于特定应用场合的专用linux操作系统。不同实时等级的版本强实时:RTLinux弱实时:普通linux,ucLinux。(分时,核心不可抢占),嵌入式linux,72,源码开放,软件丰富 linux是内核代码完全开放的自由操作系统Linux的软件资源十分丰富,其应用软件开发一般不需要从头做起,可以找到类似功能的自由软件为原型,进行二次开发。,嵌入式Linux的特点(1),73,强大的网格功能支持 支持所有标准的Internet网络协议,并且可以很容易的移植到嵌入式系统中。完备的工具链 完整的工具链,包括GNU的gcc、gdb、kgdb、xgdb等。,嵌入式Linux的特点(2),74,广泛的硬件支持能够支持x86、ARM、MIPS、PowerPC等多种体系结构。丰富的驱动程序资源,支持各种主流硬件设备和最新硬件技术。,嵌入式Linux的特点(3),75,几种嵌入式Linux(1),uCLinux:为支持没有MMU的处理器而对标准Linux作出的修正,它不支持实时性。没有内存管理单元不支持虚拟内存管理技术,而是采用实存储管理策略。普通嵌入式Linux通过普通Linux的裁剪可得到。支持MMU,非实时性。,76,几种嵌入式Linux(2),RTLinux与RTAIRTLinux支持实时性,它通过在普通Linux内核下层增加一个实时内核实现了实时性。RTAI(Real-time Application Interface)通过在Linux上定义一个实时硬件抽象层(RTHAL),为普通Linux的实时性提供了解决方案。,77,RTLinux的双内核结构,硬件,RTLinux内核,实时调度器,Linux内核,A,C,B,A,B,实时任务,用户进程,软件中断,硬件中断,78,Symbian OS 是由爱立信、诺基亚、摩托罗拉和Psion共同出资开发的手机操作系统,在智能手机领域占有优势。,Symbian OS,79,Android采用了分层的系统架构:应用层、应用框架层、系统运行库层、linux核心层应用层:包括预置的一些核心应用程序,如email客户端、短消息程序、地图、浏览器等。使用Java开发完成。应用程序框架层:开发程序时可以调用的一些API接口系统运行库层:提供了Java语言核心库的大多数功能。LINUX核心层:Android依赖于linux内核版本2.6的核心系统服务,例如安全、内存管理、进程管理、网络栈、驱动模块。最新版本为3.0 Honeycomb(蜂巢),专为平板电脑设计,增强了3D特性,改善了视觉体验,Android,80,嵌入式系统的应用实例,81,嵌入式系统的应用领域,网络家电多媒体通信个人数据处理国防工业智能交通微电子机械(MEMS)中的应用工业控制生物微电子技术中的应用,82,嵌入式系统的开发流程,确定产品需求,选择主要芯片,确定编程语言,选择开发环境,RTOS的使用,测试工具与其他辅助设备,83,开发环境,什么是嵌入式开发环境:,编译器/汇编器/链接定位器调试器/仿真器主机(Host)及其工作平台实时操作系统(可选)目标评估系统(可选)测试工具(软件/硬件/协议等,可选)其他辅助设备(可选),84,开发环境,源程序,目标文件,可重定位程序,可执行文件,典型的开发环境,85,嵌入式开发的几种调试模式(1),嵌入式开发和调试工作通常要通过高性能的宿主机完成。嵌入式应用软件通过交叉编译器,完成交叉编译和连接后下载到目标机。宿主机:进行嵌入式软件开发的主机目标机:将要开发的目标板,86,嵌入式开发的几种调试模式(2),嵌入式系统的调试有四种基本方法:模拟调试(Simulator)全仿真调试(Emulator)BDM/JTAG调试(BDM/JTAG Debugger)软件调试(Debugger),87,嵌入式开发的几种调试模式(3),模拟调试它通过基于宿主机的软件,在主机上模拟目标机中处理器的功能和指令。如ARM公司的ARMulator模拟器。它虽然简单可行,但是缺乏在线调试和实时仿真功能。,88,嵌入式开发的几种调试模式(4),在线仿真(ICE)它通过在线仿真器,取代目标板的CPU,仿真嵌入式处理器芯片的行为。它支持单步执行、断点、反汇编、源程序级调试。优点:功能非常强大,软硬件均可做到完全实时在线调试缺点:价格昂贵。,89,嵌入式开发的几种调试模式(5),JTAG仿真器 ARM处理器内含Embeded ICE 宏单元,并留有JTAG调试接口,支持在线仿真。它无需目标存储器,不占用目标系统的端口。使用集成开发环境配合JTAG仿真器是目前最常用的一种调试方式。,90,嵌入式开发的几种调试模式(6),ROM Monitor方式(或Angel方式)ROM Monitor(或Angel)是运行在目标机的Flash或ROM的一段程序,它主要负责监控目标机上被调试程序的运行情况。通过和宿主机的配合,完成嵌入式系统的调试。它是目前低廉有效的一种调试方式。使用Metrowerks公司的CodeWarrior进行开发调试时要用到的Metro-TRK就属于这类软件。,91,Angel方式示意图,嵌入式开发的几种调试模式(7),92,测验1,列举嵌入式系统的几个特征。RISC结构的特点是什么?实时系统的衡量指标有哪些?列举几个实时系统的典型任务调度算法及其特征。嵌入式Linux有哪几个版本?RTLinux如何实现实时性的?嵌入式系统开发的4种基本调试模式是什么?,