嵌入式开发JTAG接口的应用介绍
- 格式:doc
- 大小:18.50 KB
- 文档页数:4
jtag 接口是什么
JTAG(JointTestAcTIonGroup,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,JTAG 技术是一种
嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP (TestAccessPort,测试访问口),通过专用的JTAG 测试工具对内部节点进行测试。
如今大多数比较复杂的器件都支持JTAG 协议,如ARM、DSP、FPGA 器件等。
标准的JTAG 接口是4 线:TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。
如今JTAG 接口的连接有两种标准,即14 针接口和20 针接口,其定义分别如下所示。
14 针JTAG 接口
1、13VCC 接电源。
JTAGJTAG接口功能引脚图JTAG是英文“Joint Test Action Group(联合测试行为组织)”的词头字母的简写,该组织成立于1985 年,是由几家主要的电子制造商发起制订的PCB 和IC 测试标准。
JTAG 建议于1990 年被IEEE 批准为IEEE1149.1-1990 测试访问端口和边界扫描结构标准。
该标准规定了进行边界扫描所需要的硬件和软件。
自从1990 年批准后,IEEE 分别于1993 年和1995 年对该标准作了补充,形成了现在使用的IEEE1149.1a-1993 和IEEE1149.1b-19 94。
JTAG 主要应用于:电路的边界扫描测试和可编程芯片的在线系统编程。
国际标准测试协议JTAG也是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。
现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。
标准的JTAG 接口是4线:TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
相关JTAG引脚的定义为:TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引脚从JTAG 接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。
GNDTI还定义了一种叫SBW-JTAG的接口,用来在引脚较少的芯片上通过最少的利用引脚实现JTAG接口,它只有两条线,SBWTCK,SBWTDIO。
实际使用时一般通过四条线连接,VCC,SBWTCK,SBTDIO,GND,这样就可以很方便的实现连接,又不会占用大量引脚。
JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Tes t Access Port测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。
J TAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。
jtagapb用法摘要:一、JTAGAPB简介1.JTAG简介2.JTAGAPB的作用二、JTAGAPB的连接方式1.硬件连接2.软件连接三、JTAGAPB的编程方法1.使用JTAGAPB工具进行编程2.使用编程器进行编程四、JTAGAPB的应用领域1.嵌入式系统开发2.物联网设备开发五、JTAGAPB的发展趋势1.在新技术中的运用2.未来发展方向正文:JTAGAPB是Joint Test Action Group-Advanced Package Bus的缩写,中文意为联合测试行动组-先进封装总线,它是一种用于芯片测试和编程的标准接口。
通过JTAGAPB,可以实现对芯片内部寄存器的访问和控制,从而对芯片进行测试和编程。
在嵌入式系统开发和物联网设备开发等领域中,JTAGAPB被广泛应用。
JTAGAPB的连接方式主要有硬件连接和软件连接两种。
硬件连接是通过JTAG测试接口将JTAGAPB与目标芯片连接起来,从而实现对芯片的访问。
软件连接则是通过在开发环境中配置JTAGAPB的相关参数,实现与目标芯片的通信。
在编程方面,可以使用JTAGAPB工具或编程器进行编程。
JTAGAPB工具通常提供了一个图形化的界面,方便用户进行编程操作。
编程器则需要用户通过命令行的方式进行编程。
无论使用哪种方法,都可以实现对目标芯片的编程。
随着科技的不断发展,JTAGAPB在新技术中的运用也越来越多。
例如,在物联网设备开发中,JTAGAPB可以用于对传感器节点进行编程和测试,从而提高开发效率。
此外,随着集成电路封装技术的进步,JTAGAPB也在不断发展和完善,以满足更高的技术要求。
总之,JTAGAPB作为一项成熟的技术,在嵌入式系统开发和物联网设备开发等领域具有广泛的应用前景。
可以实现的JTAG调试器的嵌入式系统ARM系列处理器正是通过JTAG 接口使用内部集成的ICE 功能, 并采用这种方式实现在线调试。
此外CPLD、FPGA 等器件大多都可以使用JTAG 接口实现在线编程或下载。
因此,JTAG 接口已经成为复杂芯片系统的必备接口, 在芯片测试、调试及实现其他特殊功能方面发挥着重要作用。
基本原理JTAG 标准即IEEE 1149.1 标准。
联合测试行动组JTAG(Joint Test Action Group ) 起草了边界扫描测试BST(Boundary Scan Testing)规范, 该标准为数字集成电路规定了一个测试访问口(TAP) 和边界扫描结构,解决了由于数字电路高度集成化带来的一些测试难题。
它还提供了一种访问和控制芯片内部仿真(ICE) 模块的方法, ICE 模块一般包括内部扫描和自测试的功能, 可以很好地支持集成电路的开发。
JTAG 标准工作原理边界扫描技术的基本思想是在靠近芯片的输入输出管脚增加一个移位寄存器单元。
通过这些边界扫描寄存器单元, 可以实现对芯片输入输出信号的观察和控制。
另外, 靠近芯片输入输出管脚的边界扫描(移位) 寄存器单元可以相互连接起来, 在芯片的周围形成一个边界扫描链(Boundary- Scan Chain) 。
一般的芯片都会提供几条独立的边界扫描链, 用来实现完整的测试功能。
在JTAG标准中, 寄存器被分为两大类: 数据寄存器(DR- Data Register)和指令寄存器(IR- Instruction Register),边界扫描链寄存器即为一种很重要的数据寄存器, 边界扫描链可用来观察和控制芯片的输入输出。
指令寄存器用来实现对数据寄存器的控制。
TAP 是一个通用的端口, 通过TAP 可以访问芯片提供的所有数据寄存器和指令寄存器, 对整个TAP的控制是通过TAP控制器完成的。
TAP包括5个信号接口: (1)TCK(Test Clock), 为TAP操作提供了一个独立的基本的时钟信号。
嵌入式系统的调试与测试技术研究嵌入式系统是一种高度集成的各种硬件和软件系统,其应用范围广泛,包括汽车、医疗设备、航空航天、工业自动化等领域。
嵌入式系统的调试和测试是确保系统可靠性和稳定性的重要步骤。
本文将从嵌入式系统的调试和测试技术入手,深入探讨如何提高嵌入式系统的可靠性和稳定性。
一、嵌入式系统的调试和测试方法嵌入式系统的调试和测试在整个系统开发过程中起着至关重要的作用。
常见的嵌入式系统调试和测试方法包括:仿真测试、单元测试、集成测试、验收测试等。
其中,仿真测试是利用仿真器或者模拟器对嵌入式系统进行各种测试,可以帮助开发人员在没有实际硬件的情况下快速进行开发和调试;单元测试是对嵌入式系统中的各个模块进行测试,确保每个模块的功能正确性;集成测试是对整个系统进行测试,确保各个模块之间的协同工作正常;验收测试是为了验证开发的系统是否符合客户的需求和要求。
二、硬件调试测试技术硬件调试测试技术是指对嵌入式系统硬件进行测试和调试,主要包括CPU分析器、电路分析仪、万用表、示波器等设备。
在进行硬件调试时,一般首先要进行硬件电路图的设计和分析,确保电路图的正确性和稳定性。
其次,要对板子进行功率测试、时钟测试、引脚测试等测试,保证板子的正常工作。
最后,要进行连通性测试,确保各个模块之间的连接正常。
三、软件调试测试技术软件调试测试技术是指对嵌入式系统软件进行测试和调试,主要包括GDB调试、Trace调试、代码覆盖率测试、文本比对测试等技术。
在进行软件调试时,一般首先要对软件进行静态分析和代码审查,发现潜在的错误和问题。
其次,要利用GDB调试器进行调试,对函数的输入、输出进行跟踪和观察。
最后,要进行文本比对测试,确保程序输出结果的正确性和稳定性。
四、嵌入式系统测试工具嵌入式系统测试工具是指针对嵌入式系统进行测试和调试的软件工具,包括MBIST、JTAG debugger、FileScope、Coverity等工具。
MBIST是一种存储器内置自检工具,可以帮助开发人员快速发现存储器中的问题。
收稿日期:2004-09-20 作者简介:曾毅(1978-),男,四川自贡人,硕士研究生,主要研究方向:嵌入式应用、网络安全; 张小松(1968-),男,四川双流人,讲师,硕士,主要研究方向:嵌入式应用、网络安全; 陈景春,男,四川成都人,教授,主要研究方向:嵌入式应用、程序理论; 李毅超(1969-),男,四川广汉人,副教授,主要研究方向:嵌入式应用、网络安全.文章编号:1001-9081(2004)12Z -0307-02JT AG 边界扫描技术及其在嵌入式开发中的应用曾 毅,张小松,陈景春,李毅超(电子科技大学计算机科学与工程学院,四川成都610054)(R ichardlyc@uestc .edu .cn )摘 要:介绍了JT AG 边界扫描的概念及基本协议标准,并以工程应用为重点,结合实际开发的一个嵌入式平台,以F LASH 的在系统编程和硬件测试程序为例,详细说明了JT AG 技术在嵌入式开发中的应用。
关键词:JT AG;嵌入式;F LASH;硬件测试中图分类号:TP311.52 文献标识码:A0 引言在现代电子应用系统中,PC B 板越来越复杂,大量使用各种表贴元件和BG A (Ball Grid A rray )封装元件,元器件的管脚数和管脚密度不断提高。
使用万用表、示波器等测试芯片的传统方法已不能满足要求。
早在20世纪80年代,联合测试行动组(Joint Test Acti on Gr oup,JT AG )起草了边界扫描测试(Boundary 2Scan Testing,BST )规范,后来在1990年被批准为I EEE 标准1149.121990规定,简称JT AG 标准。
JT AG 技术在嵌入式系统开发中有着广泛的应用,本文将以工程应用为重点,以F LASH 编程和硬件测试为例详细说明。
1 JT AG 标准概述1.1 JT AG 接口JT AG 标准规定对于数字集成电路的每个引脚都对应一个或多个移动寄存器单元,称为边界扫描单元BSC 。
什么是JTAG及其使用方法?
JTAG不仅仅用于调试和下载程序
你可能熟悉JTAG是因为你使用过带有JTAG接口的工具。
处理器经常使用JTAG来实现调试/仿真功能,而且所有的FPGA和CPLD 都利用JTAG来实现下载程序功能。
JTAG不仅仅是一种用于处理器调试/仿真的技术
JTAG不仅仅是一种为FPGA/CPLD下载程序的技术
通常与JTAG有关的调试和编程工具仅仅利用了潜在技术的一个方面即四线JTAG通讯协议。
这四种信号,作为测试访问端口(TAP)而广为人知。
它是IEEE 1149.1. 标准的一部分。
开发该标准的目的在于提供一种印刷电路板组件(PCBA)测试的技术。
这种技术不需要针床测试的物理访问,也不像功能测试那样需要定制开发量。
设计TAP来与新的寄存器进行交互,这些新的寄存器被添加到器件中,以便实现这种测试方法。
但是很快半导体制造商就意识到了使用TAP来访问寄存器,可以提供其它功能如调试和编程。
专门用于JTAG测试而加入到器件中的寄存器主要是边界扫描寄存器(BSR)。
正如它的名字所示,这个寄存器的单独的位或单元位于器件的边界,处于功能核心与引脚或焊球之间,通过引脚连接到板上JTAG测试经常被称作边界扫描。
JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(Test Access Port,测试访问口),通过专用的JTAG测试工具对内部节点进行测试。
目前大多数比较复杂的器件都支持JTAG协议,如ARM、DSP、FPGA器件等。
标准的JTAG接口是4线:TMS、TCK、TDI、TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。
JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。
JTAG接口还常用于实现ISP(In-System Programmable在系统编程)功能,如对FLASH器件进行编程等。
通过JTAG接口,可对芯片内部的所有部件进行访问,因而是开发调试嵌入式系统的一种简洁高效的手段。
目前JTAG接口的连接有两种标准,即14针接口和20针接口,其定义分别如下所示。
14针JTAG接口定义:14针JTAG接口定义引脚名称描述1、13VCC接电源2、4、6、8、10、14GND接地3nTRST测试系统复位信号5TDI测试数据串行输入7TMS测试模式选择9TCK测试时钟11TDO测试数据串行输出12NC未连接20针JTAG接口定义引脚名称描述1VTref目标板参考电压,接电源2VCC接电源3nTRST测试系统复位信号4、6、8、10、12、14、16、18、20GND接地5TDI测试数据串行输入7TMS测试模式选择9TCK测试时钟11RTCK测试时钟返回信号13TDO测试数据串行输出15nRESET目标系统复位信号17、19NC未连接下面以S3C4510B开发板为例说明JTAG接口:在保证电源电路、晶振电路和复位电路正常工作的前提下,可通过JTAG接口调试S3C4510B,在系统上电前,首先应检测JTAG接口的TMS、TCK、TDI、TDO信号是否已与S3C4510B 的对应引脚相连,其次应检测S3C4510B的nEWAIT引脚(Pin71)是否已上拉,ExtMREQ 引脚(Pin108)是否已下拉,对这两只引脚的处理应注意,作者遇到多起S3C4510B不能正常工作或无法与JTAG接口通信,均与没有正确处理这两只引脚有关。
嵌入式开发JTAG接口的应用介绍
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用于Debug;一般支持JTAG的CPU内都包含了这两个模块。
一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU 的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。
上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能则由具体的软件决定。
例如下载程序到RAM功能。
了解SOC的都知道,要使用外接的RAM,需要参照SOCDataSheet的寄存器说明,设置RAM的基地址,总线宽度,访问速度等等。
有的SOC则还需要Remap,才能正常工作。
运行Firmware时,这些设置由Firmware的初始化程序完成。
但如果使用JTAG接口,相关的寄存器可能还处在上电值,甚至时错误值,RAM不能正常工作,所以下载必然要失败。
要正常使用,先要想办法设置RAM。
在ADW中,可以在Console窗口通过Let 命令设置,在AXD中可以在Console窗口通过Set 命令设置。
下面是一个设置AT91M40800的命令序列,关闭中断,设置CS0-CS3,并进行Remap,适用于AXD(ADS带的Debug)
setmem 0xfffff124,0xFFFFFFFF,32 ---关闭所有中断
setmem 0xffe00000,0x0100253d,32 ---设置CS0 0xffe00004,0x02002021,32 ---设置CS1
setmem 0xffe00008,0x0300253d,32 ---设置CS2
setmem 0xffe0000C,0x0400253d,32 ---设置CS3
setmem 0xffe00020,1,32 ---Remap
如果要在ADW(SDT带的DEBUG)中使用,则要改为:
let 0xfffff124=0xFFFFFFFF ---关闭所有中断。