【ARM Coresight 系列文章 4 - ARM Coresight APB-AP 介绍】

文章目录

    • APB-AP 介绍及使用
    • APB-Mux
    • ROM Table
      • ROM Table entries bit 分配

APB-AP 介绍及使用

下图是一个 常见的DAP 结构图,其AP使用的是APB-AP。
【ARM Coresight 系列文章 4 - ARM Coresight APB-AP 介绍】_第1张图片

图 1-1

  • SWJ-DP 通过监控电路选择外部串行总线SWD或者 外部JTAG;
  • 通过 DPACC中的select register 选着AP(APB-AP);
  • APB-AP 时钟域来自于 DAPCLK;
  • 外部信号 DEVICEEN 控制 APB-AP的使能,更多信息可以见 CSW 寄存器介绍;
  • DBGSWENABLE 控制系统总线是否可以通过APB Mux来访问Debug APB;如果使能的话,那么对应core可以通过系统总线来访问挂载在Debug APB上的组件(包括ROM Table);
  • Master Debug APB Port下挂载一个ROM table,里面装有挂载在Debug APB上的 coresight 组件的地址信息。

【ARM Coresight 系列文章 4 - ARM Coresight APB-AP 介绍】_第2张图片

图 1-2

如上图所示 APB-AP中会提供一个APB Master, 用来访问 APB bus。

APB Master是一种用于调试的接口模块,它可以通过APB总线协议从外部访问ARM系统的外设,APB Master模块的主要功能是允许调试设备通过APB总线直接访问系统内部的外设,不需要通过处理器。这意味着即使处理器在执行其他任务,或者处于低功耗模式,调试设备也可以直接访问和控制外设。

APB-Mux

该组件用于控制外部工具或者系统访问 Debug APB,APB-Mux 可以将多个接口合并成一个,从而使得接入的多个master 可以都可以访问Debug APB。
【ARM Coresight 系列文章 4 - ARM Coresight APB-AP 介绍】_第3张图片

图 1-3

如图 1-3 外部工具通过APB-AP 连接到 APB-Mux, 并提供了一个 APB Master;系统访问需要经过APB 桥来提供 APB Master 接口,如下图 1-4。

【ARM Coresight 系列文章 4 - ARM Coresight APB-AP 介绍】_第4张图片

图 1-4

如上图 1-4所示,APB-Mux 使用一个 仲裁器来保证 某一时刻只有一个APB Master可以访问 Debug APB。AP Slave port 的优先级是一直高于 System slave port的,如果两个同时发出了transfer的请求,只有等到AP port 完成之后,才会获取访问权限。

ROM Table

如果 1-1 所示在 master Debug AP port 上挂有一个 ROM table, 其地址位于 Debug APB 的0x0000_0000 处 和 0x8000_0000处,这两个地址可以保证不管是从 AP 口还是 system APB口 ,它们从 APB ROM Table 中读到的内容是一样的,因为 Debug APB的最高位(bit31)没有连接到 ROM Table上。ROM Table 有一个标准的APB Slave 口,但是没有 PWRITEDBG 和 PWDATADBG,也即没有写地址和写数据。

ROM Table entries bit 分配

Rom Table Entry 格式如下:
【ARM Coresight 系列文章 4 - ARM Coresight APB-AP 介绍】_第5张图片

图 1-5

如图 1-5 中的内容所述, rom table 每个 entry 的值最后两bit 通常都是 1, 这就是我们看到 rom table entry中的值为何都是以 0x3 结尾的原因。

【ARM Coresight 系列文章 4 - ARM Coresight APB-AP 介绍】_第6张图片

此外每个组件的地址计算公式如下:

ComponentAddress =  ROMAddress + (AddressOffset << 12

这里有个疑问,上面公式中 ROM Table 基地址在哪呢?
这个问题请到前面几节文章中寻找。

上篇文章:ARM Coresight 系列文章 3.1 - ARM Coresight DP 对 AP 的访问 2
下篇文章:ARM Coresight 系列文章 5 - ARM Coresight APB Interconnect(APBIC

你可能感兴趣的:(#,ARM,Coresight,系列,coresight,APB-AP,soc-600,soc-400,APBIC,Debug,APB,JTAG)