到底什么是JTAG呢? JTAG(Joint Test Action
Group)联合测试行动小组)是一种国际标准测试协议(IEEE
1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPG
A器件等。标准的JTAG接口是4线:TMS、
TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
JTAG最初是用来对芯片进行测试的,基本原理是在器件内部定义一个TAP(Test Access
Port?测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。JTAG测试允许多个?
骷ü齁TAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。现在,JTAG?
涌诨钩S糜谑迪諭SP(In-System rogrammable?在线编程),对FLASH等器件进行编程。
JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,
简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。JTAG接口可
对PSD芯片内部的所有部件进行编程
JTAG的一些说明
通常所说的JTAG大致分两类,一类用于测试芯片的电气特性,检测芯片是否有问题;一类用
于Debug;一般支持JTAG的CPU内都包含了这两个模块。 一个含有JTAG
Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU
总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,
象UART,Timers,GPIO等等的寄存器。
上面说的只是JTAG接口所具备的能力,要使用这些功能,还需要软件的配合,具体实现的功
能则由具体的软件决定。
例如下载程序到RAM功能。了解SOC的都知道,要使用外接的RAM,需要参照SOC DataSheet的寄存器说明,设置RAM的基地址,总线宽度,访问速度等等。
有的SOC则还需要Remap,才能正常工作。运行Firmware时,这些设置由Firmware的初始化程序完成。但如果使用JTAG接口,
相关的寄存器可能还处在上电值,甚至时错误值,RAM不能正常工作,所以下载必然要失败。要正常使用,先要想办法设置RAM。
在ADW中,可以在Console窗口通过Let 命令设置,在AXD中可以在Console窗口通过Set命令设置。