JTAG与ISP区别  [单片机]

JTAG是Joint Test Action Group(联合测试行动小组)的缩写,是一种国际标准测试协议(IEEE 1149.1兼容),主要用于芯片内部测试。JTAG用来对芯片进行测试的基本原理是在器件内部定义一个TAP(Test Access Port;测试访问口)通过专用的JTAG测试工具对内部节点进行测试。标准的JTAG接口是4线:TMS、 TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。

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

现在,JTAG接口还常用于实现ISP(In-System Programmable;在线编程),对EEPROM、FLASH等器件进行编程和在线调试。JTAG编程方式是在线编程,传统开发流程中先对芯片进行预编程再装到板上的模式因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。

AVR 的JTAG功能(只有部分型号才有)使得AVR的调试工作非常简单,可以通过JTAG 接口对Flash、EEPROM、熔丝位和锁定位进行编程。使用AVR studio软件和JTAG硬件( AVR JTAG编程器,AVR JTAG仿真器)可以进行程序下载(亦即编程)和程序在线调试。通过JTAG功能,工程师可以方便的观察各个寄存器的变化和程序的运行情况,十分适合单片机的学习与系统开发。

什么是ISP?

ISP是一种通用的程序下载方式,所有AVR单片机都有ISP下载接口。可以通过ISP下载线或者STK500把程序下载到单片机中。ISP下载线成本低廉,制作简单,一个并口ISP下载线只需几十元即可得到。但是通过ISP的方式下载程序速度慢并且不能实现在线的仿真调试,所以这种编程方式并不适合于单片机的学习与系统开发。

什么是Debugwire?

为了降低成本和调试引脚的开销,ATMEL公司在AVR器件上使用的新的调试接口——Debugwire。通过Debugwire的方式,用户可以实现程序的在线调试,调试方面Debugwire与JTAG相比其主要区别在于仅使用一根信号线(RESET),即可完成调试信息的交互,达到控制程序流向,执行指令以及编程熔丝位的功能,但是在使用中尚需接电源信号:VTref(VCC)、GND。要注意的是,Debugwire不同于JTAG,它只是一种调试接口,而不是编程接口,也就是说不能通过Debugwire下载程序。

JTAG,ISP,Debugwire的区别。

JTAG可以进行程序的下载和在线仿真调试,程序下载速度快。只有部分器件支持。在JTAG使能的前提下程序的下载和仿真无需进行其他设定即可。

ISP只能进行程序的下载,程序下载速度慢。所有AVR单片机均支持ISP程序下载。

Debugwire只能进行程序的在线仿真调试不能进行程序的下载。只有比较少的器件支持Debugwire方式仿真。目标MCU的ISP功能和debug WIRE功能是互斥的,使能了目标MCU的 debug WIRE 功能后ISP功能就无法使用,使能了ISP功能后debug WIRE功能就无法使用。

转载于:https://blog.51cto.com/ian22354/855203

JTAG与STC,DEBUGWIRE区别相关推荐

  1. jtag和swd的区别

    本文为大家介绍jtag和swd的区别. jtag和swd有什么不同----引脚对比 对于仿真ARM,TKScope仿真器家庭的AK100/AK100Pro.K8/K9等仿真器提供标准的20PIN调试接 ...

  2. AGC自动增益c语言,自动增益控制(AGC)和灵敏度时间增益控制(STC)的区别

    小编总结了一下大家的交流内容并做了一定的拓展,希望有所沉淀并对大家有所帮助和促进.·  正  ·  文  ·  来  ·  啦  · 对于雷达接收机,大的动态范围非常重要.进入接收机的信号除了有用的目 ...

  3. IAP 与 STC 的区别

    1 IAP是带仿真接口的,可以在Keil里调试程序,另外一个没这功能只能下载. 2 IAP叫在应用可编程,也就是整个flash可通过编程擦除,适合初学者学习,实际应用中没必要用这个,除非你想实现在线升 ...

  4. JTAG、SWD、JLINK、ST-LINK、ULINK的区别

    JTAG.SWG.JLINK.ST-LINK.ULINK的区别 什么是下载调试器? 简单来说,下载调试器是将PC(例如通过USB协议)发送的命令转换为 MCU(负责MCU内部外围设备)理解的语言(例如 ...

  5. J-Link、ST-Link、DAPLink、ULink仿真器区别?以及支持的JTAG、SWD、SWIM下载模式、SWV、串口Printf调试差异?

    参考文章 什么是下载调试器? 简单来说,下载调试器是将PC(例如通过USB协议)发送的命令转换为MCU(负责MCU内部外围设备))理解的语言(例如SWD或JTAG协议)的设备,加载代码并精确控制执行. ...

  6. JTAG和SWD的比较

    转载地址:http://m.elecfans.com/article/613729.html 本文为大家介绍jtag和swd的区别. jtag和swd有什么不同----引脚对比 对于仿真ARM,TKS ...

  7. 野火洋桃STM32开发版学习指导完整版

    该文章是我历时一个月整理总结而成,专门针对想要通过野火&洋桃STM32开发板入门stm32的读者.由于csdn编辑限制,该学习指导只包含文字信息.如需查看含图片的完整版可进入我的博客下载页.完 ...

  8. D-017 SWD硬件电路设计

    SWD硬件电路设计 1 简介 2 JTAG和SWD的区别 2 设计要点 3 电路实战 1 简介 SWD(SERIAL WIRE DEBUG)是一种串行线调试,是ARM设计的协议,主要功能是对微控制器进 ...

  9. jtag和swd区别,该用哪个?

    我刚开始学习单片机是STC最经典的STC89C52RC. 导致我后面很多51的产品应用都会选择STC,一方面是因为熟悉,一方面是使用确实很方便. 其中最让我满意的就是烧录,可以直接用串口就可以下载程序 ...

最新文章

  1. API网关Kong(二):Kong与Kubernetes集成的方法
  2. C#宿舍管理系统数据库
  3. 运行sre10_在生产中运行Java:SRE的观点
  4. Linux 命令之 apt-get -- APT 软件包管理工具
  5. linux下如何安装配置redis及主从配置
  6. (14)css—伪类选择器
  7. php curl iis,解决IIS运行PHP出现Call to undefined function curl_init()的问题
  8. 创业者请不断自问:我能帮用户解决什么问题?
  9. 15.看板方法---启动看板变革
  10. 都说Python是无所不能的!手机APP数据就能逃出我爬虫的魔爪吗?
  11. 易语言WebUI教程 —— 入门简介
  12. matlab 计算 Lorenz 系统最大李雅普诺夫指数
  13. 充分统计(sufficient statistic) 理解
  14. 电脑无法查看计算机属性,我的电脑属性打不开怎么办
  15. IDC中国政府行业IT市场2013年10大预测:新型城镇化和第三平台技术推进政府信息化建设
  16. 微信支付服务器sdk升级,微信支付接口上手指引附微信SDK更新说明.PDF
  17. 转载:MATLAB中怎么表示对数函数及e
  18. 怎么监控mysql数据变化_mysql数据库数据变化实时监控
  19. win10电脑自带的office突然变成英文解决办法
  20. 112、Flutter实现图片放大缩小的动画小

热门文章

  1. ThinkPHP U方法
  2. 【BZOJ 1095】 1095: [ZJOI2007]Hide 捉迷藏 (括号序列+线段树)
  3. C#综合揭秘——深入分析委托与事件
  4. 学习《Building Applications with FME Objects》 之二 使用Sessions(会话)
  5. [转载]内存分配 知识,全局,局部,静态变量
  6. 批量替换文本中字符代码-python3
  7. python multi_python – 堆叠MultiIndex的所有级别
  8. 计算机英语protocols,计算机网络协议词汇Protocols
  9. textureview 旋转90度后平铺_轮滑知识 | 单排轮滑的旋转技巧
  10. linux java tar_tar包在linux下java安装