ejtag调试工具
1.EJTAG
EJTAG(Enhanced Joint Test Action Group)是MIPS公司根据IEEE 1149.1协议的基本构造和功能扩展而制定的规范,是一个硬件/软件子系统,在处理器内部实现了一套基于硬件的调试特性,用于支持片上调试。关于IEEE的标准,可以参考IEEE 1149.1的文档。所有MIPS的微处理器或是包含MIPS核的SoC芯片组件均提供对EJTAG调试的支持。EJTAG接口利用JTAG的TAP(Test Access Port)访问方式,将测试数据传入或者传出处理器核。EJTAG是mips的onchip debug调试标准。现在龙芯1号、龙芯2号(龙芯2F和以前版本不支持)和龙芯3号系列都支持ejtag调试。通过ejtag可以大大方便软件调试,这里讲讲ejtag原理和ejtag-debug软件。ejtag-debug是ejtag调试工具,支持读写寄存器、内存、反汇编、执行用户编写的小程序、gdb远程调试和脚本语言。
2.JTAG
JTAG(Joint Test Action Group ,联合测试行动小组 ) 是一种国际标准测试协议,JTAG最早的意义之一,主要用于芯片内部测试及对系统进行仿真、调试、检测芯片的管脚, JTAG 技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口),通过专用的 JTAG 测试工具对内部节点进行配置和调试。
-
jtag接口
-
jtag接口原理图
-
jtag接口主要作用
具有JTAG口的芯片都有如下JTAG引脚定义:
TCK——测试时钟输入;
TDI——测试数据输入,数据通过TDI输入JTAG口;
TDO——测试数据输出,数据通过TDO从JTAG口输出;
TMS——测试模式选择,TMS用来设置JTAG口处于某种特定的测试模式。
可选引脚TRST——测试复位,输入引脚,低电平有效。
含有JTAG口的芯片种类较多,如CPU、DSP、CPLD等。JTAG内部有一个状态机,称为TAP控制器。TAP控制器的状态机通过TCK和TMS进行状态的改变,实现数据和指令的输入。 -
JTAG芯片的边界扫描寄存器
JTAG标准定义了一个串行的移位寄存器。寄存器的每一个单元分配给IC芯片的相应引脚,每一个独立的单元称为BSC(Boundary-Scan Cell)边界扫描单元。这个串联的BSC在IC内部构成JTAG回路,所有的BSR(Boundary-Scan Register)边界扫描寄存器通过JTAG测试激活,平时这些引脚保持正常的IC功能。
3.EJTAG/JTAG
龙芯处理器的 EJTAG 接口用于调试底层应用软件,JTAG 调试接口用于芯片测试。龙芯系列芯片中有的芯片 EJTAG 与 JTAG 信号为复用关系,通过设置相应信号来在 JTAG 与 EJTAG 之间切换,设计时注意通过上下拉此信号将接口配置为所需的 EJTAG 或是 JTAG。有的芯片 EJTAG 与 JTAG 信号未复用。
龙芯芯片支持 EJTAG 调试接口,通过该接口可实现龙芯各个方案板的在线调试,在设计时应该保留该接口。具体调试方法请参考《EJTAG 说明文档》。 建议在设计时尽量将板上 EJTAG接口与龙芯官方 EJTAG调试下载器接口保持一致,以方便以后的调试工作。
板上 EJTAG 接口封装形式为双排 2.54 间距 2X7 插针座,如下图:其中 12脚不焊接。
EJTAG 封装示意图
上图中方形焊盘为 1 脚,上下两行焊盘为偶数脚焊盘与奇数脚焊盘。
龙芯 EJTAG 调试接口定义如下:★注意:在线调试时注意 EJTAG 调试工具与接口要正确连接,切勿反插,EJTAG 调试工具不推荐热插拔避免烧坏 EJTAG 调试器。 如不使用 EJTAG 接口,EJTAG_TRST、EJTAG_TDI 需下拉,其它信号可悬空。(强烈建议预留此接口)
lsusb
2961:6688