JTag, JLink及OpenJtag的比较

2019-07-13 09:26发布

本文简单介绍了JTag, JLink及OpenJTag的用途,以及区别。同时也介绍了开发机没有并口时,该选择何种工具进行烧写。所有资料均从网上搜罗而来。

一. JTag

JTag(Joint Test Action Group) 是IEEE1149.1 (Standard Access Port and Boundary-Scan Architecture)标准. 它最初用来以边界扫描的方式测试印刷电路板,当然它现在仍然这一方面广泛使用。
JTag的用途: 1. 边界扫描测试
2. 往Flash烧写程序和数据: 可以烧写Nor Falsh 和 Nand Falsh 3. 调试ARM裸机程序,不能调试嵌入式Linux程序
JTag的接口: JTag接口并没有统一的标准。ARM处理器通常使用2*10针(部分使用2*7针)的JTag接口。 JTag连接Host的一端通常为并口。一般笔记本及台式机都很少有并口接口,而且市面上买到的USB转并口并不能用于JTag,USB转并口主要是给老式打印机使用的。这就使得我们很难使用JTag以及笔记本进行烧写。另外的一个缺点是并口JTag的速率非常低。
JTag的替代品:  Serial Wire Debug(SWD)。

二. JLink

JLink是Segger的产品,http://www.segger.com/jlink.html。它是USB接口转到JTag接口的适配器(adaptor),并不是真正意义上的仿真器。它采用标准的14针或者20针的Jtag接口与开发板相连。它支持多种CPU内核(ARM7, ARM9,Cortex etc.)。对ARM而言,它可能是最受欢迎的适配器。
JLink的功能: 1. 往Flash烧写程序:不支持烧写NAND Flash 参见http://www.segger2.com/index.php?page=Thread&threadID=144 2. 支持Windows, Linux以及Mac: 但是Linux及Mac仅支持JLink Commander, Command Line GdbServer, 以及shared library。 3. 支持多种调试协议: 如GDB, RDI 等 4. USB转串口功能
JLink的接口: USB接口,JLink的价格也比较低(当然是山寨的)。

三. OpenJTag

OpenJTag是一个开源项目(包含软件和硬件),采用GNU GPL license: http://www.openjtag.org/。同样它也是一个USB接口转JTag接口的适配器,同样不是真正意义上的仿真器。
OpenJTag的功能: 1. 往Flash烧写程序: 支持NOR Flash 和 NAND Flash 2. 支持Windows以及Linux 3. 能够用在支持GDB调试协议的工具上: 如IAR, Eclipse, 但不能用在支持RDI调试协议的工具上: 如ADS 4. USB转串口功能
OpenJtag的接口: USB接口,但是他的价格要比JLink高一些