嵌入式系统基础教程第05讲第3章JTAG技术ppt课件_第1页
嵌入式系统基础教程第05讲第3章JTAG技术ppt课件_第2页
嵌入式系统基础教程第05讲第3章JTAG技术ppt课件_第3页
嵌入式系统基础教程第05讲第3章JTAG技术ppt课件_第4页
嵌入式系统基础教程第05讲第3章JTAG技术ppt课件_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 第第5 5讲讲南京大学计算机系南京大学计算机系 俞建新主讲俞建新主讲第第3章章 嵌入式微处置器技术根底嵌入式微处置器技术根底l本章主要引见以下内容:l嵌入式微处置器典型技术l主流嵌入式微处置器l嵌入式处置器的调试技术l边境扫描测试技术JTAG3.4 边境扫描测试接口边境扫描测试接口JTAGlJTAG是一种片上调试接口,即OCD接口。lOCD英文原文:lOn-Chip Debugging InterfacelJTAG的建立使得集成电路固定在PCBPrinted Circuit Board,印刷电路板上,只经过边境扫描便可以被测试。l含有JTAG口的芯片种类较多,如CPU、DSP、CPLD/FP

2、GA等,广泛得到运用。3.4.1 测试摩尔定律测试摩尔定律l2019年英特尔公司的副总裁Patrick Celsinger先生在美国大西洋城举行的国际测试会议上提出了测试摩尔定律,并就此了讲演。l该定律预测未来几年,每一晶体管的硅投资本钱将低于其测试本钱。lPatrick Celsinger先生指出,硅本钱已迅速下降,测试本钱却根本坚持不变。并且,被测器件的速度经常比测试设备能测的速度高。也就是说,测试设备的开展速度已跟不上测试对象的开展。同时,测试本钱在制造本钱中所占比例过大。 3.4.2 JTAG根本概念根本概念lJTAG是Joint Test Action Group结合测试行动组的缩写

3、,结合测试行动组是IEEE的一个下属组织l该组织研讨规范测试访问接口和边境扫描构造Standard Test Access Port and Boundary-Scan ArchitecturelJTAG的研讨成果被接纳为IEEE1149.1-1990规范lJTAG成为电子行业的一种国际测试规范l如今,人们通常用JTAG来表示IEEE1149.1-1990规范,或者满足IEEE1149规范的接口或者测试方法。JTAG扫描循环表示图扫描循环表示图每个JTAG单元监听相应IC引脚输出位状态PC板JTAG连接器JTAG位流输入JTAG位流输出二进制位流形成一个移位寄存器边境扫描单元边境扫描单元lJT

4、AG规范定义了一个串行的移位存放器l存放器的每一个单元分配给IC芯片的相应引脚l每一个独立的单元称为BSCBoundary-Scan Cell边境扫描单元l这个串联的BSC在IC内部构成JTAG回路l一切的BSRBoundary-Scan Register边境扫描存放器经过JTAG测试激活ARM的的JTAG调试构造调试构造主控协议主控协议调试目标机调试目标机协议转换器协议转换器运行有ARM公司或者第三方提供的调试软件的PC机负责与Debug主控端发出的高级ARM调试命令以及底层的和ARM内核JTAG命令进行通讯。以ARM7TDMI为处理器的开发系统ARM7TDMI调试构造调试构造(英文英文)A

5、RM调试系统阐明调试系统阐明l调试系统普通包括3部分:l调试主机是运转软件调试器的计算机l例如ADW,ARM Debugger for Windowsl调试主机允许发出高级命令,如设置断点或检查存储器内容。l协议转换器处置调试主机和ARM7TDMI处置器JTAG接口之间的通讯l包括调试主机发出的高级命令以及JTAG接口的低级命令。l普统统过加强型并行口进展衔接。ARM调试系统阐明续调试系统阐明续l调试目的调试目的lARM CPU主处置器逻辑:对调试有硬件支持。主处置器逻辑:对调试有硬件支持。l嵌入式嵌入式ICE-RT逻辑:这是用于产生调试异常逻辑:这是用于产生调试异常(如断点如断点)的存放器和

6、比较器的集合。的存放器和比较器的集合。lTAP控制器:用控制器:用JTAG串行接口控制扫描链的动串行接口控制扫描链的动作。作。协议转换器的调试扩展功能协议转换器的调试扩展功能lARM7TDMI具有易于在最低层调试的硬件扩展,其调试扩展功能如以下出:l允许暂停程序的执行;l检查和修正内核的内部形状;l查看和修正存储器系统的形状;l执行中止异常,允许实时的内核监控;l重新开场程序执行。3.4.3 ARM7TDMI扫描链规划扫描链规划ARM7TDMI内核扫描链构造内核扫描链构造113位38位33位JTAG接口的接口的IC内部构造内部构造含含JTAG接口接口的IC的IC芯片芯片内核逻辑内核逻辑数据寄存

7、器指令寄存器旁路寄存器测试访问端口(TAP)控制器TDITMSTDOTCKGndVcc芯片引脚边界扫描寄存器(扫描单元)JTAG形状转换图形状转换图15=Test LogicReset12=Run-Test orIdle7= Select-DRScan6=Capture-DR2=Shift-DR1=Exit1-DR3=Pause-DR0=Exit2-DR5=Update-DR4= Select-IRScan14=Capture-IR10=Shift-IR9=Exit1-IR11=Pause-IR8=Exit2-IR13=Update-IRtms=1tms=0tms=0tms=1tms=0tms

8、=1tms=1tms=0tms=0tms=0tms=1tms=1tms=0tms=1tms=1tms=0tms=1tms=0tms=1tms=0tms=0tms=1tms=0tms=1tms=0tms=1tms=0tms=1tms=0tms=1tms=0tms=1JTAG信号信号lTMS:测试方式选择Test Mode Selectl经过TMS信号控制JTAG形状机的形状。lTCK:JTAG的时钟信号lTDI:数据输入信号lTDO:数据输出信号lnTRST:JTAG复位信号,复位JTAG的形状机和内部的宏单元Macrocell。3.4.4 TAP控制器控制器lTAP控制器内部有多个存放器l测试

9、数据存放器lJTAG控制指令存放器l旁路存放器lARM7TDMI器件识别码(ID)存放器l扫描途径选择存放器JTAG的的TAP控制器构造控制器构造扫描链3JTAG状态机TDITCKTMSTDO指令寄存器 4bitID寄存器 32bit扫描路径选择寄存器 4bit旁路寄存器 1bit选择器扫描链3选择器选择器扫描链控制信号测试数据存放器测试数据存放器l在TDI和TDO之间可以衔接的测试数据存放器有如下8个:l指令存放器;l旁路存放器;lARM7TDMI的器件识别(ID)码存放器;l扫描途径选择存放器;l扫描链0、1、2和3。JTAG控制指令存放器控制指令存放器lJTAG接口中指令存放器长度是4位

10、l在指令存放器共安排10条控制指令,见下表。指令二进制指令二进制EXTEST0000HIGHZ0111SCAN_N0010CLAMPZ1001SAMPLE/PRELOAD0011INTEST1100RESTART0100IDCODE1110CLAMP0101BYPASS1111JTAG的指令存放器的指令存放器l在SHIFT-IR态,将指令存放器选做TDI和TDO之间串行途径。见(a)l在UPDATE-IR态,指令存放器的值成为当前指令。见(b)l在CAPTURE-IR态,将b0001加载到该存放器。该值在SHIFT-IR态移位输出。见(c)l复位时,IDCODE(b1110)成为当前指令。见(

11、d)l指令存放器的最低有效位首先被扫描输入和输出。指令存放器TDITDOSHIFT-IR形状形状(a)指令存放器值=0001CAPTURE-IR形状形状(c)TDITDO当前指令存放器TDITDOUPDATE-IR形状形状(b)当前指令存放器IDCODE=0001IDCODE-IR形状形状(d)TDITDO旁路存放器旁路存放器l功能:l经过提供TDI和TDO之间的途径,在扫描测试期间对器件旁路。l长度:l1位l操作方式:l当BYPASS指令是指令存放器中的当前指令时,串行数据在SHIFT-DR态以1个TCK周期的延迟从TDI传到TDO。旁路存放器没有并行输出。l在CAPTURE-DR态,从旁路

12、存放器的并行输入端装入“0。ARM7TDMI器件器件识别码识别码(ID)存放器存放器l识别码用途:读32位器件识别码。不提供可编程的识别码。l长度:32位。存放器的格式如以下图所示。l操作方式l当IDCODE指令是当前指令时,将ID存放器选做TDI和TDO之间的串行途径。ID存放器没有并行输出。在CAPTURE-DR态,32位器件识别码从其并行输入端加载到ID存放器。存放器的最低有效位首先被扫描输出。版本 4位部件编号 16位制造者标识 12位0311128扫描途径选择存放器扫描途径选择存放器l用途和长度l变换当前活动的扫描链,4位。l操作方式l仅当执行了一条SCAN_N指令或当发生复位时,当

13、前所选的扫描链改动。复位时,将扫描链0选做活动的扫描链。l在SHIFT-DR态, SCAN_N指令把扫描途径选择存放器作为TDI和TDO之间的串行数据移位途径。l在CAPTURE-DR态,将b1000加载到该存放器。这个值在SHIFT-DR态加载输出,同时装入新值。l在UPDATE-DR态,由存放器中的值选择一个扫描链成为当前活动的扫描链。一切进一步的指令(如INTEST)都运用到该扫描链上。扫描链编号分配扫描链编号分配扫描链编号功能0宏单元扫描测试1调试2嵌入式ICE-RT逻辑编程3外部边界扫描(由ASIC设计者实现)4保留8保留3.4.5 JTAG扫描链任务原理扫描链任务原理lJTAG扫描

14、链由扫描单元组成l每一个被测试逻辑电路引出信号线同它的引脚之间配置一个扫描单元l每一个扫描单元的内部由两个D触发器和两个多路选择器组成l分别把逻辑电路输入输出线同引脚之间的穿越扫描单元的电流方向成为横向,沿扫描单元串接线运动的电流方向成为纵向。lJTAG扫描链一共有四种操作:挂起、捕获、移位和更新。JTAG扫描单元构造扫描单元构造From logic or pinFrom last cellShift/loadTo next cellTo logic or pin11G1ClockUpdateMode1DC11D C111G1纵向纵向横向横向横向四种操作四种操作: 挂起,移挂起,移位,俘获,更

15、新位,俘获,更新JTAG扫描链的组成扫描链的组成I1I2I3TCKO1O2O3TDI0 X 00 X 00 X 00 X 00 X 00 X 0 待测装置IIIOOO移位寄存器输出数据输入数据扫描前的输入数据扫描后的输出数据1 0 1 0 1 0TDOX X X X X XLogicPinPinPinPinLogicLogicLogicLogic纵向横向PinPinLogicJTAG处于挂起形状处于挂起形状I1I2I3O1O2O3111 X 11 X 10 X 00 X 00 X 0DUT(测试器件)XTDI1 0 1 0 1 0TDOX X X X X X横向直行横向直行横向直行横向直行好像

16、扫描链好像扫描链不存在不存在捕获捕获JTAG形状形状当前引脚当前引脚信号的快照信号的快照存入扫描链存入扫描链移位数据移位数据I1I2I3O1O2O3111 1 11 1 10 1 00 0 00 0 0DUT1TDI0 1 0 1 0 XTDOX X X X X 0纵纵向向直直行行此刻处置此刻处置器的任务器的任务脉冲暂停脉冲暂停移位终了移位终了I1I2I3O1O2O3111 1 11 0 10 1 00 0 00 1 0DUT0TDIXTDO0 0 0 1 1 1XXXXX纵纵向向直直行行此刻处置此刻处置器的任务器的任务脉冲暂停脉冲暂停数据更新数据更新JTAG扫描链取扫描链取代系统向处置器代系

17、统向处置器输入信号,并且输入信号,并且替代处置器向系替代处置器向系统输出信号。统输出信号。扫描链扫描链0lScan Chain 0:有113个扫描单元,包括ARM核的一切的I/O、地址数据总线和输入输出控制信号。这条链上的信号复杂,不易控制,但是包含的信息丰富,可以经过这条链得到ARM7TDMI内核的一切信息。l从查询数据输入到输出,扫描链的顺序为:l(1)数据总线位0-位31;l(2)内核控制信号;l(3)地址总线位31-位0;l(4)嵌入式ICE-RT控制信号。l嵌入式ICE-RT控制信号(特别是DBGRQI)首先被扫描输出。扫描链扫描链0单元单元编号信号类型编号信号类型132D0D31输

18、入/输出41BL0输入33BREAKPT输入42BL1输入34NENIN输入43BL2输入35NENOUT输出44BL3输入36LOCK输出45DCTL输出37BIGEND输入46nRW输出38DBE输入47DBGACK输出39MAS0输出48CGENDBGACK输出40MAS1输出49nFIQ输入扫描链扫描链0单元单元(续续1)编号信号类型编号信号类型50nIRQ输入59nMREQ输出51nRESET输入60SEQ输入52ISYNC输入61nTRANS输入53BRGRQ输入62CPB输入54ABORT输入63nM4输出55CPA输入64nM3输出56nOPC输出65nM2输出57IFEN输入

19、66nM1输出58nCPI输出67nM0输出扫描链扫描链0单元单元(续续2)编号信号类型编号信号类型68nEXEC输出69ALE输出70ABE输入71APE输入72TBIT输出73nWAIT输入74105A31A0输出106113ICE-RT信号扫描链扫描链1l扫描链1:有33个扫描单元,包括ARM核的数据总线和一个断点控制信号。这是一条很有用的链,经过控制这条链,可以控制ARM核执行指定的指令,从而实现对ARM的内部存放器、协处置器以及外部存储器的读写操作。扫描链扫描链1续续l扫描链1的前32位用于数据值,加上在BREAKPT内核输入上的扫描单元。第33位有如下4个用途:l在正常INTEST

20、测试条件下,允许将知值扫描到BREAKPT的输入。l在EXTEST测试条件下,捕获从系统加到BREAKPT输入的值。l在调试期间,第33位的值决议在执行指令之前ARM7TDMI核能否同步回系统速度。lARM7TDMI核进入调试形状后,该位第一次被捕获并被扫描输出。其值通知调试器内核能否由断点(位33清零)或由察看点(位33置位)进入调试形状。扫描链扫描链2lScan Chain 2共有38个扫描单元,经过控制EmbeddedICE宏单元,实现对ARM执行指令的断点、察看点的控制。l从TDI到TDO的扫描链次序如下:l读/写;l存放器地址位4-位0;l数据值位31-位0。3.4.6 嵌入式嵌入式

21、ICE-RT逻辑逻辑l嵌入式ICE-RT逻辑也称为Embedded ICE或者Embedded ICE-RT,其主要功能是为ARM7TDMI核提供集成的在线调试支持。lARM公司的片上测试部件。l运用ARM7TDMI的TAP控制器来控制嵌入式ICE-RT逻辑的串行数据输入。l以下图给出了内核、嵌入式ICE-RT逻辑和TAP控制器之间的关系。图中仅显示了有关的信号。嵌入式嵌入式ICE-RT连线构造图连线构造图DBGRQIDBGRQIA31:0D31:0nOPCnRWTBITMAS1:0nTRANSDBGACKIBREAKPTIIFENECLKnMREQSDOUTSDINCONTROLDBGEND

22、BGRQBREAKPTDBGACKRANGEOUT1RANGEOUT0EXTERN0EXTERN1nTRSTTCKTMSTDITDOARM CPU主处理器逻辑主处理器逻辑嵌入式嵌入式ICE逻辑逻辑TAP嵌入式嵌入式ICE-RT逻辑的组成逻辑的组成l嵌入式ICE-RT逻辑的组成如下:l2个实时察看点单元;l3个独立的存放器:调试控制存放器、调试形状存放器、中止形状存放器;l调试通讯通道DCC(Debug Communications Channel)。嵌入式嵌入式ICE-RT逻辑的组成续逻辑的组成续l调试控制存放器和调试形状存放器提供嵌入式ICE-RT操作的一切控制。在选择监控方式时运用中止形状

23、存放器。l可以编程1个或2个察看点单元来暂停内核程序的执行。当编程进入嵌入式ICE-RT的值与当前出如今地址总线、数据总线和各种控制信号的值匹配时,暂停执行。EmbeddedICE的数据构造的数据构造lEmbeddedICE是集成在ARM内核中的嵌入式ICE仿真器。其构造如以下图所示。l经过对EmbeddedICE的控制,对EmbeddedICE中存放器的读取,可以获得ARM内核的形状,为程序设置断点以及读取Debug通讯通道。lEmbeddedICE的串行数据长度是38位,包括:l32位数据l5位的访问EmbeddedICE中存放器的地址l1个读写控制位EmbeddedICE构造构造r/w4

24、地址031数据0TDOTDI+断点更新地址译码器ENABLECHAINEXTERNnOPCnBWnRWAv31:0Dv31:0CHAINEXTERNnOPCnBWnRWAm31:0Dm31:0比较器A31:0D31:0Control325EmbeddedICE扫描链共38位EmbeddedICE的存放器的存放器地址宽度功能地址宽度功能000006Debug control011009Watchpoint 0 control value000015Debug status011018Watchpoint 0 control mask000101Abort status1000032Watchpo

25、int 1 address value001006Debug commands control register 1000132Watchpoint 1 address mask0010132Debug commands data register 100102Watchpoint 1 data value01000 32Watchpoint 0 address value 1001132Watchpoint 1 data mask0100132Watchpoint 0 address mask 101009Watchpoint 1 control value0101032Watchpoint

26、 0 data value 101018Watchpoint 1 control mask0101132Watchpoint 0 data mask Watchpoint存放器的运用存放器的运用 lEmbeddedICE的一个主要作用就是可以在ARM的程序中设置软件或者硬件的断点。l在EmbeddedICE中,集成了一个比较器,比较器担任把ARM处置器取指的地址A31:0、数据D31:0以及一些控制信号与EmbeddedICE中Watchpoint存放器中设置的数值相比较l详细的说应该是进展同或运算l比较的结果用来确定输出一个ARM的断点Breakpoint信号。l详细的运算关系如下公式所描画

27、:l(Av31:0,Cv4:0 XNOR A31:0,C4:0) OR Am31:0,Cm4:0 = 0 x1FFFFFFFFFEmbeddedICE断点信号条件断点信号条件l当上述表达式为真的时候,断点信号有效,ARM的内核就进入了Debug方式。l在Debug方式下,ARM内核的时钟从系统的主时钟MCLK被交换成跟踪时钟DCLK。l跟踪时钟DCLK是经过在JTAG的形状机的Run-test/Idle形状的TCK来控制的。 Watchpoint表达式的含义表达式的含义 信号说 明Av31:0Watchpoint中地址寄存器(Address register)的数据Am31:0Watchpoi

28、nt中地址mask寄存器(address mask register)的数据A31:0从ARM7TDMI的核中得到的总线的地址,也就是当前处理器取址的地址Dv31:0Watchpoint中数据寄存器(data register)中的数据Dm31:0Watchpoint中数据mask寄存器(data mask register)的数据D31:0从ARM7TDMI的核中得到的总线的数据,也就是当前处理器取址所到的数据Cv8:0Watchpoint中控制寄存器(control register)中的数据Cm7:0Watchpoint中控制mask寄存器(control mask register)中

29、的数据C9:0ARM7TDMI的控制总线3.4.7 ARM7TDMI断点的设置断点的设置lARM中断点的设置主要是设置EmbeddedICE中的存放器l主要包括:设置EmbeddedICE的两个watchpoint单元的地址、数据或控制信号存放器。l当一个或者两个watchpoint存放器满足条件的时候,ARM就从运转形状进入Debug形状。l也就是与ARM中的地址也可以包括数据和ARM所执行的当前的指令一样的时候硬件断点和软件断点硬件断点和软件断点l在ARM7TDMI处置器的内核中,有两种断点的设置方式:硬件断点和软件断点l硬件断点l经过设置EmbeddedICE中的Watchpoint存放

30、器中的地址相关的存放器,来实现断点。l经过这种方式设置断点,断点数目受EmbeddedICE中的Watchpoint数目的限制在ARM7TDMI处置器的内核中,只需两组Watchpoint存放器,最多只能设置两个硬件断点。l硬件断点可以在任何地方设置。不受存储器类型的限制。软件断点软件断点l软件断点的实现比较复杂,需求如下几个步骤:l经过设置EmbeddedICE中的Watchpoint存放器中的数据相关存放器(data value和data mask value)为一个特殊的32位数字ARM的未定义指令,比如:0 x06000010。l交换RAM中的指令为上面所设置的那个未定的指令0 x06

31、000010,作为一个标志。l当系统运转到RAM中所设定的单元位置时候,那个事先设置的标志数字将被当作一个指令读入处置器的内核。软件断点续软件断点续l此时,系统所读入的指令的数据刚好和data value中的数字相吻合,系统就进入了Debug方式。这就是软件断点的任务过程。l软件断点的数目不受ARM内核的Watchpoint数目的限制,不论系统设置多少个软件断点,仅仅运用了ARM内核的一个Watchpoint资源。l软件断点是经过交换系统的断点地址的指令实现的,所以,软件断点只能在可写的存储器的地址中设置比如:RAM,而不能在ROM比如:Flash中设置。断点设置小结断点设置小结l总之,在有两

32、个Watchpoint资源的ARM7TDMI的内核中,断点可以有如下情况:l2个硬件断点,没有软件断点l1个硬件断点,恣意多个软件断点l恣意多个软件断点3.4.8 ARM调试接口调试接口lARM7TDMI调试接口基于IEEE规范1149.1-1990以及规范测试访问口和边境扫描体系构造(Standard Test Access Port and Boundary-Scan Architecture)。l调试扩展可强迫内核进入以下方式之一:l暂停方式调试方式:在断点或察看点,内核进入调试形状。在调试形状,内核停顿任务并与系统的其它部分隔离。当调试完成后,调试主机恢复内核和系统形状,程序重新开场执行。l监控方式:在断点或察看点,构成指令中止或数据中止而不进入调试形状。内核仍正常接受和效力中断。调试阶段调试阶段l外部调试接口信号或嵌入式ICE-RT逻辑恳求迫使ARM7TDMI进入调试形状。激活调试的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论