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

news2024/11/17 16:30:15

文章目录

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

APB-AP 介绍及使用

下图是一个 常见的DAP 结构图,其AP使用的是APB-AP。
在这里插入图片描述

图 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 组件的地址信息。

在这里插入图片描述

图 1-2

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

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

APB-Mux

该组件用于控制外部工具或者系统访问 Debug APB,APB-Mux 可以将多个接口合并成一个,从而使得接入的多个master 可以都可以访问Debug APB。
在这里插入图片描述

图 1-3

如图 1-3 外部工具通过APB-AP 连接到 APB-Mux, 并提供了一个 APB Master;系统访问需要经过APB 桥来提供 APB Master 接口,如下图 1-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 格式如下:
在这里插入图片描述

图 1-5

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

在这里插入图片描述

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

ComponentAddress =  ROMAddress + (AddressOffset >> 12

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

上篇文章:ARM Coresight 系列文章 3.1 - ARM Coresight DP 对 AP 的访问 2

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

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

相关文章

润和软件HopeStage与易捷行云EasyStack ECF×86云基础设施平台完成产品兼容性互认证

近日,润和软件HopeStage操作系统与北京易捷思达科技发展有限公司(以下简称“易捷行云EasyStack”)ECF86云基础设施平台完成产品兼容性测试。 测试结果表明,企业级通用操作系统HopeStage V1.0产品与ECF86云基础设施平台可以顺利适…

MF31:VBA_在Excel中加入页码

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。我的教程一共九套,分为初级、中级、高级三大部分。是对VBA的系统讲解,从简单的入门,到…

电路分析基础学习(上)第5章

李瀚荪版电分第二版 目录 电容的定义 电容为什么能阻断直流 电容的储能计算公式 电感的定义 电阻与阻抗的区别 电感为什么在直流通路中起着短路的作用 电感的储能计算公式 ----------------------------------------------------------------------------------------…

SSMP整合案例(16) vue java联合实现分页条件查询 终结篇

那么 之后 我们就要处理按条件查询了 简单说 就是我们在分页时 条件也要一起带过去 其实 我们之前写的App组件中 他们已经被定义上了 我们看到App.vue的这个位置 我们用了 formData 其中对应了三个条件 然后 我们在 src的App组件下 找到 getPages 中定义data的部分 然后改成…

idea显示左下角service

展示效果: 解决方案: 1.点击左下角 这个按钮 2.点击蓝色英文,add services 3.找到众多模板中的springboot,点击即可

【C++】手把手教你模拟实现vector

vector模拟实现 前言正式开始三个成员变量无参构造析构push_back[ ]重载pop_backinserterase迭代器失效问题insert迭代器失效erase迭代器失效 深浅拷贝拷贝构造函数赋值运算符重载 n个val构造resizefront和backfrontback 前言 这篇写的是vector的模拟实现。 如果对于vector不…

TI系列——CC2340B1 Uniflash烧录指南

一、物料准备 1.1 硬件准备 1、XDS110-PLUS2.0或者TI LaunchPad: 图 1 XDS110-PLUS2.0中包含: XDS110调试器、USB-A to Type-C-B电缆、具有2x5 2.54mm连接器的10引脚扁平电缆、具有2x5 1.27mm连接器的10引脚扁平电缆、具体请看说明指南文档。 图 2 上…

【MyBatis-Plus】DML编程控制 代码生成器(文末赠书)

1,DML编程控制 查询相关的操作我们已经介绍完了,紧接着我们需要对另外三个,增删改进行内容的讲解。挨个来说明下,首先是新增(insert)中的内容。 1. id生成策略控制 前面我们在新增的时候留了一个问题,就是新增成功后…

ArcGIS问题解决——CAD中的字体加载到ArcMap显示乱码

ArcGIS问题解决——CAD中的字体加载到ArcMap显示乱码 CAD中的字体加载到ArcMap显示乱码,是因为字符集的问题,解决办法即修改注册表中默认字符集为简体中文字符集即可。 ①winR,输入regedit,回车 ②找到计算机\HKEY_CURRENT_USER\SOFTWARE\…

网络变压器的工作原理

网络变压器又称“数据汞”,或网络绝缘变压器。在网络接口中起到两个主要作用: 一是通过将差模耦合和线圈耦合相结合的过滤器,增强PHY传输的差分信号的数据传输,并将电磁场转换为不同电平连接线的另一端; 二是隔离线连…

有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来​​

LEETCODE 1. 两数之和 题解地址 https://leetcode.cn/problems/two-sum/solution/liang-shu-zhi-he-by-leetcode-solution/ 有人相爱,有人夜里开车看海,有人leetcode第一题都做不出来。 题目 给定一个整数数组 nums 和一个整数目标值 target&#xff0…

【运维】Linux的文件权限,文件所属组别,用户组访问文件的权限设置,将用户加入某个组,创建用户组

文章目录 文件权限添加一个组将用户加入组将文件设置为组访问更改所属用户查看Linux系统中用户所属的组 文件权限 添加一个组 添加一个组: 使用groupadd命令可以添加一个新的组。例如,要添加一个名为 “mygroup” 的组,可以运行以下命令&…

每日汇评:21日均线是黄金突破最大障碍,看涨形态逐步形成

1、美元在非农数据惨淡后持续上涨,金价维持上周涨幅; 2、美债收益率的反弹也抑制了金价的上涨空间; 3、金价在周五确认了一个看涨楔形,但重夺21日移动均线是关键; 黄金在本周初触及的1930美元关口下方徘徊&#xff0…

SciencePub学术 | 计算机决策类重点SCIEEI征稿中

SciencePub学术 刊源推荐: 计算机决策类重点SCIE&EI征稿中!信息如下,录满为止: 一、期刊概况: 计算机决策类重点-01 【期刊简介】IF:4.0-4.5,JCR2区,中科院3区; 【出版社】世…

基于ChatGPT的企业微信机器人

1、openAI账号 登录OpenAI的账号后,再点击右上角的“Personal”图标,然后点击“view API keys”进入API页面。 点击“create new secret key”按钮。 生成秘钥之后,把秘钥复制下来。 2、拉取项目代码 git clone https://github.com/zhay…

安全与便利并行:智慧电梯的魅力与优势

数字孪生技术正在逐渐改变着我们的生活方式,其中之一就是在智慧电梯领域的应用。那么,数字孪生技术是怎样运用到电梯上的呢?这又会对我们的生活造成怎样的改变? 在智慧电梯中,数字孪生技术将电梯的物理实体与虚拟模型…

3. Springboot快速回顾(拦截器的使用)

本文将提供一个案例,回顾如何在springboot中使用拦截器。 首先明白为何使用拦截器,拦截的是什么? 比如你设计了一个网站,为这个网站设计了一个登陆界面后,希望在登录界面进行身份验证,进入系统。但我可以直…

flutter开发实战-多语言flutter intl

flutter开发实战-多语言flutter intl 之前做的应用中有用到多语言,一直没有整理,这里整理一下多语言设置流程。 使用的是Android studio 一、flutter_intl 插件 使用Android studio安装flutter_intl 插件,更新或者安装flutter_intl 插件后…

国产4 通道模拟复合视频解码芯片MIPI CSI 接口,XS9922B

XS9922B 是一款 4 通道模拟复合视频解码芯片,支持 HDCCTV 高清协议和 CVBS 标 清协议,视频制式支持 720P/1080P 高清制式和 960H/D1 标清制式。芯片将接收到的高清 模拟复合视频信号经过模数转化,视频解码以及 2D 图像处理之后…

Django_模板标签语法

目录 引用变量 for循环标签 if条件标签 with标签 注释 extends和block标签 csrf_token标签 load static标签 源码等资料获取方法 引用变量 可以使用{{}}引用视图函数响应的变量和模板中的变量。 比如有如下视图函数 在模板中引用变量方式如下 界面展示如下 for循环标…