ARM Coresight 系列文章 8 - ARM Coresight 通过 APBIC 级联使用

文章目录

    • [APBIC 回顾](#APBIC 回顾)
    • [APBIC 级联](#APBIC 级联)

上篇文章:ARM Coresight 系列文章 7 - ARM Coresight 通过 AHB-AP 访问 异构 cpu 内部 coresight 组件

APBIC 回顾

APBIC 可以连接一个或者多个APB BUS masters, 例如连接一个 APB-AP 组件和带有 APB 接口的 Processor, APBIC 通常会带有一个ROM Table,位于0x0000_0000处。 APBIC 总线位宽为32bits。

可以配置 APBIC上每个 master的地址访问范围,比如某些coresight组件需要的地址空间范围超过4K,这个时候就可以通过配置APBIC Master的空间范围来进行支持。

APBIC 级联

在系统比较复杂的时候可能会用到APBIC的级联,如下图所示,SYS APBIC 上接了一个AP APBIC 和 APBIC DECODE 两个组件,

而 AP APBIC 上又接入了 AXI-AP、AHB-AP..., 这个时候就需要弄清地址映射关系,否者可能是一团乱麻。。。

图 1-1

图1-1中 SYS APBIC 上出来的两个 Master 的映射地址分别是 0x4900_0000 一个是0x4b00_0000, 看起来有点奇怪,我们知道 SYS APBIC 中应该还有个romtable, SYS APBIC 接出来的两个master 相对于 SYS APBIC中的 romtable 应该有个偏移,但是从地址数据来看,并没有对应的偏移,这个是为什么呢?

SYS APBIC 中确实没有放 romtable,是直接 hard routing 过去的,也就是从 SNM-HUB出来之后,直接接到 SYS APBIC 上的两个 Master上的,这样做的原因是想分出两个master 出来好接到 AP APBIC 和 APB DECODE上。所以对于coresight 组件的使用最终还是由 ASIC design决定的,并不一定完全要按照 IP的 SPEC来。

如果需要通过SMN-HUB 来访问 AHB-AP,再通过AHB-AP访问连接其上的Cortex-M33中的 coresight 组件ITM,需要那么地址关系是怎么样的呢?

图 1-2

由上图1-1可以看到从SMN-HUB 看到 AP APBIC 的地址为0x4b00_0000,可以通过这个地址访问到AP APBIC中的 romtable,然后根据romtable entry中的信息可以获取到AHB-AP的偏移地址,假设 AHB-AP 相对 AP APBIC romtable 中的偏移地址为 0x00120000, 那么通过 0x4b00_0000 + 0x0012_0000 就可以获取到 AHB-AP的基地址了。

接下来就是通过 AHB-AP 中的寄存器来读取 Cortex-M33的romtable 的地址了,详情见:ARM Coresight 系列文章 7 - ARM Coresight 通过 AHB-AP 访问 cpu 内部 coresight 组件

上篇文章:ARM Coresight 系列文章 7 - ARM Coresight 通过 AHB-AP 访问 cpu 内部 coresight 组件

相关推荐
CQ_YM17 小时前
ARM之I2C
arm开发·单片机·嵌入式硬件·嵌入式
BigALiang19 小时前
再探ARMimxu6ll
arm开发
2401_859049081 天前
lvgl移植到Linux踩坑
linux·运维·arm开发·elasticsearch·嵌入式·ubantu
s09071361 天前
基于ZYNQ-7000 ARM端的水声声呐图像压缩方案
arm开发·zynq·图像压缩·水声工程
飞易通2 天前
WIFI6 SOC模块介绍解析
arm开发·wifi模块·soc模块
松涛和鸣2 天前
DAY66 SPI Driver for ADXL345 Accelerometer
linux·网络·arm开发·数据库·驱动开发
代码游侠2 天前
学习笔记——LCD技术详解
arm开发·笔记·嵌入式硬件·学习·架构
切糕师学AI2 天前
ARM汇编器与GNU汇编器:详细介绍与核心区别
arm开发·gnu·汇编器
CQ_YM2 天前
ARM之lcd与pwm
arm开发·单片机·嵌入式硬件·arm
梁洪飞2 天前
解决摄像头驱动起不来的情况
linux·arm开发·图像处理·嵌入式硬件·arm