嵌入式调试技术优秀PPT.ppt
《嵌入式调试技术优秀PPT.ppt》由会员分享,可在线阅读,更多相关《嵌入式调试技术优秀PPT.ppt(110页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、嵌入式调试技术嵌入式调试技术你现在浏览的是第一页,共110页2022/10/18曲阜师范大学 计算机科学学院2第第3章章 嵌入式微处理器技术基础嵌入式微处理器技术基础l本章主要介绍以下内容:l嵌入式微处理器典型技术l主流嵌入式微处理器l嵌入式处理器的调试技术l边界扫描测试技术JTAG你现在浏览的是第二页,共110页2022/10/18曲阜师范大学 计算机科学学院33.3 嵌入式系统调试技术嵌入式系统调试技术l指令集模拟器lROM仿真器l实时在线仿真l片上调试器与背景调试模式l基于Angle的调试方案l边界扫描测试技术和JTAG接口概述l跟踪接口ETMlNexus调试标准l半主机调试方式你现在浏
2、览的是第三页,共110页2022/10/18曲阜师范大学 计算机科学学院4嵌入式系统调试技术概貌嵌入式系统调试技术概貌l嵌入式计算机调试基本结构l主机目标机结构l主机常常是PC平台l原因:l运算能力相对较弱l存储能力和显示能力较小l数据吞吐率较小l很难在目标程序运行的计算设备上直接进行硬件软件调试。你现在浏览的是第四页,共110页2022/10/18曲阜师范大学 计算机科学学院5主机和目标机之间调试信道主机和目标机之间调试信道l主机往往和目标机的体系结构不同。因此,需要有通信转换器对调试信息进行转换。你现在浏览的是第五页,共110页2022/10/18曲阜师范大学 计算机科学学院63.3.1
3、指令集模拟器指令集模拟器l指令集模拟器lISS,Instruction Set Simulatorl在一台计算机上模拟另外一台计算机上目标程序(机器指令)运行过程的软件工具l有时也叫做软仿真器l嵌入式系统开发的不可或缺工具 你现在浏览的是第六页,共110页2022/10/18曲阜师范大学 计算机科学学院7指令集模拟器的结构指令集模拟器的结构l指令集模拟器是一个纯软件系统l内部有一个反映目标处理器硬件的数据结构l以时序状态机的方式工作l可以根据目标机指令集定义执行目标指令l按照实现方法的不同指令集模拟器分为l解释型l编译型你现在浏览的是第七页,共110页2022/10/18曲阜师范大学 计算机科
4、学学院8指令集模拟器的运行指令集模拟器的运行l指令集模拟器的操作界面与IDE类似l模仿目标机的取指、译码和执行操作l将中间执行结果或者最终执行结果存入目标机映像数据结构l调试人员可以观察目标机映像寄存器或者映像存储器的单元,了解目标代码的执行结果你现在浏览的是第八页,共110页2022/10/18曲阜师范大学 计算机科学学院9指令集模拟器主要用途指令集模拟器主要用途l指令集模拟器主要用在以下几种场合:l没有目标机开发板l有目标机开发板,但使用目标机开发板成本较高l调试的程序模块不需要在实际开发板上执行,例如学习ARM汇编语言程序l模块代码的先行调试,以加快调试速度你现在浏览的是第九页,共110
5、页2022/10/18曲阜师范大学 计算机科学学院10流行的流行的ARM指令集模拟器指令集模拟器l有两种比较流行的指令集模拟器:lARMulatorlSkyEyel还有一些研究中的ARM指令集模拟器你现在浏览的是第十页,共110页2022/10/18曲阜师范大学 计算机科学学院11ARM公司推出的公司推出的ARMulatorlARMulator是业界著名的指令集仿真器l运行在PC平台上lARM体系结构的指令集模拟器l集成在SDT 2.51和ADS 1.2上的插件l由四个部分组成:处理器核模型、存储器接口、处理器接口、操作系统接口。你现在浏览的是第十一页,共110页2022/10/18曲阜师范大
6、学 计算机科学学院12指令模拟精度的级别指令模拟精度的级别l指令模拟精度有三个级别l指令级l周期级l时序(节拍)级lARMulator完全实现了指令级和周期级模拟精度,但是没有完全实现时序级精度。你现在浏览的是第十二页,共110页2022/10/18曲阜师范大学 计算机科学学院13指令集模拟器指令集模拟器ARMulator对对ARM程序运行程序运行进行指令周期数统计的结果快照进行指令周期数统计的结果快照你现在浏览的是第十三页,共110页2022/10/18曲阜师范大学 计算机科学学院14Armulator的指令周期统计结果说明的指令周期统计结果说明你现在浏览的是第十四页,共110页2022/1
7、0/18曲阜师范大学 计算机科学学院15SkyEyel一个ARM体系结构的嵌入式仿真和集成开发环境l国内开放源码的自由软件项目l运行环境:Linux平台和Windows的Cygwinl能够仿真的CPU包括:l不带MMU的Atmel 91x40l带MMU的ARM720T等基于ARM7TDMI的内核lSkyEye还能够模拟其它一些硬件外设,如串口、网络芯片、内存、时钟等你现在浏览的是第十五页,共110页2022/10/18曲阜师范大学 计算机科学学院163.3.2 ROM仿真器仿真器l嵌入式系统的程序存储器为ROM时,如果调试需要修改代码、设置断点及更新程序代码,就需要进行离线编程。l离线编程是一
8、个费时间的工作,用RAM替代ROM可以解决这个问题lROM仿真器l用RAM以及附加电路制成的替代ROM进行离线编程的工具lMCS-51单片机研发过程中常常使用ROM仿真工具你现在浏览的是第十六页,共110页2022/10/18曲阜师范大学 计算机科学学院17ROM仿真器照片仿真器照片l支持各种51系列芯片的JY-E2300仿真器照片你现在浏览的是第十七页,共110页2022/10/18曲阜师范大学 计算机科学学院183.3.3 实时在线仿真实时在线仿真l实时在线仿真lICE,In-Circuit Emulatorl目前最为有效的调试嵌入式系统的手段l通过ICE的实际执行,开发者可以排除人们难以
9、发现的隐藏在设计方案中的逻辑错误。lICE的另外一个主要功能是在应用系统中仿真微控制器的实际执行l优点是功能强大,软硬件均可以做到完全实时在线调试;缺点是价格昂贵。你现在浏览的是第十八页,共110页2022/10/18曲阜师范大学 计算机科学学院193.3.4 片上调试技术片上调试技术l片上调试技术lOCD,On-Chip Debuggingl嵌入式调试技术中运用最广泛的一种l片上调试是在CPU的内部嵌入额外的控制模块,即片上调试器;使得CPU的工作模式分为正常模式和调试模式。你现在浏览的是第十九页,共110页2022/10/18曲阜师范大学 计算机科学学院20常用的片上调试技术常用的片上调试
10、技术l目前常用的片上调试技术主要有三种:l背景调试模式lBDM,Background Debug ModelJTAGlIEEE 1149.1lNexuslIEEE-5001 ISTO你现在浏览的是第二十页,共110页2022/10/18曲阜师范大学 计算机科学学院21背景调试模式背景调试模式l背景调试模式lMotorola公司专有的片上调试器。lMotorola公司是第一个把片上调试器集成在处理器内核中的嵌入式微处理器厂商。lBDM首先在68300系列处理器上实现l现在在其他微控制器上得到应用你现在浏览的是第二十一页,共110页2022/10/18曲阜师范大学 计算机科学学院22BDM与与IC
11、E的区别的区别l传统ICE调试时,使用ICE中的CPU来取代目标板中的CPU,目标板和ICE之间使用多芯扁平电缆连接。而ICE在使用时一般还需要与主机(一般是PC)连接。l在BDM调试方式下嵌入式处理器被停机,各种调试命令可以被发送到处理器中访问内存和寄存器。因此,满足BDM调试的微处理器内部已经包含了用于调试的微码,调试时仿真器软件和目标板上CPU的调试微码通信,目标板上的CPU无需取出。你现在浏览的是第二十二页,共110页2022/10/18曲阜师范大学 计算机科学学院23BDM调试器与主机和目标开发板调试器与主机和目标开发板之间的连接之间的连接 你现在浏览的是第二十三页,共110页202
12、2/10/18曲阜师范大学 计算机科学学院243.3.5 基于基于Angel的调试方案的调试方案lAngel是ARM公司的调试监控程序l也称为Angel调试代理l由多个程序部件组成l与传统调试监控程序相类似l驻留在目标机上lAngel接收主机上发送过来的调试命令,执行指定的调试操作,并将调试结果反馈回主机。l适用于各种ARM硬件平台。你现在浏览的是第二十四页,共110页2022/10/18曲阜师范大学 计算机科学学院25Angel的功能的功能l与JTAG调试代理不同,Angel需要占用一定的系统资源,例如内存空间和串口等。l基于Angel的调试系统包含两个关键部分,位于主机上的调试软件和驻留在
13、目标机上的Angel调试监控程序。lAngel调试系统主要分成以下三层:应用层、功能支持层、通道管理层。lAngel的两种版本:完整版本和最小版本。你现在浏览的是第二十五页,共110页2022/10/18曲阜师范大学 计算机科学学院26Angel调试协议的主机端组件调试协议的主机端组件你现在浏览的是第二十六页,共110页2022/10/18曲阜师范大学 计算机科学学院27Angel调试协议的目标端组件调试协议的目标端组件你现在浏览的是第二十七页,共110页2022/10/18曲阜师范大学 计算机科学学院28边界扫描测试技术边界扫描测试技术l边界扫描测试技术和JTAG接口是嵌入式系统最具特色的技
14、术l集成电路研制时的内部电路测试l嵌入式软件开发时的程序调试你现在浏览的是第二十八页,共110页2022/10/18曲阜师范大学 计算机科学学院293.3.6 边界扫描技术和边界扫描技术和JTAG接口接口lJTAG是一种片上调试接口,即OCD接口。lOCD英文原文:lOn-Chip Debugging InterfacelJTAG的建立使得集成电路固定在PCB(Printed Circuit Board,印刷电路板)上,只通过边界扫描便可以被测试。l含有JTAG口的芯片种类较多,如CPU、DSP、CPLD/FPGA等,广泛得到应用。你现在浏览的是第二十九页,共110页2022/10/18曲阜师
15、范大学 计算机科学学院30测试摩尔定律测试摩尔定律l1999年英特尔公司的副总裁Patrick Celsinger先生在美国大西洋城举行的国际测试会议上提出了测试摩尔定律,并就此了讲演。l该定律预测未来几年,每一晶体管的硅投资成本将低于其测试成本。lPatrick Celsinger先生指出,硅硅成成本本已已迅迅速速下下降降,测测试试成成本本却却基基本本保保持持不不变变。并且,被测器件的速度常常比测试设备能测的速度高。也就是说,测试设备的发展速度已跟不上测试对象的发展。同时,测试成本在制造成本中所占比例过大。你现在浏览的是第三十页,共110页2022/10/18曲阜师范大学 计算机科学学院31
16、double d_bh;short s_bh;double d_bh;short s_bh;sense_horizontal_velocity(&d_bh);sense_horizontal_velocity(&d_bh);s_bh=d_bh;/s_bh=d_bh;/OPERAND ERROROPERAND ERROR代码出错案例:代码出错案例:阿丽亚娜阿丽亚娜5 5型火箭发射失败型火箭发射失败你现在浏览的是第三十一页,共110页2022/10/18曲阜师范大学 计算机科学学院32l将将大大的的浮浮点点数数转转换换成成整整数数是是一一种种常常见见的的程程序序错错误误来来源源。1996年6月4日
17、,对于Ariane 5火箭的初次航行来说,这样一个错误产生了灾难性的后果。发射后仅仅37秒,火箭偏离它的飞行路径,解体并爆炸了。火箭上载有价值5亿美元的通信卫星。6亿美元付之一炬。后来的调查显示,控制惯性导航系统的计算机向控制引擎喷嘴的计算机发送了一个无效数据。l失事调查报告指出,火箭爆炸是因为:它没有发送飞行控制信息,而是送出了一个诊断位模式,表明在将一个64位浮点数转换成16位有符号整数时,产生了溢出。溢出值测量的是火箭的水平速率,这比早先的Ariane 4火箭所能达到的高出了5倍。在设计Ariane 4火箭的软件时,他们小心地分析了数字值,并且确定水平速率绝不会超出一个16位的数。不幸的
18、是,他们在Ariane 5火箭的系统中简单地重新使用了这一部分,而没有检查它所基于的假设。你现在浏览的是第三十二页,共110页2022/10/18曲阜师范大学 计算机科学学院33JTAG基本概念基本概念lJTAG是Joint Test Action Group(联合测试行动组)的缩写,联合测试行动组是IEEE的一个下属组织l该组织研究标准测试访问接口和边界扫描结构(Standard Test Access Port and Boundary-Scan Architecture)lJTAG的研究成果被接纳为IEEE1149.1-1990规范lJTAG成为电子行业的一种国际测试标准l现在,人们通常
19、用JTAG来表示IEEE1149.1-1990规范,或者满足IEEE1149规范的接口或者测试方法。你现在浏览的是第三十三页,共110页2022/10/18曲阜师范大学 计算机科学学院34JTAG扫描循环示意图扫描循环示意图你现在浏览的是第三十四页,共110页2022/10/18曲阜师范大学 计算机科学学院35边界扫描单元边界扫描单元lJTAG标准定义了一个串行的移位寄存器l寄存器的每一个单元分配给IC芯片的相应引脚l每一个独立的单元称为BSC(Boundary-Scan Cell)边界扫描单元l这个串联的BSC在IC内部构成JTAG回路l所有的BSR(Boundary-Scan Regist
20、er)边界扫描寄存器通过JTAG测试激活你现在浏览的是第三十五页,共110页2022/10/18曲阜师范大学 计算机科学学院36ARM的的JTAG调试结构调试结构你现在浏览的是第三十六页,共110页2022/10/18曲阜师范大学 计算机科学学院37ARM调试系统说明调试系统说明l调试系统一般包括3部分:l调试主机调试主机是运行软件调试器的计算机l例如ADW,ARM Debugger for Windowsl调试主机允许发出高级命令,如设置断点或检查存储器内容。l协议转换器协议转换器处理调试主机调试主机和ARM7TDMI处理器JTAG接口接口之间的通讯l包括调试主机发出的高级命令以及JTAG接
21、口的低级命令。l一般通过增强型并行口进行连接。你现在浏览的是第三十七页,共110页2022/10/18曲阜师范大学 计算机科学学院38ARM调试系统说明(续)调试系统说明(续)l调试目标调试目标lARM CPU主处理器逻辑:对调试有硬件支持。l嵌入式ICE-RT逻辑:这是用于产生调试异常(如断点)的寄存器和比较器的集合。lTAP控制器:用JTAG串行接口控制扫描链的动作。你现在浏览的是第三十八页,共110页2022/10/18曲阜师范大学 计算机科学学院39协议转换器的调试扩充功能协议转换器的调试扩充功能lARM7TDMI具有易于在最低层调试的硬件扩充,其调试扩充功能如下列出:l允许暂停程序的
22、执行;l检查和修改内核的内部状态;l查看和修改存储器系统的状态;l执行中止异常,允许实时的内核监控;l重新开始程序执行。你现在浏览的是第三十九页,共110页2022/10/18曲阜师范大学 计算机科学学院403.4.3 ARM7TDMI扫描链布局扫描链布局你现在浏览的是第四十页,共110页2022/10/18曲阜师范大学 计算机科学学院41ARM7TDMI内核扫描链结构内核扫描链结构113位38位33位你现在浏览的是第四十一页,共110页2022/10/18曲阜师范大学 计算机科学学院42JTAG接口的接口的IC内部结构内部结构你现在浏览的是第四十二页,共110页2022/10/18曲阜师范大
23、学 计算机科学学院43JTAG状态转换图状态转换图你现在浏览的是第四十三页,共110页2022/10/18曲阜师范大学 计算机科学学院44JTAG信号信号lTMS:测试模式选择(Test Mode Select)l通过TMS信号控制JTAG状态机的状态。lTCK:JTAG的时钟信号lTDI:数据输入信号lTDO:数据输出信号lnTRST:JTAG复位信号,复位JTAG的状态机和内部的宏单元(Macrocell)。你现在浏览的是第四十四页,共110页2022/10/18曲阜师范大学 计算机科学学院453.4.4 TAP控制器控制器lTAP控制器内部有多个寄存器l测试数据寄存器lJTAG控制指令寄
24、存器l旁路寄存器lARM7TDMI器件识别码(ID)寄存器l扫描路径选择寄存器你现在浏览的是第四十五页,共110页2022/10/18曲阜师范大学 计算机科学学院46JTAG的的TAP控制器结构控制器结构你现在浏览的是第四十六页,共110页2022/10/18曲阜师范大学 计算机科学学院47测试数据寄存器测试数据寄存器l在TDI和TDO之间可以连接的测试数据寄存器有如下8个:l指令寄存器;l旁路寄存器;lARM7TDMI的器件识别(ID)码寄存器;l扫描路径选择寄存器;l扫描链0、1、2和3。你现在浏览的是第四十七页,共110页2022/10/18曲阜师范大学 计算机科学学院48JTAG控制指
25、令寄存器控制指令寄存器lJTAG接口中指令寄存器长度是4位l在指令寄存器共安排10条控制指令,见下表。指令二进制指令二进制EXTEST0000HIGHZ0111SCAN_N0010CLAMPZ1001SAMPLE/PRELOAD0011INTEST1100RESTART0100IDCODE1110CLAMP0101BYPASS1111你现在浏览的是第四十八页,共110页2022/10/18曲阜师范大学 计算机科学学院49JTAG的指令寄存器的指令寄存器l在SHIFT-IR态,将指令寄存器选做TDI和TDO之间串行路径。见(a)l在UPDATE-IR态,指令寄存器的值成为当前指令。见(b)l在C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 调试 技术 优秀 PPT
限制150内