VERDVANA'S BLOG Verdvana

DAP架构简介


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