找回密码
 注册
关于网站域名变更的通知
查看: 480|回复: 1
打印 上一主题 下一主题

简单介绍一下JTAG

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-9-17 11:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
调试ARM,要遵循ARM的调试接口协议,JTAG就是其中的一种。当仿真时,IAR、KEIL、ADS等都有一个公共的调试接口,RDI就是其中的一种,那么我们如何完成RDI-->ARM调试协议(JTAG)的转换呢?有以下两种做法:
" d! |4 d& p: z( L: u2 q4 r& _' a! V4 n# w' A( l8 e
1.在电脑上写一个服务程序,把IAR、KEIL和ADS中的RDI命令解析成相关的JTAG协议,然后通后一个物理转换接口(注意,这个转换只是电气 物理层上的转换,就像RS232那样的作用)发送你的的目标板。H-JTAG就是这样的。H-JTAG的硬件就仅是一个物理电平的转换接口,所以很简单。 而电脑中装的h-JTAG软件就是前面说到的服务程序,负责协议转换的。
7 D7 l3 T  x1 |$ p6 C+ G8 K# n$ R  a" G' r( a8 V
2.做一个板,用此板直接接收来自IAR、KEIL和ADS等软件的调试命令,由此板做RDI->JTAG协议的转换。然后与目标板通信,这就是JLINK的工作原理。
; f# E0 X5 ^" R$ w2 ~# d& h6 y) s7 A  G) L! m; h0 q) l
由上可以看出H-JTAG由于是软件作协议转换的,所以速度较慢,但是硬件简单。而第二种方法的JLINK一般带一个强劲的CPU,作硬件协议转换,把以硬件复杂,但速度快。
+ `9 H0 Y( q% E6 ?$ P  j0 c; H0 Z/ @( h, n
JTAG的基本原理
% }5 j& b) v. l" z) [; C. g3 R+ U
' v5 e- E. S4 K# J# N( @9 kJTAG(JointTestActionGroup,联合测试行动组)是一种国际标准测试协议(IEEE1149.1兼容)。标准的JTAG接口是4线——TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
" G- y& b4 l' I. ~3 K# |; e( |8 T9 L. W
) ]& T) l& @6 VJTAG的主要功能有两种,或者说JTAG主要有两大类:
7 F, d: _8 r$ k" c7 u" F5 M; |
; T/ H* i& _# h1 p0 C, h1)一类用于测试芯片的电气特性,检测芯片是否有问题;# w0 |) o& ]+ @; s, m; o/ J# H

1 q) K1 c/ b$ p8 ]/ }- _" i2)另一类用于Debug,对各类芯片以及其外围设备进行调试;一个含有JTAGDebug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器、挂在CPU总线上的设备以及内置模块的寄存器。本文主要介绍的是Debug功能。" O4 S; Y# C" z3 N: G5 S# _

: ?9 q( w- T! S! `1 ]0 u0 n% L& WJTAG原理分析
$ a2 a' L+ }3 V/ |0 F9 I: A' B1 c, U% f( i! Y" Y9 n. b* R( S. D2 h
简单地说,JTAG的工作原理可以归结为:在器件内部定义一个TAP(TestAccessPort,测试访问口),通过专用的JTAG测试工具对内部节点进行测试和调试。首先介绍一下边界扫描和TAP的基本概念和内容。& L  p7 H0 f8 L: q* p. [6 F5 {: F$ O
# @2 |$ y- s! V5 P; ~6 ~
边界扫描
) Q1 @: J! Q9 E- S! |$ a  {
6 Z1 Z+ v7 T' f# s) W边界扫描(Boundary-Scan)技术的基本思想是在靠近芯片的输入/输出引脚上增加一个移位寄存器单元,也就是边界扫描寄存器(Boundary-ScanRegister)。
( _: r" e5 Y! \3 P0 [7 w, z  ~: ]  q8 }4 E- b5 E
当芯片处于调试状态时,边界扫描寄存器可以将芯片和外围的输入/输出隔离开来。通过边界扫描寄存器单元,可以实现对芯片输入/输出信号的观察和控制。对 于芯片的输入引脚,可以通过与之相连的边界扫描寄存器单元把信号(数据)加载到该引脚中去;对于芯片的输出引脚,也可以通过与之相连的边界扫描寄存器“捕 获”该引脚上的输出信号。在正常的运行状态下,边界扫描寄存器对芯片来说是透明的,所以正常的运行不会受到任何影响。这样,边界扫描寄存器提供了一种便捷 的方式用于观测和控制所需调试的芯片。另外,芯片输入/输出引脚上的边界扫描(移位)寄存器单元可以相互连接起来,在芯片的周围形成一个边界扫描链 (Boundary-ScanChain)。边界扫描链可以串行地输入和输出,通过相应的时钟信号和控制信号,就可以方便地观察和控制处在调试状态下的芯 片。
# S. ^4 m- u4 |7 Y; h( ~" B8 n# N$ o" R! Y: e
测试访问口TAP& C4 R/ P4 s' `6 l0 u
7 K3 P: d3 W& O8 ]" J* T
TAP(TestAccessPort)是一个通用的端口,通过TAP 可以访问芯片提供的所有数据寄存器(DR)和指令寄存器(IR)。对整个TAP的控制是通过TAP控制器(TAPController)来完成的。下面先 分别介绍一下TAP的几个接口信号及其作用。其中,前4个信号在IEEE1149.1标准里是强制要求的。1 m/ {& Y* Q. z1 s  O6 p& N

0 {# f5 \. M# f  TTCK:时钟信号,为TAP的操作提供了一个独立的、基本的时钟信号。
9 M! M" C# E3 R" f; [( _
2 |7 g9 [, c8 T; TTMS:模式选择信号,用于控制TAP状态机的转换。
4 q8 N. `) I5 g) g7 s% {2 n% s. H0 x
TDI:数据输入信号。) r3 d8 X* J1 i5 U

- f( x. q$ {: _4 @TDO:数据输出信号。% r+ [4 G2 u9 U0 M$ t
& F, D/ }( W) o. @, G
TRST:复位信号,可以用来对TAPController进行复位(初始化)。这个信号接口在IEEE1149.1标准里并不是强制要求的,因为通过TMS也可以对TAPController进行复位。
* E1 P2 z/ |! v5 l/ E
& Z9 i" i* y2 \* b5 d& A8 N' OSTCK:时钟返回信号,在IEEE1149.1标准里非强制要求。8 E, U6 X, h! @9 `

1 U& E( \; j9 H% B& J) Y+ M简单地说,PC机对目标板的调试就是通过TAP接口完成对相关数据寄存器(DR)和指令寄存器(IR)的访问。
3 G  Z& x4 f- b0 t; Y6 f: f2 Z% z; e, b1 S  W5 m
系统上电后,TAPController首先进入Test-LogicReset状态,然后依次进入Run-Test/Idle、Selcct-DR- Scan、Select-IR-Scan、Capture-IR、Shift-IR、Exitl-IR、Update-IR状态,最后回到Run- Tcst/Idle状态。在此过程中,状态的转移都是通过TCK信号进行驱动(上升沿),通过TMS信号对TAP的状态进行选择转换的。其中,在 Capture-IR状态下,一个特定的逻辑序列被加载到指令寄存器中;在Shift-IR状态下,可以将一条特定的指令送到指令寄存器中;在 Update—IR状态下,刚才输入到指令寄存器中的指令将用来更新指令寄存器。最后,系统又回到Run—Test/Idle状态,指令生效,完成对指令 寄存器的访问。当系统又返回到Run—Test/Idle状态后,根据前面指令寄存器的内容选定所需要的数据寄存器,开始执行对数据寄存器的工作。其基本 原理与指令寄存器的访问完全相同,依次为seIect—DR—Scan、Capture—DR、Shift—D、Exitl一DR、Update—DR, 最后回到Run-Tcst/Idle状态。通过TDl和TDO,就可以将新的数据加载到数据寄存器中。经过一个周期后,就可以捕获数据寄存器中的数据,完 成对与数据寄存器的每个寄存器单元相连的芯片引脚的数据更新,也完成了对数据寄存器的访问。
! m3 N% g- G% N7 M+ `0 A/ k+ r( |+ Y6 b' f; I9 `+ M0 a$ a) \8 R
目前,市场上的JTAG接口有14引脚和20引脚两种。其中,以20引脚为主流标准,但也有少数的目标板采用14引脚。经过简单的信号转换后,可以将它们通用。4 h- e0 n+ a, E" j1 R* f/ K

! H0 O! B: ]( ~+ E: q7 E# h5 R
0 y3 }6 k8 L* L, h& C: H; \; f6 M$ [' ^4 G3 e
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 01:49 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表