• JTAG 学习


    JTAG定义:(Joint Test Action Group 联合测试行动小组),是一种国际通用的测试协议。

    JTAG 主要功能有2种或者说对绝大数JTAG来说主要有两大类:

    (1)       用来测试芯片的电气特性,检测芯片是否有问题;

    (2)       用来DEBUG,对各类芯片以及其外围设备进行调试。

    一个含有JTAG Debug接口模块的CPU,只要时钟正常,就可以通过JTAG接口访问CPU的内部寄存器和挂在CPU总线上的设备,如FLASH,RAM,SOC(比如4510B,44Box,AT91M系列)内置模块的寄存器,象UART,Timers,GPIO等等的寄存器。

    (3)       还常用于实现ISP(In-System Programmable;在线编程),对FLASH等器件进行编程。传统生产流程中先对芯片进行预编程后再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。

    JTAG 接口组成:也是分为两部分。

    (1)       JTAG端口:标准的JTAG接口是4线——TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。这里又分为并口的和USB接口形式的。

    (2)       控制器:与JTAG 接口兼容的器件可以是微处理器(MPU)、微控制器(MCU)、PLD、CPL、FPGA、DSP、ASIC 或其它符合IEEE1149.1 规范的芯片。(实际上IEEE1149.1就是规定了一种边界扫描技术,规定对应于数字集成电路芯片的每个引脚都设有一个移位寄存单元)

    JTAG基本原理:在器件内部定义一个TAP(Test Access Port测试访问口)通过专用的JTAG测试工具对内部节点进行测试。JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。

     

    附1

    Atmel的单片机通常有JTAG,ISP,Debugwire这三种接口,它们的区别。

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

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

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

     

    附2

    在ARM烧写中,常用两种JTAG仿真器,OpenJtag 和 Jlink

    OpenJTAG与JLink的区别比较:

    相同点:都同时具备USB转JTAG、USB转串口功能

    差别:

    1. 操作系统:

    OpenJTAG可以用在Windows、Linux下;

    JLink只能用在Windows下,在Linux下它的调试功能无法使用,只能使用“JLink+USB转串口2合1”中的USB转串口功能

    2. 集成开发环境:

    OpenJTAG能用在所有支持GDB调试协议的工具上,比如IAR、Eclipse、winarm,不能用在支持RDI协议的工具上,比如ADS。

    JLink支持多种调试协议RDI、GDB调试,几乎所有Windows下的工具都支持,比如ADS、Keil MDK、IAR

    3. 对Flash的烧写:

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

    但是对于S3C2410、S3C2440来说,OpenJTAG更胜一筹:OpenJTAG可以烧写NAND Flash;JLink理论上也行,但是没人实现这点。

    4. 如何选择:

    如果是学习Linux,那么OpenJTAG比较适用;

    如果比较喜欢ADS、Keil等工具,那么JLink比较适用;

    如果你的开发板是S3C2410、S3C2440,那么OpenJTAG绝对适用

     

    附3 ARM常用工具简介

    Oflash 结合JTAG工具下载程序用

    Tftpboot  可以在uboot下用其下载程序至nandflash中(uboot通常是在norflash中的)

    Dnw 功能与tftpboot一样,只不过 dnw在windows7下支持不太好,不如用tftpboot

     

    参考:

    〈1〉       http://blog.sina.com.cn/s/blog_7d03f8d30100w6hx.html

    〈2〉       http://www.cnblogs.com/TaigaCon/archive/2012/12/20/2826941.html

    〈3〉       度娘

     

  • 相关阅读:
    k3 cloud采购入库单单位问题
    k3 cloud没有使用协同平台开发时候的调试方式
    k3 cloud写插件不重启IIS热更新简单配置
    k3 cloud部署包中的安装包变成了浏览器,不能安装
    逻辑门
    JDBC的架构设计
    非功能性约束之性能(1)-性能银弹:缓存
    C#性能优化杂七杂八的总结
    QT QToolTip
    IDEA spotbugs使用
  • 原文地址:https://www.cnblogs.com/dudu1990/p/3381568.html
Copyright © 2020-2023  润新知