ARM的JTAG调试结构

描述

一、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主控端和协议转换器之间的介质可以有很多种,比如以太网、USB、RS-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的控制实现的。

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分