ADIv5.x第一章

内容纲要

第一章 简介

该章介绍的内容包括:ARM调试接口架构并总结在实现ARM调试接口时需要的设计方案;基于JTAG-DP对Debug接口的访问,描述与系统连接的DAP寄存器,展示寄存器如何存在不同级别的调试接口模型。该章包含如下内容:
* ARM调试接口第五版本(ADIv5:The ARM Debug Interface version 5)
* ARM调试接口功能
* ARM调试接口第五版本的实现细则
* 对外接口-调试端口(DP:Debug Port)
* 资源接口-访问端口(APs:Access Ports)
* 设计选项和实现案例

1.1 ARM调试接口第五版本概述

ADIv5主要指的是ADIv5.0,但是v5.1和其他v5.x也包含在内。
ADIv5属于ARM调试接口第五个大版本
所有之前的版本都是基于IEEE 1149.1 JTAG 接口,但是都用于访问ARM处理器内核和嵌入式追踪单元(ETM):
** 调试接口版本1、版本2 **

应用在ARM7TDMI和ARM9系列处理器内核上
** 调试接口版本3 **
在ARM10处理器家族引入
** ADIv4 **
不像之前一直是将ADI接入到ARM处理器内核,ADIv4是第一个将ADI接入ARM架构的版本。ARM建议ADIv4用在ARMv6架构上。
ADIv5移除了ADI和ARM处理器内核的连接,实现的其中一个功能就是ADIv5可以访问任何兼容ADIv5特性的调试组件。关于ADIv5对资源的访问由具体资源决定,而不是由ADI决定。

相比较上个版本ADIv5有三个主要的改进
+ ADIv5接口可以访问一个设备更多的地址范围
+ ADI可以是独立于具体资源,用于提高一些实现的重复利用,当然,这些分离不是必须的。
+ 使用ADIv5抽象,允许依旧使用以前的工具软件,例如“debuggers”

调试接口版本1到版本4要求使用的物理接口为IEEE 1149.1 JTAG接口标准。ADIv5定义了两个可以选择的物理接口

  • IEEE 1149.1 JTAG 接口
  • 管脚数较少的串行调试接口
    ADIv5的主要部件被划分成两个主要的架构:
  • 访问端口(AP:Access Port)架构
  • 调试端口(DP:Debug Port)架构

1.1.1 ADIv5的版本信息

ADI 的v5.1和v5.2是对于ADIv5向后兼容的扩展,在引入版本ADIv5.1时,ADIv5被描述为ADIv5.0

*************** 注意 *************

ADIv5.1最初只是一个对于ADIv5版本的补充,ARM IHI 0031B是第一个集成描述ADIv5.0、ADIv5.1和ADIv5.2的发布版本。

ADIv5.0特性

  • 两个调试端口,JTAG-DP和SW-DP
  • 两个访问端口,:
    > * JTAG-AP,用于访问传统的JTAG
    > * MEM-AP,用于访问内存和经过内存映射的组件
  • 访问端口特征模型
  • 对绑定到MEM-AP上的组件的发现机制

ADIv5.1增加的特性
ADIv5.1形成并定义了调试端口(DP:Debug Port)的版本号

  • ADIv5.0定义的JTAG_DP编程器模型作为调试端口架构版本0(DPv0)
  • ADIv5.0定义的SW-DP编程器模型作为调试端口架构版本1(DPv1)
    ADIv5.1也增加了
  • AP特征模型扩展
  • 针对AMBA总线协议,标准化了MEM-AP的实现
  • 在调试端口架构版本1中支持JTAG
  • 最小化调试端口扩展
  • 调试端口架构版本2(DPv2)
  • 多协议互通
  • 串行调试协议版本2,提供了多点能力翻译不好这句,不懂原意 a multi-drop capability
    接下来的小节将会给出更多ADIv5.1在ADIv5基础上增加的信息
    多协议互通
    ADIv5.1引入了多协议互通扩展
  • SWD和JTAG协议的轻易转换
  • 休眠状态,用于协议之间的交互

串行调试协议扩展
ADIv5.1引入了串行调试协议版本2,用来扩展串行调试协议,增加了Multi-drop capability.
小型化调试端口扩展
小型化调试端口(MINDP)是一个简化版的调试端口扩展,用更少的管脚实现ADI

ADIv5.2新增特性
ADIv5.2包含:

留下评论