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

news2024/11/30 7:39:52

文章目录

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/768718.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java源码规则引擎:jvs-rules数据扩展及函数配置说明

jvs-rules数据拓展节点 数据拓展是数据可视化加工过程中的重要工具,它核心的作用是对原有数据表进行加工扩展,实现功能如下图所示 函数配置操作过程 操作说明 1、拖动数据拓展字段,并将字段拓展与之前的历史节点连接起来,点击数…

浅谈linux前台进程与后台进程同步异步执行的理解

最近书上看到前台进程以及后台进程的定义,有点令人费解。 linux终端输入一条命令,创建一个子进程运行这条命令,在这条命令进程执行完之前,终端shell都无法接收新的一条命令;只有这条命令运行结束后,当前终…

Vue项目实现在线预览pdf,并且可以批量打印pdf

最近遇到一个需求,就是要在页面上呈现pdf内容,并且还能用打印机批量打印pdf,最终效果如下: 当用户在列表页面,勾选中两条数据后,点击“打印表单”按钮之后,会跳到如下的预览页面: 预览页面顶部有个吸顶的效果,然后下方就展示出了2个pdf文件对应的内容,我们接着点击“…

Vsiual Stdio 生成动态链接库 / 命令行CMD工具打不开 / 64和32位动态链接库生成 dll

打开vistual studio,选择目标文件夹。 菜单栏选择工具->命令行->开发者命令提示 通过 这种方法打开的编译器版本是 32位(x86)的 64位的编译器通过以下方法打开 修改文件路径 1)Cd 路径 2) 盘符: 输入命令行代码 cl /c Se…

SpringBoot整合SpringSecurity+JWT

SpringBoot整合SpringSecurityJWT 整合SpringSecurity步骤 编写拦截链配置类,规定security参数拦截登录请求的参数,对该用户做身份认证。通过登录验证的予以授权,这里根据用户对应的角色作为授权标识。 整合JWT步骤 编写JWTUtils&#xf…

精智达在科创板上市:募资约11亿元,深创投等为其股东

7月18日,深圳精智达技术股份有限公司(下称“精智达”,SH:688627)在上海证券交易所科创板上市。本次上市,精智达的发行价为46.77元/股,发行数量为2350.2939万股,募资总额为10.99亿元,…

封装cpp-httplib成dll包,为老项目提供http网络支持

项目介绍: 公司内某些老的项目不支持https或者http1.1的一些新功能,需要开发对应的SDK供其调用,以便维护老项目。 第一步:下载cpp-httplib 点击这里去下载最新的代码:mirrors / yhirose / cpp-httplib GitCode 直接下…

QT:问题、解决与原因

在这里记录一些自己遇到的在QT开发上面的小问题和tips 目录 QComboBox 设置qss样式不生效qt按钮设置点击释放效果实现效果 QComboBox 设置qss样式不生效 我设置的样式是: box->setStyleSheet("QComboBox {""border: none;""padding:…

适用于 Type-C接口PD应用的智能二极管保护开关

日前,集设计、研发、生产和全球销售一体的著名功率半导体、芯片及数字电源产品供应商Alpha and Omega Semiconductor Limited(AOS, 纳斯达克代码:AOSL) 推出一款采用理想二极管运作进行反向电流保护的新型Type-C PD 高压电源输入保护开关。AOZ13984DI-02…

上市公司前端开发规范参考

上市公司前端开发规范参考 命名规则通用约定文件与目录命名HTML命名CSS命名JS命名 代码格式通用约定HTML格式CSS格式JS格式注释 组件组件大小单文件组件容器组件组件使用说明Prop指令缩写组件通讯组件的挂载和销毁按需加载第三方组件库的规定 脚手架使用规范移动端脚手架PC端脚…

Linux下安装Elasticsearch以及ES-head插件

Linux下安装ElasticSearch以及ES-head插件 安装Elasticsearch 由于Elasticsearch客户端版本和ElasticSearch版本有对应关系,所以建议安装之前先考虑安装哪个版本的ElasticSearch。 ElasticSearch、Spring Data Elasticsearch、SpringBoot、Spring版本对应关系 安…

OpenCV for Python 学习第五天:图片属性的获取

上一篇博文当中,我们学习了如何获取图片的通道,我们了解了通道的分离方法split()和通道的组合方法merge()。那么我们今天就来对图片的属性做一个深入的了解。 文章目录 图片属性OpenCV中属性介绍图片属性的获取 图片属性 图片属性是指描述和定义一张图片…

爬虫与反爬虫的攻防对抗

一、爬虫的简介 1 概念 爬虫最早源于搜索引擎,它是一种按照一定的规则,自动从互联网上抓取信息的程序,又被称为爬虫,网络机器人等。按爬虫功能可以分为网络爬虫和接口爬虫,按授权情况可以分为合法爬虫和恶意爬虫。恶…

【NLP】从预训练模型中获取Embedding

从预训练模型中获取Embedding 背景说明下载IMDB数据集进行分词下载并预处理GloVe词嵌入数据构建模型训练模型并可视化结果结果对比其他代码 在NLP领域中,构建大规模的标注数据集非常困难,以至于仅用当前语料无法有效完成特定任务。可以采用迁移学习的方法…

hbuilder创建基于vue2的uniapp小程序项目

参考vant官网:https://vant-contrib.gitee.io/vant/v3/#/zh-CN/quickstart#an-zhuang官网 参考别人博客:https://www.yii666.com/blog/465379.html 1.创建项目 1.1 hbuilder进去右上角点击文件–新建–项目 1.2 vue2项目如下图 2.安装依赖 2.1 2.2…

Linux搭建SVN环境(最新版)

最新版本号(svn-1.14) https://opensource.wandisco.com/centos/7 更新版本库 sudo tee /etc/yum.repos.d/wandisco-svn.repo <<-EOF [WandiscoSVN] nameWandisco SVN Repo baseurlhttp://opensource.wandisco.com/centos/$releasever/svn-1.14/RPMS/$basearch/ enabled…

TypeScript 学习笔记(七):条件类型

条件类型 TS中的条件类型就是在类型中添加条件分支&#xff0c;以支持更加灵活的泛型&#xff0c;满足更多的使用场景。内置条件类型是TS内部封装好的一些类型处理&#xff0c;使用起来更加便利。 一、基本用法 当T类型可以赋值给U类型时&#xff0c;则返回X类型&#xff0c…

一探究竟:人工智能、机器学习、深度学习

一、人工智能 1.1 人工智能是什么&#xff1f; 1956年在美国Dartmounth 大学举办的一场研讨会中提出了人工智能这一概念。人工智能&#xff08;Artificial Intelligence&#xff09;&#xff0c;简称AI&#xff0c;是计算机科学的一个分支&#xff0c;它企图了解智能的实质&am…

拦截器是什么

拦截器 package com.qf.config;import org.springframework.web.servlet.HandlerInterceptor; import org.springframework.web.servlet.ModelAndView;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;public class MyIntercep…

VSCode下载安装(保姆级--一步到胃)

前言 Visual Studio Code&#xff08;简称“VSCode” &#xff09;是Microsoft在2015年4月30日Build开发者大会上正式宣布一个运行于 Mac OS X、Windows和 Linux 之上的&#xff0c;针对于编写现代Web和云应用的跨平台源代码编辑器&#xff0c;可在桌面上运行&#xff0c;并且…