0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ARM的JTAG调试结构

STM32嵌入式开发 来源:STM32嵌入式开发 2020-08-27 14:18 次阅读

一、JTAG的基本知识

JTAG是Joint Test Action Group的缩写,是IEEE 1149.1标准。使用JTAG的优点:JTAG的建立使得集成电路固定在PCB上,只通过边界扫描便可以被测试。在ARM7TDMI处理器中,可以通过JTAG直接控制ARM的内部总线、I/O口等信息,从而达到调试的目的。

二、ARM的JTAG调试结构

(1)Debug主控(Host)通常是运行有ARM公司或者第三方提供的调试软件的PC机,常用的调试软件有ARMSDT中的ARM Debug for Windows(ADW)、Linux下的arm-elf-gdb等。通过这些调试软件,可以发送高级的ARM调试命令,如设置断点、读写存储器、单步跟踪、全速运行等。

(2)协议转换器(Protocol Converter)负责转换Debug主控端发出的高级ARM调试命令为底层的和ARM内核通信的JTAG命令。Debug主控端和协议转换器之间的介质可以有很多种,比如以太网USBRS-232、并口等。Debug主控端和协议转换器之间的通信协议最典型的就是ARM公司提供的Angel标准,也可以是第三方厂家自己定义的标准。关于Angel的协议,可参考ARMSDT和ADS的相关文档。典型的协议转换器有:ARM公司的MulTI-ICE、Abatron公司的BDI、aiji公司的OpenlCE32、EPI公司的Jeeni等。

(3)ARM7TDMI的JTAG宏单元(Macrocell)主要包括3条JTAG扫描链(ScanChain) 和1个JTAG的控制TAP状态机。

三、ARM7TDMI内核的JTAG扫描链结构

ARM7TDMI内核的JTAG扫描链结构主要包括3条JTAG扫描链:Scan Chain0、Scan Chain 1、Scan Chain2。

四、ARM7TDMI中通过JTAG对外设的访问

作为ARM典型的调试手段,JTAG除了可以设置ARM的断点以外,还可以对ARM的内核进行控制,从而实现对外围设备的读/写(比如下载程序到RAM或者FLASH空间)。通常在ARM7TDMI处理器中,JTAG对ARM外围设备的访问是通过对JTAG扫描链1的控制实现的。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 集成电路
    +关注

    关注

    5320

    文章

    10732

    浏览量

    353374
  • ARM
    ARM
    +关注

    关注

    134

    文章

    8651

    浏览量

    361780
  • JTAG
    +关注

    关注

    6

    文章

    383

    浏览量

    71150

原文标题:ARM的JTAG接口基础知识

文章出处:【微信号:c-stm32,微信公众号:STM32嵌入式开发】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RISCV soft JTAG调试_v1.2

    因为目前软件的限制,RISCV的逻辑不能同时共用JTAG,所以如果想要同时去调试逻辑和RISCV的话,可以通过RISCV的soft Jtag来实现。soft Jtag就是通过GPIO来
    的头像 发表于 04-23 08:38 271次阅读

    jlink调试器的工作原理

    我们平时使用的jlink调试器就是使用JTAG接口,JTAG以前是用于测试芯片的一种通信方式,现在部分ARM或者DSP等都存在JTAG接口,
    的头像 发表于 03-08 12:32 732次阅读
    jlink<b class='flag-5'>调试</b>器的工作原理

    RISCV soft JTAG调试_v1.1

    因为目前软件的限制,RISCV的逻辑不能同时共用JTAG,所以如果想要同时去调试逻辑和RISCV的话,可以通过RISCV的soft Jtag来实现。soft Jtag就是通过GPIO来
    的头像 发表于 02-23 16:16 192次阅读
    RISCV soft <b class='flag-5'>JTAG</b><b class='flag-5'>调试</b>_v1.1

    串行线调试JTAG有何区别?

    在基于ARM7的ADuC器件上,通过JTAG调试和下载到Flash。在AduCM360上,JTAG被串行线调试取代。 串行线
    发表于 01-15 07:35

    【技术专栏】泰凌微电子JTAG工具使用教程(一)

    在数字电路的开发和调试过程中经常需要用JTAG来观察和修改芯片状态。本篇文章将从JTAG的介绍及使用详细步骤以来展开描述。 1 JTAG介绍 JTA
    的头像 发表于 12-20 10:00 771次阅读
    【技术专栏】泰凌微电子<b class='flag-5'>JTAG</b>工具使用教程(一)

    万子长文和你一起探索Arm调试架构

    在此之前,由Arm架构定义的debug feature已经足够应付单核调试场景,届时的debug interface是完全基于JTAG scan chain的做法。也就是说,ADI在Coresight没有问世之前就已经存在。
    的头像 发表于 12-10 14:43 1012次阅读
    万子长文和你一起探索<b class='flag-5'>Arm</b><b class='flag-5'>调试</b>架构

    jtag接口和swd接口区别

    jtag接口和swd接口区别 JTAG (Joint Test Action Group) 接口和 SWD (Serial Wire Debug) 接口是两种用于调试和烧录嵌入式设备的常见接口。虽然
    的头像 发表于 12-07 15:29 4029次阅读

    JTAG在FLASH烧录中的“江湖”

    首先,我们来看看JTAG烧录FLASH的层次结构
    的头像 发表于 10-19 11:35 829次阅读
    <b class='flag-5'>JTAG</b>在FLASH烧录中的“江湖”

    如何在Keil uVision3 IDE中基于ARM开发板调试和运行程序

    本应用笔记介绍如何在Keil uVision3 IDE中基于ARM的开发板上调试和运行程序。 与更传统的JTAG协议转换器(如多ICE)不同,本文重点介绍了使用带有JTAG编程加密狗的
    发表于 08-29 06:21

    GD32VF103进行仿真调试时使用的JTAGARM使用的JTAG是一样的吗?

    请问对GD32VF103(RV-STAR开发板)进行仿真调试时使用的JTAGARM使用的JTAG是一样的吗??
    发表于 08-15 07:52

    ARM安捷伦调试接口(ADI)用户指南

    ARM ADI是一款软件产品,它使与远程调试接口(RDI)1.5.1兼容的调试器能够使用安捷伦仿真探头来调试ARM处理器上运行的软件。
    发表于 08-12 07:13

    Arm ADIv6.0调试接口体系结构规范

    ADIv6.0提供了一个分层系统,允许从多个不同的代理(包括芯片外调试器和芯片上软件)对系统的所有部分进行内存映射访问。对未经内存映射的系统资源的访问必须由经过内存映射的抽象层提供。例如,为了控制
    发表于 08-11 07:20

    XJTAG边界扫描—JTAG调试

    JTAG调试器(JTAG Chain Debugger),随XJTAG的安装包一起安装,是一个功能强大的工具,旨在帮助您解决JTAG链的问题。
    发表于 07-19 14:41 348次阅读
    XJTAG边界扫描—<b class='flag-5'>JTAG</b>链<b class='flag-5'>调试</b>器

    JTAG的基本原理

    在线仿真、调试,它在芯片内部封装了专门的测试电路 TAP ( Test Access Port ,测试访问口),通过专用的JTAG测试工具对芯片进行测试。现在多数的高级器件都支持JTAG协议,如以以
    的头像 发表于 06-14 09:15 8623次阅读
    <b class='flag-5'>JTAG</b>的基本原理

    JTAG 连接器和接口

    尽管 JTAG 接口没有一种标准接头,但制造商之间已或多或少地标准化了几种接头类型。其中包括ARM JTAG 20、ARM JTAG 14、
    的头像 发表于 06-06 10:18 3166次阅读
    <b class='flag-5'>JTAG</b> 连接器和接口