接口/总线/驱动
一、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扫描链(Scan Chain) 和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的控制实现的。
全部0条评论
快来发表一下你的评论吧 !