关于S32K311调试系统组件——coresight
·
DAP
DAP: Debug Access Port, 是微控制器内部的调试访问机制,它定义了如何访问内存、寄存器和其他调试资源。DAP时调试器访问芯片内部资源的唯一门户。它被设计为两层结构:DP (Debug Port) 负责外部通信,AP (Access Port) 负责内部访问。
- DP 是调试器(如 J-Link)直接连接的硬件接口。它的主要职责是管理物理连接和调试电源。它将 SWD(2 线)或 JTAG(5 线)信号转换为芯片内部的调试总线协议。DP 包含一个 SELECT 寄存器,用于决定当前的调试指令发往哪一个 AP(例如是从 AP[0] 读内存,还是从 AP[4] 连内核)。
- AP 负责与目标设备的内部总线(如AHB、APB等)进行通信。AP通常具有多个寄存器,用于访问目标设备的内存、寄存器和其他调试功能。
- AHB_AP: Core AHB_AP(AP[4])和System AHB_AP(AP[0])。其中jscope就是利用AHB_AP实时的从目标内存中读取相应的值。
- APB_AP(AP[1])
- HSE_AP(AP[2])
| 特性 | DP (Debug Port) | AP (Access Port) |
| 位置 | 芯片最边缘,连接物理引脚 | 芯片内部,连接各种总线 |
| 数量 | 整个 DAP 通常只有一个 DP | 可以有多个(AP[0], AP[1]...AP[n]) |
| 功能 | 物理链路管理、通电、选 AP | 访问内存、控制内核、安全认证 |
| 错误现象 | 如果 DP 挂了,J-Link 连 ID 都读不到 | 如果 AP 挂了/锁了,读数会是全 0 或 Timeout |
我们可以通过Jlink的相关指令去操作DP,例如:
J-Link> r0 # 拉低 Reset
J-Link> writeDP 1 0x50000000
J-Link> writeDP 2 0x000000F0
J-Link> r1 # 释放 Reset
J-Link> readAP 3

引用:
更多推荐
所有评论(0)