提到ARM的仿真,首先要知道JTAG。JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。现在多数的高级器件都支持JTAG协议,如DSP、FPGA器件等。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。 相关JTAG引脚的定义为:TCK为测试时钟输入;TDI为测试数据输入,数据通过TDI引脚输入JTAG接口;TDO为测试数据输出,数据通过TDO引
脚从JTAG接口输出;TMS为测试模式选择,TMS用来设置JTAG接口处于某种特定的测试模式;TRST为测试复位,输入引脚,低电平有效。
总结:JTAG其实是一个ARM支持的协议,而ARM的开发板为了利用该协议进行调试和测试因而要引出来一个JTAG接口。而JTAG协议在定义时,由于当时的计算机(PC机)普遍带有并口,因而在连接计算机端是定义使用的并口。
前面提到,JTAG协议在定义时,由于当时的计算机(PC机)普遍带有并口,因而在连接计算机端是定义使用的并口。而计算机到了今天,不要说笔记本电脑,现在台式计算机上面有并口的都很少了,取而代之的是越来越多的USB接口。那么能不能让JTAG支持USB协议,用USB接口来调试ARM呢?这就要说到JLINK和ULINK了。
J-Link是德国SEGGER公司为支持仿真ARM内核芯片推出的JTAG仿真器。简单地说,是给ARM设计的一种JTAG转换盒。其连接到计算机用的是USB接口,而到ARM内部用的还是jtag协议。它完成了一个从软件到硬件转换的工作。
J-LINK仿真器目前已经升级到V9.1版本,其仿真速度和功能远非简易的并口WIGGLER调试器可比。
J-LINK支持ARM7/ARM9 /ARM11,Cortex M0/M1/M3/M4,Cortex A4/A8/A9等内核芯片,支持ADS、IAR、KEIL开发环境。V9.1版本较V8.0版本进一步提升了下载速度,最大下载速度提升到1 MByte/s。
J-Link为德国SEGGER公司原厂产品,目前在中国仅设有代理商,没有国产版本,购买J-Link后可以通过SEGGER官方网站或者SEGGER公司中国区代理商广州市风标电子联系认证是否为正版产品,已保障您的权益。
但是正版的比较贵,好在J-Link V8目前已被破解,所以淘宝上百元以下。只是由于JTAG接口的Pin数有多种,买的时候注意要和自己的开发板的Pin数一样,否则还需要转接板。
和上面类似的,ULINK是ARM公司自己推出的配套RealView MDK使用的仿真器,可以配合RealView MDK和Keil实现仿真功能。支持的芯片不限于ARM还有51单片机等。
ST-LINK是专门针对STM8和STM32系列芯片的仿真器。
小结:
JTAG: 是仿真使用的协议.
J-Link是德国SEGGER公司做的仿真器.
ST-LINK是ST公司做的专门针对STM8和STM32系列芯片的仿真器.