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 组件

相关推荐
老薛爱吃大西瓜2 小时前
关于ARM和汇编语言
汇编·arm开发
7yewh6 小时前
嵌入式知识点总结 ARM体系与架构 专题提升(四)-编程
arm开发·stm32·单片机·嵌入式硬件·mcu·物联网·51单片机
Jzin7 小时前
【物联网】ARM核常用指令(详解):数据传送、计算、位运算、比较、跳转、内存访问、CPSR/SPSR、流水线及伪指令
arm开发·物联网
7yewh10 小时前
嵌入式知识点总结 操作系统 专题提升(一)-进程和线程
linux·arm开发·驱动开发·stm32·嵌入式硬件·mcu·物联网
Jason Yan2 天前
【经验分享】ARM Linux-RT内核实时系统性能评估工具
linux·arm开发·经验分享
7yewh3 天前
MCU、MPU、SOC、ECU、CPU、GPU的区别到底是什么
linux·arm开发·驱动开发·单片机·嵌入式硬件·物联网
7yewh3 天前
嵌入式知识点总结 ARM体系与架构 专题提升(一)-硬件基础
arm开发·stm32·单片机·嵌入式硬件·mcu·物联网
ARM&开发(Haidong)3 天前
Arm 驱动i2c相关
arm开发
艾格北峰4 天前
STM32 物联网智能家居 (五) 设备子系统之点亮LED灯
arm开发·stm32·单片机·嵌入式硬件·物联网·架构·智能家居
苏三福5 天前
opencv3.4 ffmpeg3.4 arm-linux 交叉编译
linux·运维·arm开发