Jtag学习
? ? JTAG(Joint?Test?Action?Group?,联合测试行动小组?)?是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试,?JTAG?技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路?TAP?(?Test?Access?Port?,测试访问口),通过专用的?JTAG?测试工具对内部节点进行测试。目前大多数比较复杂的器件都支持?JTAG?协议,如?ARM?、?DSP?、?FPGA?器件等。标准的?JTAG?接口是?4?线:TMS?、?TCK?、?TDI?、?TDO?,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。
Test?Mode?Selection?Input?(TMS) TMS信号用来控制TAP状态机的转换。通过TMS信号,可以控制TAP在不同的状态间相互转换。TMS信号在TCK的上升沿有效。TMS在IEEE?1149.1标准里是强制要求的。 Test?Clock?Input?(TCK) TCK为TAP的操作提供了一个独立的、基本的时钟信号,TAP的所有操作都是通过这个时钟信号来驱动的。TCK在IEEE?1149.1标准里是强制要求的。 Test?Data?Input?(TDI) TDI是数据输入的接口。所有要输入到特定寄存器的数据都是通过TDI接口一位一位串行输入的(由TCK驱动)。TDI在IEEE?1149.1标准里是强制要求的。 Test?Data?Output?(TDO) TDO是数据输出的接口。所有要从特定的寄存器中输出的数据都是通过TDO接口一位一位串行输出的(由TCK驱动)。TDO在IEEE?1149.1标准里是强制要求的。
一个含有JTAG?Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功能则由具体的软件决定。????? 目前?JTAG?接口的连接有两种标准,即?14?针接口和?20?针接口,其定义分别如下所示。 14针JTAG接口定义引脚名称描述? ??? 1?、?13?VCC?接电源 ? ? 2?、?4?、?6?、?8?、?10?、?14?GND?接地????? ? ??3?nTRST?测试系统复位信号????? ? ??5?TDI?测试数据串行输入????? ? ??7?TMS?测试模式选择????? ? ??9?TCK?测试时钟????? ? ??11??TDO?测试数据串行输出????? ? ??12??NC?未连接
20针JTAG接口定义引脚名称描述? ??? 1??VTref?目标板参考电压,接电源?? ? ??2?VCC?接电源????? ? ??3?nTRST?测试系统复位信号????? ? ??4、6、8、10、12、14、16、18、20?GND?接地????? ? ??5?TDI?测试数据串行输入????? ? ??7?TMS?测试模式选择????? ? ??9?TCK?测试时钟????? ? ??11?RTCK?测试时钟返回信号????? ? ??13?TDO?测试数据串行输出????? ? ??15?nRESET?目标系统复位信号????? ? ??17?、?19?NC?未连接 常用的Jtag调试工具 WindRiver?Jtag调试器 Trace32 Ulink,?Jlink (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |