- CoreSight Technical Introduction White Paper
coresight_technical_introduction_EPM_039795.pdf
http://infocenter.arm.com/help/topic/com.arm.doc.epm039795/coresight_technical_introduction_EPM_039795.pdf
综述
coresight 分为两大内容
Debug
Trace
Trace 简单介绍
coresight提供的特性 使得
1.可以连续收集系统信息
2.检测软件
3.一些外围设备可以生成性能监视跟踪流。
Trace 技术属于 非侵入性调试.Trace运行的时候处理器全速运行,Trace做以下动作:
•进行信息收集和数据传输。
•芯片外实时传输或在片上存储器中捕获。
•将数据与源代码合并
Debug 简单介绍
debug_interface_v6_0_architecture_specification_IHI0074B.pdf 中更详细的介绍了 Debug 模块
DGI0012D_coresight_dk_sdg.pdf 也有介绍
DDI0314H_coresight_components_trm.pdf 也有介绍
作用:
1.观察与修改(处理器寄存器,片上设备寄存器)
2.触发
3.停止 运行中的处理器
Debug 是一种侵入性调试.
Debug 分类:
常规JTAG调试(“外部”调试)
1.用 断点和监视点 在条件满足情况下 停止处理器。
2.在处理器停止情况下,用 debug connection 检查和修改 寄存器和内存,并提供单步执行。
常规监视器调试(“自托管”调试)
处理器运行时,处理器使用驻留在内存中的调试监视器(代码,被两个异常处理函数调用)运行
Debug access and DAP topology
属于 Debug 部分的 常规JTAG调试
DAP DP 与 AP
DAP 是 边界扫描测试技术 中的 核心控制器.
在arm coresight 最新架构中,DAP被分成了两个部分 : DP 和 AP
AP在微架构中实现,DP不在微架构中实现,DP在芯片中实现.
一个soc 中有一个 DP(一个soc有个),多个AP(每个核心对应一个).
AP与DP之间用 通用调试总线 连接.
从理论上说DAP总线上的设备最多支持256个,同一芯片上的上百个处理器可以共用一个DP。
DP与外部调试端口的连接
来自外部调试器的调试端口访问作为32位(word)读或写事务执行,目标是DP寄存器或访问端口(AP)寄存器。
多个调试端口(通常在多个包中)可以使用以下方法从单个外部调试代理寻址:
菊花链JTAG扫描链
星型拓扑JTAG扫描链
多点串行线
DP与AP的连接
DP与AP之间用 通用调试总线 连接.
总线上有一个DP 和 N个AP
DP接口提供
1.实现了外部接口
2.调试器始终处于连接状态
3.调试故障和状态报告
4.电源和复位请求接口
5.将外部信号转换为32位通用调试总线
DP 有几种:
SWJ-DP
SW-DP
JTAG-DP
AP接口提供
AP由DP控制,以响应外部命令。
大多数AP
实现一个 master port,该 master port 与片上标准总线接口相连。
内存AP
内存AP存在于内存映射接口(内部总线),如APB、AHB和AXI.
内存ap提供以下特性:
目标地址寄存器
读取或写入目标地址
总线错误报告
交易进行中状态
地址递增(加速块读/写操作)
访问控制机制
有关连接的调试组件的信息
执行显示为系统主控或外部调试代理的访问。
AP 有几种:
AXI-AP
AHB-AP
APB-AP
MEM-AP
JTAG-AP
如何通过 外部调试端口 访问 DP 和 AP
DAP中的单元地址是内存映射地址
如何访问:
1. 片上存储器映射中的目标地址:
2.DP标识符:
调试代理可能支持对多个DAP的并发访问。
3.AP选择:
通过写入DP中的寄存器来选择 哪一个目标AP.
4.TAR Select:
通过写入AP中的寄存器来设置 目标地址 . 每个AP可以对目标系统中的某些或所有内存映射组件具有唯一的视图。
5.数据访问:
一旦设置了DAP访问系统所需的所有地址,对AP的请求就可以以读或写的方式启动片上访问。
6.读取数据检索:
虽然现在将继续进行片上访问,但调试器必须对DAP执行另一次访问才能检索数据值。这不必导致第二次片上访问。
访问失败:
当访问由于某种原因失败时,调试器能够识别失败。通常,调试器可以重新尝试访问并从接口上的简单错误中恢复。
名词解释
Test Access Port 测试访问端口
Debug access port
Debug port
access port
amba 总线
amba 总线
amba 总线
硬件接口
target address register
SWD(Serial Wire) 与 JTAG接口
Cross Trigger Interface
当有信号要采集或驱动时,使用交叉触发接口(CTI)来控制感兴趣信号的选择