JTAG接口概述

1、 JTAG接口在嵌入式中的作用

引用:http://nancy.spaces.eepw.com.cn/articles/article/item/16322

1 用于烧写FLASH 

烧写FLASH的软件有很多种包括jatg.exe fluted flashpgm等等,但是所有这些软件都是通过jtag接口来烧写flash的,由于pc机上是没有jtag接口的,所以利用并口来传递信息给目标板的jtag接口。所以就需要并口转jtag接口的电路。

2 用于调试程序

同时应该注意到jtag接口还可以用来调试程序。而调试程序(如ARM开发组件中的AXD)为了通过jtag接口去调试目标板上的程序,同样是使用pc的并口转jtag接口来实现与目标板的通信。这样,并口转jtag接口的电路就有了两种作用。

3 仿真器

根据1和2的总结,并口转jtag接口的电路是两种应用的关键,而这种电路在嵌入式开发中就叫仿真器。并口转jtag接口的电路有很多种,有简单有复杂的,常见的仿真器有Wigger,EasyJTAG,Multi-ICE等。这些所谓的仿真器的内部电路都是并口转jtag接口,区别只是电路不同或使用的技术不同而已。


2、Wigger电路

JTAG接口概述_第1张图片


3、openJTAG电路

OPEN JTAG简介
在嵌入式开发中,有很多优秀的开发工具。如KEIL、IAR、Rowley Associates等。他们安装使用都很方便,功能强大,但是价格昂贵;还要购买相应的硬件,如J-LINK、U-LINK等USB到JTAG的转换盒,这也是一部不小的开支。
但是现在有一个价格低廉的开发环境就是,用免费的开发工具Eclipae、OpenOCD,然后通过一些便宜的JTAG转换器(如并口转换器),就可以到达甚至超过商业软件的效果。但是并口JTAG速率太低,一般很少使用。现在有一个更好的转换器就是OPenJTAG转换器。


OpenJTAG 的硬件采用了ALTERA 的MAX II EPM570 CPLD 作为并串转换器,USB的FIFO采用了FTDI芯片公司的FT245BM。这个电路简单,容易理解。FT245BM是USB的前端从PC和CPLD,带来一种简便廉价的通信解决方案的目标硬件。

JTAG接口概述_第2张图片

引用:http://hi.baidu.com/jnuli/blog/item/c94522db1104896dd1164ef7.html

什么是Open JTAG。Open JTAG是一个开源项目,她的目标是使嵌入式开发者能够通过JTAG接口,用开放的硬件和软件系统进行烧写、校验和调试。

作为Open JTAG的官方网站,http://www.openjtag.net 上详述了Open JATG可以实现的硬件解决方式。

然而,他们的重点确实放在详述花费 $200 的高速JATG解决方案上,令 我辈山寨开发者十分不满。

还好,USB接口的解放方案提供了一种相对低廉的解决方式,20M的速率也不算低,这就是给予FTDI的FT2232系列的JTAG调试器。

当然,Open JTAG的硬件成本就不可能做到比Jlink的价格还低了。

不过令人振奋的是,Open JTAG以他特殊的开源优势,特别适合嵌入式开发者的使用,特别是在Lunix下的使用。

搭配的软件常用的是OpenOCD,它是一个开源的JTAG上位机程序,主页在http://openocd.berlios.de/web/,论坛在http://forum.sparkfun.com/viewforum.php?f=18。目前支持多种芯片。可以简单查看src/target/target.c中的target_types的定义就可以了解支持哪些处理器了:

target_type_t *target_types[] ={
        &arm7tdmi_target,
        &arm9tdmi_target,
        &arm920t_target,
        &arm720t_target,
        &arm966e_target,
        &arm926ejs_target,
        &feroceon_target,
        &xscale_target,
        &cortexm3_target,
        &arm11_target,
        &mips_m4k_target,
        ... ...
所以也就是说,凡是以上列出的,Open JTAG都可用。而且随着Open OCD的功能晚上,支持的芯片还会越来越多。


官方解决方案原理图(FT245BM作为USB的FIFO缓冲,EPM570 MAX II作为串并转换器)


插播:USB转串口常用芯片(FT2232C CP2102  PL2303

http://hi.baidu.com/fire4work/blog/item/0673c523cfbe1e4dac34de75.html


4、Jlink电路

关键部分是使用了IC, AT91SAM7S64(阿莫的arm单片机)

引用:http://www.ourdev.cn/bbs/bbs_content.jsp?bbs_sn=3219462&bbs_page_no=1&search_mode=3&search_text=juedi&bbs_id=9999

JTAG接口概述_第3张图片


5、OpenJTAG和JLINK差别

1. 操作系统:

OpenJTAG可以用在Windows、Linux下;
JLink只能用在Windows下。

2. 集成开发环境:

OpenJTAG能用在所有支持GDB调试协议的工具上,比如 IAREclipse、winarm,不能用在支持RDI协议的工具上,比如ADS。
JLink支持多种调试协议RDI、GDB调试,几乎所有Windows下的工具都支持,比如ADS、Keil MDK、IAR。

3. 对Flash的烧写:

OpenJTAG、JLink对FLASH的烧写功能几乎一样强。

4. 如何选择:

如果是学习Linux,那么OpenJTAG比较适用(因为 JLink只能用在Windows下);
如果比较喜欢ADS(使用RDI调试协议)、Keil等工具,那么JLink比较适用;

你可能感兴趣的:(JTAG接口概述)