当前位置: 首页 > article >正文

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

文章目录

如下图所示,如果A78想去访问M33的内部 coresight 组件 ETM,需要要怎么做
在这里插入图片描述
答案也正是在图中,首先A78 通过AXI 互联,接入到 APBIC 的 slave port,再通过APBIC 的 master 送出,而APBIC中的master port 可以 master 的身份来访问对应的 AHB-AP上,至于为何要是使用AHB-AP连接M33? 前面的文章已经介绍过了。

AHB-AP中的 BASE 寄存器存有 M33 的 ROM Table 的地址,通过SOC-600 SPEC 可以找到 AHB-AP 中的 BASE 寄存器的偏移地址,如下图所示 BASE 寄存器在SOC-600 AHB-AP中有两个,偏移地址分别为:0x0DFB和0x1DFB, 那么为何会出现两个BASE寄存器呢?在这里插入图片描述
在这里插入图片描述

答案 在SOC-600的SPEC中,如下面截取SOC-600的部分说明,
在这里插入图片描述 看了之后其实还是不明白为何要分为两组,其实前面的文章已经介绍过,对于AHB-AP(APB-AP) 的访问可以有两种,一种是通过外部 debugger 工具,另外一种就是通过系统总线来访问,这里的两组寄存器其实就是这个作用,在0x00001000之后的是留给系统总线使用的,另外一组是给外部debugger 使用的。

如下图所示通过读取0x1df8 偏移之后,读到的值为 0xe00ff003, 这个值也就是 M33 ROM TABLE的地址。
在这里插入图片描述

读出来的值最后 2 bit 为何是0x3,可以查看前面文章找到原因。

通过查询 M33 的 SPEC 可以看到 0xE00FF000 正是 ROM Table 的地址。
在这里插入图片描述


http://www.kler.cn/a/37876.html

相关文章:

  • 【SpringBoot笔记33】SpringBoot中使用@Async注解 + Future实现异步操作并获取返回值
  • dede后台验证码错误或不显示的解决办法
  • 深入理解React与闭包的关系
  • 搭建Promethues + grafana +alertManager+blakbox 监控springboot 健康和接口情况
  • 二层、三层交换机是什么?有什么区别?
  • C++【哈希表的完善及封装】
  • 谷歌Bard更新中文支持;GPT-4:1.8万亿参数、混合专家模型揭秘; Meta推出商用版本AI模型
  • 【课程介绍】OpenCV 基础入门教程:图像读取、显示、保存,图像处理和增强(如滤波、边缘检测、图像变换),特征提取和匹配,目标检测和跟踪
  • 【动手学深度学习】--06.暂退法Dropout
  • 1.1数字三角形模型
  • 【雕爷学编程】Arduino动手做(138)---64位WS2812点阵屏模块4
  • 接口测试 使用 rest-assured 进行接口测试
  • 【Ubuntu】linux使用nmcli命令来连接Wi-Fi网络
  • Android系统启动流程分析
  • 京东内部 Spring Boot 全解笔记,精髓!
  • 传输控制协议 TCP
  • 基于高斯混合模型聚类的风电场短期功率预测方法(Pythonmatlab代码实现)
  • docker和k8s的学习介绍
  • CS 144 Lab Zero
  • 【Linux指令集】---ls指令(超详细)