【转】jtag(仿真)和isp

来源:百度文库 编辑:神马文学网 时间:2024/04/28 13:19:09

jtag(仿真)和isp

arm21312007-11-12 21:34:41阅读85评论0  字号:大中小 订阅

JTAG是一个通信标准,用于计算机和单片机进行实时快速通讯。

AVR的JTAG功能(只有部分型号才有)使得AVR的调试工作非常简单,可以通过JTAG 接口对Flash、EEPROM、熔丝位和锁定位进行编程。

使用AVR studio软件和JTAG硬件( AVR JTAG编程器,AVRJTAG仿真器)可以进行程序下载(编程)和程序在线调试。

JTAG接口有四个引脚。以JTAG的术语来说,这些引脚组成了测试访问端口TAP。这些引脚是:

  • TMS:测试模式选择。此引脚用来实现TAP 控制器各个状态之间的切换。
  • TCK:测试时钟。JTAG 操作是与TCK 同步的。
  • TDI: 测试数据输入--需要移位到指令寄存器或数据寄存器(扫描链)的串行输入数据。
  • TDO:测试数据输出-- 自指令寄存器或数据寄存器串行移出的数据。

什么是ISP?

ISP是一种通用的程序下载方式,AVR单片机都有ISP下载接口。可以通过ISP下载线或者STK500把程序下载到单片机中。

ISP下载线成本低廉,制作简单,一个并口ISP下载线只需几十元即可得到。开发工具成本低也是AVR单片机的优势之一。

JTAG与ISP的区别和联系

区别:JTAG可以调试程序,而ISP只能下载程序。

联系:同作为AVR程序下载工具,都能把程序从电脑下载到单片机中。都能对芯片的熔丝位和锁定位进行编程。

JTAG调试与普通软件仿真的区别和联系

联系:都可以在计算机调试程序终端看到程序的运行效果,都可以设置断点,单步运行,进入循环,跳出循环,连续运行等操作。还能实时观察各寄存器的值,IO口状态等。

区别:软件仿真,用的是计算机来模仿单片机运行,不是全真的环境,很多时候会出现偏差甚至错误。而用JTAG在线调试,程序本身在单片机内运行,完全真实的硬件环境,更准确的反映程序运行的实际情况,有助于大型程序的调试。

 

 

关于JTAG仿真器,是针对某些特殊的单片机或CPU而言的。这类片子使用符合JTAG接口标准定义的数据线与数据时序来实现在线程序下载(ISP)或程序仿真。这种程序仿真有两种形式。一种与传统意义上的仿真器相似,但程序的运行以及CPU资源的模拟在仿真器与目标芯片中同时进行。另一种仿真形式仅仅对数据进行时序调制,具体的程序运行与调试均在目标芯片中进行。二者比较而言,后者成本低,仿真器制作简便但效率很低,占用芯片本身的资源多。而前者恰恰相反。据我观察,常见的ARM仿真器如EASYARM,TI公司的MSP430单片机的仿真器,还有ALTERA的部分FPGA的JTAG都属于后者。前者一般而言价格昂贵,很多XLINK的FPGA的JTAG仿真器就采用前者的结构,功能很强大。