第04讲_第3章嵌入式调试技术_习题2 53页-2.ppt

上传人:hyn****60 文档编号:82468274 上传时间:2023-03-25 格式:PPT 页数:54 大小:1.90MB
返回 下载 相关 举报
第04讲_第3章嵌入式调试技术_习题2 53页-2.ppt_第1页
第1页 / 共54页
第04讲_第3章嵌入式调试技术_习题2 53页-2.ppt_第2页
第2页 / 共54页
点击查看更多>>
资源描述

《第04讲_第3章嵌入式调试技术_习题2 53页-2.ppt》由会员分享,可在线阅读,更多相关《第04讲_第3章嵌入式调试技术_习题2 53页-2.ppt(54页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、嵌入式系统结构与设计基础嵌入式系统结构与设计基础第第4讲讲合肥工业大学计算机与信息学院史久根第第3章章 嵌入式微处理器技术基础嵌入式微处理器技术基础l本章主要介绍以下内容:l嵌入式微处理器典型技术l主流嵌入式微处理器l嵌入式处理器的调试技术l边界扫描测试技术JTAG1/31/20232合肥工业大学计算机与信息学院3.3 嵌入式系统调试技术嵌入式系统调试技术l指令集模拟器lROM仿真器l实时在线仿真l片上调试器与背景调试模式l基于Angle的调试方案l边界扫描测试技术和JTAG接口概述l跟踪接口ETMlNexus调试标准l半主机调试方式1/31/20233合肥工业大学计算机与信息学院嵌入式系统调

2、试技术概貌嵌入式系统调试技术概貌l嵌入式计算机调试基本结构l主机目标机结构l主机常常是PC平台l原因:l运算能力相对较弱l存储能力和显示能力较小l数据吞吐率较小l很难在目标程序运行的计算设备上直接进行硬件软件调试。1/31/20234合肥工业大学计算机与信息学院主机和目标机之间调试信道主机和目标机之间调试信道l主机往往和目标机的体系结构不同。因此,需要有通信转换器对调试信息进行转换。1/31/20235合肥工业大学计算机与信息学院3.3.1 指令集模拟器指令集模拟器l指令集模拟器lISS,InstructionSetSimulatorl在一台计算机上模拟另外一台计算机上目标程序(机器指令)运行

3、过程的软件工具l有时也叫做软仿真器l嵌入式系统开发的不可或缺工具1/31/20236合肥工业大学计算机与信息学院指令集模拟器的结构指令集模拟器的结构l指令集模拟器是一个纯软件系统l内部有一个反映目标处理器硬件的数据结构l以时序状态机的方式工作l可以根据目标机指令集定义执行目标指令l按照实现方法的不同指令集模拟器分为l解释型l编译型1/31/20237合肥工业大学计算机与信息学院指令集模拟器的运行指令集模拟器的运行l指令集模拟器的操作界面与IDE类似l模仿目标机的取指、译码和执行操作l将中间执行结果或者最终执行结果存入目标机映像数据结构l调试人员可以观察目标机映像寄存器或者映像存储器的单元,了解

4、目标代码的执行结果1/31/20238合肥工业大学计算机与信息学院指令集模拟器主要用途指令集模拟器主要用途l指令集模拟器主要用在以下几种场合:l没有目标机开发板l有目标机开发板,但使用目标机开发板成本较高l调试的程序模块不需要在实际开发板上执行,例如学习ARM汇编语言程序l模块代码的先行调试,以加快调试速度1/31/20239合肥工业大学计算机与信息学院流行的流行的ARM指令集模拟器指令集模拟器l有两种比较流行的指令集模拟器:lARMulatorlSkyEyel还有一些研究中的ARM指令集模拟器1/31/202310合肥工业大学计算机与信息学院ARM公司推出的公司推出的ARMulatorlAR

5、Mulator是业界著名的指令集仿真器l运行在PC平台上lARM体系结构的指令集模拟器l集成在SDT2.51和ADS1.2上的插件l由四个部分组成:处理器核模型、存储器接口、处理器接口、操作系统接口。1/31/202311合肥工业大学计算机与信息学院指令模拟精度的级别指令模拟精度的级别l指令模拟精度有三个级别l指令级l周期级l时序(节拍)级lARMulator完全实现了指令级和周期级模拟精度,但是没有完全实现时序级精度。1/31/202312合肥工业大学计算机与信息学院指令集模拟器指令集模拟器ARMulator对对ARM程序运行程序运行进行指令周期数统计的结果快照进行指令周期数统计的结果快照1

6、/31/202313合肥工业大学计算机与信息学院Armulator的指令周期统计结果说明的指令周期统计结果说明1/31/202314合肥工业大学计算机与信息学院SkyEyel一个ARM体系结构的嵌入式仿真和集成开发环境l国内开放源码的自由软件项目l运行环境:Linux平台和Windows的Cygwinl能够仿真的CPU包括:l不带MMU的Atmel91x40l带MMU的ARM720T等基于ARM7TDMI的内核lSkyEye还能够模拟其它一些硬件外设,如串口、网络芯片、内存、时钟等1/31/202315合肥工业大学计算机与信息学院3.3.2 ROM仿真器仿真器l嵌入式系统的程序存储器为ROM时

7、,如果调试需要修改代码、设置断点及更新程序代码,就需要进行离线编程。l离线编程是一个费时间的工作,用RAM替代ROM可以解决这个问题lROM仿真器l用RAM以及附加电路制成的替代ROM进行离线编程的工具lMCS-51单片机研发过程中常常使用ROM仿真工具1/31/202316合肥工业大学计算机与信息学院ROM仿真器照片仿真器照片l支持各种51系列芯片的JY-E2300仿真器照片1/31/202317合肥工业大学计算机与信息学院3.3.3 实时在线仿真实时在线仿真l实时在线仿真lICE,In-CircuitEmulatorl目前最为有效的调试嵌入式系统的手段l通过ICE的实际执行,开发者可以排除

8、人们难以发现的隐藏在设计方案中的逻辑错误。lICE的另外一个主要功能是在应用系统中仿真微控制器的实际执行l优点是功能强大,软硬件均可以做到完全实时在线调试;缺点是价格昂贵。1/31/202318合肥工业大学计算机与信息学院3.3.4 片上调试技术片上调试技术l片上调试技术lOCD,On-ChipDebuggingl嵌入式调试技术中运用最广泛的一种l片上调试是在CPU的内部嵌入额外的控制模块,即片上调试器;使得CPU的工作模式分为正常模式和调试模式。1/31/202319合肥工业大学计算机与信息学院常用的片上调试技术常用的片上调试技术l目前常用的片上调试技术主要有三种:l背景调试模式lBDM,B

9、ackgroundDebugModelJTAGlIEEE1149.1lNexuslIEEE-5001ISTO1/31/202320合肥工业大学计算机与信息学院背景调试模式背景调试模式l背景调试模式lMotorola公司专有的片上调试器。lMotorola公司是第一个把片上调试器集成在处理器内核中的嵌入式微处理器厂商。lBDM首先在68300系列处理器上实现l现在在其他微控制器上得到应用1/31/202321合肥工业大学计算机与信息学院BDM与与ICE的区别的区别l传统ICE调试时,使用ICE中的CPU来取代目标板中的CPU,目标板和ICE之间使用多芯扁平电缆连接。而ICE在使用时一般还需要与主

10、机(一般是PC)连接。l在BDM调试方式下嵌入式处理器被停机,各种调试命令可以被发送到处理器中访问内存和寄存器。因此,满足BDM调试的微处理器内部已经包含了用于调试的微码,调试时仿真器软件和目标板上CPU的调试微码通信,目标板上的CPU无需取出。1/31/202322合肥工业大学计算机与信息学院BDM调试器与主机和目标开发板调试器与主机和目标开发板之间的连接之间的连接 1/31/202323合肥工业大学计算机与信息学院3.3.5 基于基于Angel的调试方案的调试方案lAngel是ARM公司的调试监控程序l也称为调试代理l由多个程序部件组成l与传统调试监控程序相类似l驻留在目标机上lAngel

11、接收主机上发送过来的调试命令,执行指定的调试操作,并将调试结果反馈回主机。l适用于各种ARM硬件平台。1/31/202324合肥工业大学计算机与信息学院Angel的功能的功能lDebugcapability,includingmemoryinspection,imagedownloadandexecution,breakpointingandsinglesteplCPUandboardstartupandbasicexceptionhandlinglAfullANSIClibrary,usingsemihostingtoprovideservicesfromthehostwhicharenot

12、availableonthetargetlAfullsourcedistribution,allowingdevelopersakickstartindevelopingstandaloneapplications1/31/202325合肥工业大学计算机与信息学院有关有关Angel的主要技术文档的主要技术文档lDocumentationThemaindocumentationonAngelisprovidedinthemanualsshippedwiththeARMSDT2.50.Communicationbetweenthedebuggerandthetarget,overserial/pa

13、rallelorEthernetlinks,usesaprotocolcalledtheAngelDebugProtocol(ADP)definedinthefollowing2documentssuppliedwithSDT2.50inPDFform:lAngelDebugProtocolSpecification(DUI0052C)lAngelDebugProtocolMessagesSpecification(DUI0053D)1/31/202326合肥工业大学计算机与信息学院Angel调试协议的主机端组件调试协议的主机端组件1/31/202327合肥工业大学计算机与信息学院Angel调

14、试协议的目标端组件调试协议的目标端组件1/31/202328合肥工业大学计算机与信息学院3.3.6 边界扫描测试技术边界扫描测试技术l边界扫描测试技术和JTAG接口是嵌入式系统最具特色的技术l集成电路研制时的内部电路测试l嵌入式软件开发时的程序调试l将在后续课程中详细介绍1/31/202329合肥工业大学计算机与信息学院ARM处理器的处理器的JTAG调试结构调试结构1/31/202330合肥工业大学计算机与信息学院英蓓特公司的英蓓特公司的ARM仿真器照片仿真器照片lJTAG实时在线协议转换器通常称为JTAG调试器(或JTAG仿真器),由于ARM处理器广泛使用,通常也把ARM处理器的JTAG实时

15、在线协议转换器称为ARM仿真器。右面给出了深圳市英蓓特公司的ARM仿真器照片。1/31/202331合肥工业大学计算机与信息学院JTAG仿真器连接仿真器连接lJTAG仿真器连接比较方便,通过现有的JTAG边界扫描口与ARMCPU核通信,属于完全非插入式(即不使用片上资源)调试,它无需目标存储器,不占用目标系统的任何端口,而这些是驻留监控软件所必需的。另外,由于JTAG调试的目标程序是在目标板上执行,仿真更接近于目标硬件,因此,许多接口问题,如高频操作限制、AC和DC参数不匹配,电线长度的限制等被最小化了。l使用集成开发环境配合JTAG仿真器进行开发是目前采用最多的一种调试方式。l可用于开发和调

16、试包含JTAG接口的ARM电路板。1/31/202332合肥工业大学计算机与信息学院ARM处理器的处理器的实时实时JTAG仿真器仿真器与开发板的连线图与开发板的连线图1/31/202333合肥工业大学计算机与信息学院实时在线仿真(实时在线仿真(ICE)与)与JTAG的区别的区别l实时在线仿真系统的硬件主体是在线仿真器(ICE)。在8位单片机调试过程中,可以用这种ICE仿真器完全取代目标板上的MCU。因而目标系统对开发者来说完全是透明的、可控的。对16和32位的单片机还不能做到完全取代。lJTAG调试在内嵌了IEEE1149标准电路的CPU上进行,调试时不需要更换CPU。适用于8、16、32位的

17、CPU。1/31/202334合肥工业大学计算机与信息学院Angel与与JTAG的关系的关系lJTAG调试:协议转换器解释上位机传送过来的命令,通过JTAG控制ARM执行。lAngel调试:协议转换器可以直接作为目标板的Firmware的一部分,直接执行从宿主机传送过来的调试命令;并回送相应的数据。lAngel可以节省专门的JTAG仿真器,但是,它需要软件,或者是嵌入式操作系统的支持,做不到完全的实时仿真,而JTAG仿真是通过硬件和控制ARM的EmbeddedICE实现的,可以做到实时仿真。1/31/202335合肥工业大学计算机与信息学院英蓓特英蓓特ARM仿真器的主要特征仿真器的主要特征l下

18、载速度达25KB/S;l支持主流开发环境ADS、EmbestIDE、SDT;l支持各种ARM系列处理器;l支持标准的14/20针JTAG接口;l支持最多两个硬件断点/两个数据断点/不限数目的软件断点;l支持汇编级调试,支持ARM、THUMB及指令集交叉调试;l支持标准C语言程序调试;l支持Flash在线编程;l通过软件升级方式支持更高版本的ARM核处理器。1/31/202336合肥工业大学计算机与信息学院3.3.7 嵌入追踪宏单元嵌入追踪宏单元ETMl跟踪追踪宏单元ETMl也称为跟踪调试接口lARM公司开发的一种高级实时软件开发调试工具,是ARM片上系统的一个组件。l在CPU运行过程中把现场信

19、息捕捉压缩后输出,然后在PC端就可以对这些数据进行解压分析。1/31/202337合肥工业大学计算机与信息学院ETM嵌入跟踪宏单元嵌入跟踪宏单元本质上ETM相当于一个嵌入芯片的逻辑分析仪1/31/202338合肥工业大学计算机与信息学院JTAG仿真器和仿真器和ETM的功能区别的功能区别l基于JTAG的仿真器debug方法是利用芯片内部的EmbeddedICE模块来控制内核,达到单步/断点等调试目的,这种方法的特点是需要把目标CPU停住后才能观察现场情况。在真正的实时系统中,停止CPU运行往往导致现场失真,ETM就能够在CPU运行过程中把现场信息捕捉压缩进行输出,然后在PC端就可以对这些数据进行

20、解压分析;用户还可以对ETM设置很多过滤及触发条件,对一些随即出现的异常进行捕捉(还能得到异常前后一段时间内的系统信息)。本质上ETM相当于一个嵌入芯片内部的逻辑分析仪。1/31/202339合肥工业大学计算机与信息学院3.3.8 Nexus调试标准调试标准lNexus5001论坛l飞思卡尔公司、福特汽车公司和风河公司等世界领先的嵌入式系统开发厂商于1998年成立了该论坛。l官方网址是:http:/www.nexus5001.orgl属于IEEE工业标准和技术组织(IEEE-ISTO)的一个项目l目前已经有24个团体会员l该论坛提出的调试标准称为Nexus调试标准1/31/202340合肥工业

21、大学计算机与信息学院Nexus 5001论坛目标论坛目标lNexus5001论坛追求提高实时可视性和多嵌入式处理器内核的可控性l致力于提出一个在JTAG之上的全球范围适用的开放性嵌入式处理器调试标准l该技术标准被称为Nexus5001标准,简称为Nexus标准1/31/202341合肥工业大学计算机与信息学院3.3.9 半主机调试方式半主机调试方式l半主机的英文原文是“semihosting”l也称为半主机机制、半主机方式、半主机调试或者半主机调试方式。l目前的几种ARM调试器都支持的半主机调试功能。l半主机的实质是让不支持ANSIC函数库功能的目标系统使用调试主机提供的C函数库功能。l以下给

22、出ADS集成开发环境的调试界面举例1/31/202342合肥工业大学计算机与信息学院ADS1.2 IDE的半主机方式界面的半主机方式界面1/31/202343合肥工业大学计算机与信息学院ADS1.2 IDE的主要工具窗口的主要工具窗口1/31/202344合肥工业大学计算机与信息学院ARM公司的公司的ARM开发工具简介开发工具简介lARM公司的ARM开发工具路线图lSDT SDT ADS ADS RealViewRealViewlADS包括了四个模块l分别是:模拟器;C编译器;实时调试器;应用函数库。lADS1.2提供完整的Windows界面开发环境。C编译器效率极高,支持C以及C+,提供软件

23、模拟仿真功能,使没有开发板的学习者也能够熟悉ARM指令系统。配合ARMJtag仿真器使用,可细察ARM板运行情况。lADS1.2需要硬件支持才能调试目标板。目前支持的硬件调试器有Multi-ICE以及兼容Multi-ICE的调试工具。而简易下载电缆不能支持ADS1.21/31/202345合肥工业大学计算机与信息学院ADS调试工具调试工具AXD的两种调试方式的两种调试方式lADPlAngelDebuggingProtocallARM公司的Angel调试协议,建立主机和目标机之间的可靠的通信连接lARM公司研发的基于ADP通信协议的调试器称为Angel调试l内核信号的采集和预设使用了JTAG标准

24、,针对开发板进行调试lArmulatorlARM公司的模拟器l对ARM处理器的代码进行模拟运行,无须开发板1/31/202346合肥工业大学计算机与信息学院AXD的两种调试方式的选择对话框的两种调试方式的选择对话框l下面是AXD的TargetConfig操作对话框截图1/31/202347合肥工业大学计算机与信息学院AXD的的ADP调试方式选择调试方式选择lAXD的TargetConfig操作对话框截图之二1/31/202348合肥工业大学计算机与信息学院基于基于ADS的应用程序调试的应用程序调试l需要掌握的调试技术l基于模拟器的半主机调试l无操作系统的驱动程序与应用程序l含操作系统uCOS-

25、II的驱动程序与应用程序l进一步提高的调试技术l基于行命令的ADS工程文件建立、编译和调试luCOS-II的库函数文件编译和调试lBIOS的编译和调试1/31/202349合肥工业大学计算机与信息学院第第4讲重点讲重点l指令集模拟器ISSl实时在线仿真ICEl片上调试器OCDl背景调试模式BDM、JTAG、Nexusl基于Angle的调试方案l边界扫描测试技术和JTAG接口概述l跟踪接口ETMl半主机调试方式1/31/202350合肥工业大学计算机与信息学院第第4讲讲 复习题与思考题复习题与思考题lPC和嵌入式系统的调试技术有什么主要不同之处?l什么是背景调试?l指令集模拟器SkyEye和AR

26、Mulator各有什么特点?l请简单地概述JTAG测试技术。l基于Angel的调试方案是怎么一回事?l试描述ETM与JTAG的异同点。lARM仿真器的作用是什么?l能够完全取代目标板的ICE仿真器是什么样的仿真器。lNexus调试标准的用途是什么?l何谓半主机方式?1/31/202351合肥工业大学计算机与信息学院第第4讲讲 复习题和思考题(续)复习题和思考题(续)l基于ADS1.2的半主机方式的调试技术体验1)编写C程序或者ARM汇编程序,完成一个求整数平方根的代码。该整数从主机键盘输入,结果在ADS的控制台窗口上输出。2)编写一个ARM汇编程序调用C程序的代码。它将两个二维矩阵A和B的相加,输出和矩阵C=A+B。用半主机方式输入A矩阵和B矩阵的整数元素,然后调用C语言程序,计算矩阵C并输出之。1/31/202352合肥工业大学计算机与信息学院第第2次习题布置次习题布置l题1,试说明嵌入式系统有哪几种主要的调试手段。l题2,半主机方式是否是一种通用的调试方式?1/31/202353合肥工业大学计算机与信息学院第第4讲结束讲结束谢谢!1/31/202354合肥工业大学计算机与信息学院

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁