news 2026/4/16 21:45:17

一文带你搞懂JTAG中DP与AP

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
一文带你搞懂JTAG中DP与AP

JTAG(Joint Test Action Group,联合测试工作组)作为遵循IEEE 1149.1标准的核心调试与测试协议,其高级调试能力依赖于分层化的访问架构——其中DP(Debug Port,调试端口)与AP(Access Port,访问端口)是连接外部调试器与目标芯片内部资源的核心枢纽,共同构成调试访问端口(DAP,Debug Access Port)体系。简单来说,DP负责“接收与翻译”外部调试指令,AP负责“执行与访问”内部具体资源,二者协同实现对芯片的精准调试与控制。

一、DP(Debug Port,调试端口)—— 外部指令的“翻译官”与“网关”

DP是JTAG调试链路的“入口节点”,直接对接外部调试器的JTAG信号线(TCK时钟、TMS模式选择、TDI数据输入、TDO数据输出等),核心职责是将外部物理层协议(如JTAG、SWD)转换为芯片内部可识别的调试控制信号,并管理与AP的通信逻辑。在一个DAP体系中,通常仅存在一个DP,它是整个调试链路的“中枢网关”。

1. DP的核心功能

  • 协议转换:将外部调试器发送的JTAG/SWD串行数据,转换为内部对AP的并行控制信号,同时将AP返回的响应数据序列化后通过TDO反馈给调试器;

  • 指令解析与路由:解析外部发来的JTAG指令(如DPACC、APACC),判断指令是针对DP自身寄存器操作,还是需要转发给某个AP执行,并完成指令路由;

  • 状态管理与初始化:负责调试链路的初始化(如唤醒调试域电源)、状态监控(如故障标志位记录),以及时钟同步(基于TCK实现与内部逻辑的时序协同);

  • AP选择:通过内部的SELECT寄存器指定当前要访问的AP编号(支持最多256个AP),实现多AP的切换控制。

2. DP的主要类型

  • JTAG-DP:最基础的DP类型,完全基于JTAG协议与外部通信,是CoreSight架构中最常用的调试端口形式,直接接入JTAG的TAP控制器;

  • SW-DP:基于串行线调试(SWD)协议,仅需两根信号线(SWCLK、SWDIO)即可实现调试通信,相比JTAG更节省引脚资源,适用于引脚紧张的嵌入式场景;

  • SWJ-DP:兼容型DP,支持在运行时通过特定序列切换JTAG与SWD模式,兼顾兼容性与引脚资源优化,是当前主流MCU(如Cortex-M系列)的常用配置。

3. DP的关键寄存器

DP内部包含一组专用寄存器,用于实现配置、状态监控与AP控制,核心寄存器如下:

  • DP_IDCODE(0x0):只读寄存器,存储调试端口的唯一标识码(含制造商代码、设备型号等),用于调试器识别目标DP的兼容性;

  • DP_ABORT(0x0):用于异常终止当前正在执行的调试事务,避免错误操作持续影响系统;

  • DP_CTRL_STAT(0x4):控制与状态寄存器,核心配置位包括CSYSPWRUPREQ(系统电源唤醒请求)、CDBGPWRUPREQ(调试域电源唤醒请求),以及故障标志位(如STICKYERR);

  • DP_SELECT(0x8):用于选择目标AP的编号(APSEL字段)及该AP下的寄存器组(APBANKSEL字段),是多AP协同的核心寄存器。

二、AP(Access Port,访问端口)—— 内部资源的“访问器”与“执行者”

AP是连接DP与芯片内部资源的“桥梁”,本质是一种内存映射总线接口,负责将DP转发的调试指令转换为对具体硬件资源的访问操作(如读写内存、配置外设、控制调试组件)。与DP的“单一性”不同,一个DAP体系中可包含多个AP(最多256个),每个AP对应一类特定资源或总线,实现对不同层级资源的精准访问。

1. AP的核心功能

  • 总线转换:将DP发来的通用调试指令,转换为对应总线协议(如AHB、APB、AXI)的访问信号,适配不同内部资源的总线接口;

  • 资源访问:独立于CPU核心访问内部资源,无需激活CPU即可完成内存(SRAM、ROM)、外设寄存器、调试组件(如ETM、ITM)的读写,类似“调试专用DMA”;

  • 批量数据传输:部分AP(如AHB-AP)支持块传输模式,通过BD(块数据)寄存器实现批量数据读写,提升调试效率;

  • 访问控制:通过自身配置寄存器(如CSW)设定访问参数,包括数据宽度(8/16/32位)、地址自动递增模式、访问权限等。

2. AP的主要类型及应用场景

AP的类型由其适配的总线与访问对象决定,主流类型如下:

  • AHB-AP(Advanced High-performance Bus - AP):高性能总线访问端口,适配AHB总线(嵌入式系统主流高性能总线),支持访问系统内存(SRAM、SDRAM)、核心寄存器、片上外设等。广泛应用于Cortex-M系列MCU,可实现独立于CPU的内存读写,是RTT(实时传输)等高级调试功能的基础;

  • APB-AP(Advanced Peripheral Bus - AP):低功耗、低带宽总线访问端口,适配APB总线,专门用于访问调试专用外设(如CTI交叉触发接口、ETM跟踪模块)。其地址空间与系统核心地址空间独立,可避免CPU误操作调试寄存器,常见于Cortex-A/R系列高性能处理器;

  • AXI-AP(Advanced eXtensible Interface - AP):适配AXI总线(高性能SoC主流总线),支持更高带宽与多通道访问,适用于复杂SoC(如包含CPU、GPU、FPGA的异构芯片)的调试,可访问高速外设与大容量内存;

  • JTAG-AP:兼容型AP,用于访问旧款ARM核心(如ARM9)的非内存映射调试寄存器,通过转发JTAG指令实现调试。当前主流处理器已较少使用,仅用于兼容性场景。

3. AP的关键寄存器

不同类型AP的寄存器集略有差异,但核心寄存器统一遵循DAP规范,主要包括:

  • CSW(Control and Status Word,0x00):控制与状态字寄存器,用于配置访问参数,如数据宽度、地址自动递增模式、访问使能等;

  • TAR(Target Address Register,0x04):目标地址寄存器,存储下一次读写操作的目标地址(32位或64位,取决于架构);

  • DRW(Data Read/Write,0x0C):数据读写寄存器,写入时触发对TAR地址的写操作,读取时返回该地址的当前数据,是最常用的AP寄存器;

  • BASE(0xF0):只读寄存器,存储AP的基地址指针,用于调试器识别AP的访问范围;

  • CFG(0xF4):配置寄存器,记录AP的硬件能力(如是否支持大端模式、最大传输带宽等)。

三、DP与AP的协同工作机制

DP与AP通过严格的时序与协议协同,完成一次完整的调试访问(以JTAG-DP访问MEM-AP为例),流程如下:

  1. 初始化阶段:外部调试器通过JTAG信号线发送复位序列,驱动DP进入IDLE状态;随后读取DP_IDCODE寄存器,确认DP型号与兼容性;

  2. 电源唤醒阶段:调试器通过DPACC指令写入DP_CTRL_STAT寄存器,置位CSYSPWRUPREQ与CDBGPWRUPREQ,唤醒芯片的系统域与调试域电源;

  3. AP选择阶段:通过DP_SELECT寄存器指定目标AP(如MEM-AP对应的APSEL编号)及寄存器组;

  4. 访问配置阶段:通过APACC指令写入AP的CSW寄存器,配置数据宽度(如32位)、地址自动递增模式等;

  5. 数据传输阶段:写入AP的TAR寄存器设定目标地址(如0x20000000,片上SRAM地址),随后通过DRW寄存器执行读写操作——数据经AP转换为AHB总线信号,访问目标资源后将结果返回DP;

  6. 结果反馈阶段:DP将AP返回的结果序列化后,通过TDO信号线反馈给外部调试器,完成一次调试访问。

四、核心总结

DP与AP是JTAG高级调试架构的核心,二者分工明确又紧密协同:DP负责“对外通信与协议转换”,是调试器与芯片的“接口中枢”;AP负责“对内资源访问与总线适配”,是调试指令的“执行终端”。这种分层设计使得JTAG能够适配复杂SoC的多资源调试需求,支持独立于CPU的精准访问,为嵌入式系统开发提供了高效、灵活的调试能力。无论是简单的MCU调试,还是复杂的异构SoC测试,DP与AP的协同工作都是实现可靠调试的基础。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 16:27:23

大气网格化监测系统 四气两尘监测站

Q1:大气网格化监测系统的核心定位是什么?为何能实现“从城市到园区”的全域适配?​A:核心定位是“全域大气污染精准监测与数据赋能终端”,主打“全域覆盖、精准监测、一站集成、智能高效”,专为大气污染防控…

作者头像 李华
网站建设 2026/4/16 17:26:30

Xilinx FPGA ISERDES 使用详细介绍

Xilinx FPGA ISERDES 使用详细介绍 ISERDES(Input Serializer/Deserializer)是 Xilinx FPGA I/O 逻辑(IOLOGIC)中的一个专用硬核原语,用于实现高速串行数据到低速并行数据的转换。它是实现源同步接口(如 L…

作者头像 李华
网站建设 2026/4/16 16:13:38

编码驱动的提示注入攻防:Base64 核心绕过技术与全维度防御

提示注入(Prompt Injection)作为大语言模型(LLM)落地应用中最核心、最易被利用的安全风险,正随着LLM防护技术的迭代呈现出隐蔽化、技术化、复合化的发展趋势。Base64编码绕过并非简单的“编码转换指令隐藏”&#xff0…

作者头像 李华
网站建设 2026/4/16 14:48:01

Sora2政策收紧,AI漫剧创作者的破局之路:Veo 3.1能扛大旗吗?

2026年初,AI视频生成领域传来重磅消息:OpenAI拟调整Sora2免费策略,过往低门槛、低成本的创作模式将成为历史,批量账号运维成本大幅攀升。这一变化对正处于爆发期的AI漫剧行业而言,无疑是一场不小的冲击——要知道&…

作者头像 李华
网站建设 2026/4/15 20:03:41

智科毕设创新的课题集合

0 选题推荐 - 网络与信息安全篇 毕业设计是大家学习生涯的最重要的里程碑,它不仅是对四年所学知识的综合运用,更是展示个人技术能力和创新思维的重要过程。选择一个合适的毕业设计题目至关重要,它应该既能体现你的专业能力,又能满…

作者头像 李华
网站建设 2026/4/16 13:00:11

应对西门子官方合规审查的UG/NX专项准备

第一段:问题本质是什么? 作为一名在制造业摸爬滚打多年的技术工程师,我最近被西门子的官方合规审查打了个措手不及。说实话,这个词听起来挺吓人的,是像UG/NX这样的高端CAD软件,它本身已经是我们日常工作中最…

作者头像 李华