1、JTAG 与 ISP 下载区别 2010-06-25 10:26:03| 分类: 单片机|字号 订阅JTAG 是 Joint Test Action Group(联合测试行动小组)的缩写,是一种国际标准测试协议(IEEE 1149.1兼容) ,主要用于芯片内部测试。JTAG 用来对芯片进行测试的基本原理是在器件内部定义一个 TAP(Test Access Port;测试访问口)通过专用的 JTAG 测试工具对内部节点进行测试。标准的 JTAG 接口是4线:TMS、 TCK、 TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。TMS: 测试模式选择。此引脚用来实现 TAP 控制器各个状
2、态之间的切换。TCK: 测试时钟。JTAG 操作是与 TCK 同步的。TDI:测试数据输入- 需要移位到指令寄存器或数据寄存器( 扫描链)的串行输入数据。TDO:测试数据输出- 自指令寄存器或数据寄存器串行移出的数据。现在,JTAG 接口还常用于实现 ISP(In-System Programmable;在线编程) ,对EEPROM、FLASH 等器件进行编程和在线调试。JTAG 编程方式是在线编程,传统开发流程中先对芯片进行预编程再装到板上的模式因此而改变,简化的流程为先固定器件到电路板上,再用 JTAG 编程,从而大大加快工程进度。AVR 的 JTAG 功能(只有部分型号才有)使得 AVR
3、 的调试工作非常简单,可以通过JTAG 接口对 Flash、EEPROM、熔丝位和锁定位进行编程。使用 AVR studio 软件和 JTAG硬件( AVR JTAG 编程器, AVR JTAG 仿真器)可以进行程序下载(亦即编程)和程序在线调试。通过 JTAG 功能,工程师可以方便的观察各个寄存器的变化和程序的运行情况,十分适合单片机的学习与系统开发。什么是 ISP?ISP 是一种通用的程序下载方式,所有 AVR 单片机都有 ISP 下载接口。可以通过 ISP下载线或者 STK500把程序下载到单片机中。ISP 下载线成本低廉,制作简单,一个并口ISP 下载线只需几十元即可得到。但是通过 I
4、SP 的方式下载程序速度慢并且不能实现在线的仿真调试,所以这种编程方式并不适合于单片机的学习与系统开发。什么是 Debugwire?为了降低成本和调试引脚的开销,ATMEL 公司在 AVR 器件上使用的新的调试接口 Debugwire。通过 Debugwire 的方式,用户可以实现程序的在线调试,调试方面Debugwire 与 JTAG 相比其主要区别在于仅使用一根信号线(RESET ) ,即可完成调试信息的交互,达到控制程序流向,执行指令以及编程熔丝位的功能,但是在使用中尚需接电源信号:VTref(VCC)、GND。要注意的是,Debugwire 不同于 JTAG,它只是一种调试接口,而不是
5、编程接口,也就是说不能通过 Debugwire 下载程序。JTAG,ISP,Debugwire 的区别。JTAG:可以进行程序的下载和在线仿真调试,程序下载速度快。只有部分器件支持。在 JTAG 使能的前提下程序的下载和仿真无需进行其他设定即可。ISP:只能进行程序的下载,程序下载速度慢。所有 AVR 单片机均支持 ISP 程序下载。Debugwire:只能进行程序的在线仿真调试不能进行程序的下载。只有比较少的器件支持 Debugwire 方式仿真。目标 MCU 的 ISP 功能和 debug WIRE 功能是互斥的,使能了目标MCU 的 debug WIRE 功能后 ISP 功能就无法使用,使能了 ISP 功能后 debug WIRE 功能就无法使用。