DAP架构简介
22 May 2024 1018字 4分 次 Digital IC Design打赏作者 CC BY 4.0 (除特别声明或转载文章外)
1 前言
DAP(Debug Access Port)是Arm CoreSight系统的一个组件,为外部调试器提供了一个标准接口,用于访问SoC中的调试资源。它是Arm® Debug Interface Architecture Specification,ADIv5.0 to ADIv5.2的实现。
它包含:
- DP(Debug Port):用于管理与外部调试器的连接
- SWJ-DP(Serial Wire or JTAG Debug Port)
- AP(Access Port):每种AP类型可以有一个以上
- JTAG access port
- AXI access port
- AHB access port
- APB access port
- DAPBUS interconnect:用于将DP连接到一个或多个AP
- DAPBUS bridge
- DAPBUS asynchronous bridge
- DAPBUS synchronous bridge
AP提供非侵入性访问:
- CoreSight组件的Programmers model(?),通常使用APB-AP;
- Memory-mapped系统组件,通常使用AXI-AP或AHB-AP;
- 遗留的JTAG-configured debug组件,兼容以前较早的ARM处理器,如ARM9,使用JTAG-AP;
- 此外一些支持CoreSight的处理器直接连接到DAPBUS interconnect,并实现自己的ADIv5兼容的AP。
架构如下:
![img1][img1]
DAP Flow如下:
![img2][img2]
2 SWJ-DP
SWJ-DP是JTAG-DP和SW-DP的组合,它将SWD或JTAG探针连接到目标,是标准CoreSight™调试接口,且允许访问JTAG-DP或SW-DP模块。
2.1 自动检测机制
JTAG引脚使用自动检测机制,根据所连接的探针,在JTAG-DP和SW-DP之间切换。
2.2 SWJ-DP结构
SWJ-DP由围绕JTAG-DP和SW-DP的wrapper组成,它会自动选择JTAG或SW,并对应使能JTAG-DP或SW-DP作为DAP的接口。
结构如下:
![img3][img3]
框图如下:
![img4][img4]
[img1]: [img2]: [img3]: [img4]: [img5]:
\2408-820c-1a18-f620-265e-beff-fe69-c28c.ipv6-literal.net