【ARM Coresight 系列文章 3.1 - ARM Coresight DP 对 AP 的访问 1】

文章目录

    • 1.1 DP 中相关寄存器的介绍
      • 1.1.1 DPACC and APACC 寄存器
      • 1.1.2 DP SELECT 寄存器
      • 1.1.3 AP CSW寄存器
      • 1.1.4 AP TAR 寄存器
      • 1.1.5 AP DRW寄存器
      • 1.1.6 AP Banked Data registers

1.1 DP 中相关寄存器的介绍

如果DAP接入的是JTAG接口,那么将会通过APACC寄存器来访问系统的debug 资源,会通过DPACC访问DAP的内部资源,如DP中的一些寄存器的访问。

DAP 需要实现以下内容来支持 JTAG的访问:

  • DBGTAPSM, Debug TAP State Machine, Debug TAP 状态机,用于控制JTAG-DP的操作;
  • IR scan chain and IR instructions, 用于接收和转换JTAG发过来的信息;
  • 一些数据寄存器,也就是DP中的一些寄存器或者AP中的一些寄存器。

JTAG-DP会将 JTAG发送过来的一些信息转换为对应IR指令,ARM 标准 IR 指令如下:
在这里插入图片描述

表 1-1

如上图,IR 指令的宽度可以是4bits 也可以是8bits。

1.1.1 DPACC and APACC 寄存器

对于DP和AP中寄存器的访问是通过 DPACC和APACC寄存器进行的,它们都是35bits的寄存器。
在这里插入图片描述

图 1-1

DPACC和APACC有着相同的组成格式,如下图,DP 会使用 DPACC中的A[3:2] 选择访问哪个DP的寄存器,RnW(bits[1:0])的值为0,Data[31:0] 装要写入寄存器的值,如果是读操作的话,也是从Data[31:0]中获取值。

对于APACC 寄存器,其Data[31:0] 用于写入要写入target 寄存器的值,如果是读操作那么Data[31:0]存着要读取target 寄存器的值,A[7:4]用于选择某个bank 组,A[3:2]用于选择bank中的某一个寄存器,一个bank中包含4个AP寄存器。
在这里插入图片描述

图 1-2

1.1.2 DP SELECT 寄存器

如图1-2所示,在ADIv5中,对于AP寄存器的方式可以有两种方式,其中的一种即是通过DP中的SELECT寄存器来选择对 AP 寄存器的访问。
在这里插入图片描述

图 1-3

我们知道DAP 中支持多个 AP,而每次只能对一个AP进行访问。因为需要对 AP 进行编号,编号的值就在 APSEL位域 中。因为这个bits[31:24]位域有8位,因此 DAP 中可以最多有256个AP。
bits[7:4]: 用于选择 16 个 bank 寄存器组中的一组,其作用相当于APACC寄存器的A[7:4]域;
bits[3:0] 用于选择一个DP bank寄存器组的某一组。

1.1.3 AP CSW寄存器

见:ARM Coresight 系列文章 3 - ARM Coresight 组件 DAP(Debug Access Port) 介绍

1.1.4 AP TAR 寄存器

见:ARM Coresight 系列文章 3 - ARM Coresight 组件 DAP(Debug Access Port) 介绍

1.1.5 AP DRW寄存器

见:ARM Coresight 系列文章 3 - ARM Coresight 组件 DAP(Debug Access Port) 介绍

1.1.6 AP Banked Data registers

banked data 寄存器一共有4个:BD0-BD3, 它们直接映射到memory地址空间,地址开始于 TAR寄存器中的地址 加上 0x10偏移:
在这里插入图片描述

  • 在写操作的情况下,banked data 寄存器可以装入要写入对应memory地址的值;
  • 在读操作的情况下,banked data 寄存器存放这要从memory读取的数据。

上一篇:ARM Coresight 系列文章 3 - ARM Coresight 组件 DAP(Debug Access Port) 介绍
下一篇:ARM Coresight 系列文章 3.1 - ARM Coresight DP 对 AP 的访问 2

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[VUE学习]权限管理系统前端vue实现8-右上角用户头像显示实现

1.现在有个问题 我们再没有token情况下通过url可以直接访问页面 这不可以 所以我们需要添加路由守卫 拦截 2.permission.js的代码 import router from "/router/index" import store from "/store"router.beforeEach((to,from,next)>{const whiteList…

React类组件

1. React组件 将页面按照界面功能进行拆分,每一块界面都拥有自己的独立逻辑,这样可以提高项目代码的可维护性。其中React组件分为两种,一种是类式组件,一种是函数式组件。这里我们将的是比较常用的类式组件,但是在后续…

括号生成(力扣)递归 JAVA

目录 题目描述:纯递归解法:递归 回溯: 题目描述: 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出&#xff1a…

子集 (力扣)数学推理 JAVA

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1: 输入:nums [1,2,3] 输出:[[],[1],[2],[1,2],[3],[…

Unity/Shader 零碎知识点

坐标系 Unity使用的是左手坐标系&#xff1b;观察空间&#xff0c;通俗来讲就是以摄像机为原点的坐标系&#xff0c;摄像机的前向是z轴的负方向&#xff0c;与模型和世界空间中的定义相反&#xff0c;z轴的坐标减少意味着场景深度的增加 点积 abba|a||b|cos<a,b> 结果为常…

邮票面值-2022年全国青少年信息素养大赛Python国赛第5题

[导读]&#xff1a;超平老师计划推出《全国青少年信息素养大赛Python编程真题解析》50讲&#xff0c;这是超平老师解读Python编程挑战赛真题系列的第7讲。 全国青少年信息素养大赛&#xff08;原全国青少年电子信息智能创新大赛&#xff09;是“世界机器人大会青少年机器人设计…

Spring Boot原理分析 | SpringApplication、Yaml、Properties

&#x1f497;wei_shuo的个人主页 &#x1f4ab;wei_shuo的学习社区 &#x1f310;Hello World &#xff01; Spring Boot Spring开源框架&#xff0c;轻量级的Java开发框架&#xff0c;解决企业级应用开发的复杂性而创建&#xff0c;简化开发 基于POJO的轻量级和最小侵入型编程…

Kafka入门,漏消费和重复消费, 消费者事务,数据积压(二十四)

漏消费和重复消费 重复消费&#xff1a;已经消费了数据&#xff0c;但是offset没提交。 漏消费&#xff1a;先提交offset后消费&#xff0c;有可能会造成数据得漏消费 消费者事务 如果向完成consumer端得进准一次性消费&#xff0c;那么需要Kafka消费端将消费过程和提交offs…

【Accumulate】Gitee解决每次推送输入账户密码问题

【前言】 每次建立私人仓库后&#xff0c;一推送就得输入账户密码&#xff0c;真的巨烦人啊。 【解决】 step1&#xff1a; 绑定私匙&#xff1a; 配置Git_犟小孩的博客-CSDN博客 step2&#xff1a; 每次绑定远程仓库的时候&#xff0c;使用SSH绑定 如果已经绑定过了&…

YoloV2

时间线 Motivation Yolo-v1是在检测精度尚可的前提下达到了实时检测&#xff0c;同年的SSD检测速度略慢但检测精度远高于Yolo-v1&#xff0c;因此&#xff0c;Yolo-v2则是着眼于检测得更快更准&#xff0c;同时它利用WordTree创造性地将Imag…

回归预测 | MATLAB实现WOA-DBN鲸鱼算法优化深度置信网络的多输入回归预测

回归预测 | MATLAB实现WOA-DBN鲸鱼算法优化深度置信网络的多输入回归预测 目录 回归预测 | MATLAB实现WOA-DBN鲸鱼算法优化深度置信网络的多输入回归预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 基于鲸鱼算法优化深度置信网络(WOA-DBN)的数据回归预测&…

vim的使用方法及相关按键

目录 一、安装vim 二、vim的使用 1.打开vim 2.vim的四种模式使用 &#xff08;1&#xff09;命令模式&#xff08;快捷键的使用&#xff09; &#xff08;2&#xff09;编辑模式 &#xff08;3&#xff09;末行模式 &#xff08;4&#xff09;可视化模式 一、安装vim …

虹科方案 | Redis Enterprise:适用于任何企业的矢量数据库解决方案

用户希望他们遇到的每个应用程序和网站都具有搜索功能。然而&#xff0c;超过80%的业务数据是非结构化的&#xff0c;以文本、图像、音频、视频或其他格式存储。因此&#xff0c;我们需要一种跨非结构化数据的搜索方式。 什么是矢量数据库&#xff08;vector database&#xff…

基于深度学习的高精度老虎检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要&#xff1a;基于深度学习的高精度老虎检测识别系统可用于日常生活中或野外来检测与定位老虎目标&#xff0c;利用深度学习算法可实现图片、视频、摄像头等方式的老虎目标检测识别&#xff0c;另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型…

uniapp学习之【uniapp的返回事件 onBackPress 在微信小程序中不生效的问题】

uniapp 的返回事件 onBackPress 在微信小程序中不生效的问题 场景&#xff1a;页面中点击左上角的返回按钮,监听返回操作,页面返回前执行了一些操作, uniapp 页面生命周期中有 onBackPress ,因此将操作写在了 onBackPress () 页面生命周期钩子当中, H5 测试一切正常,但是微信开…

集合面试题--LinkedList数组

目录 单向链表 介绍 时间复杂度分析 双向链表 时间复杂度分析 总结 ArrayList和LinkedList的区别是什么&#xff1f; 单向链表 介绍 时间复杂度分析 双向链表 时间复杂度分析 总结 ArrayList和LinkedList的区别是什么&#xff1f;

某网站JS加密、OB混淆与CSS反爬实战分析

1. 写在前面 最近一段时间接触了一些小说网站的业务。发现很多的小说网站&#xff0c;甚至一些小站它们的安全防护措施做的都很到位&#xff01;例如上次说到的的五秒盾也是存在于一个小说小站。今天要讲的这个网站它集JS加密、ob混淆、CSS反爬于一体 目标站点&#xff1a; aH…

【javaEE面试题(四)线程不安全的原因】【1. 修改共享数据 2. 操作不是原子性 3. 内存可见性 4. 代码顺序性】

4. 多线程带来的的风险-线程安全 (重点) 4.1 观察线程不安全 static class Counter {public int count 0;void increase() {count;} } public static void main(String[] args) throws InterruptedException {final Counter counter new Counter();Thread t1 new Thread(()…

王道考研计算机网络第五章知识点汇总

5.1.1 传输层概述 复用&#xff1a;好比家里面每个人都要写信&#xff0c;向信箱里面投入信件&#xff0c;然后由邮递员取走。 分用&#xff1a;就是每个人都收到了各自的回信&#xff0c;然后从信箱中取走各自的信 5.2 UDP协议 注意&#xff1a;用户数据报和检验和都是指的整…

深度剖析线上应用节点流量隔离技术

作者&#xff1a;谢文欣&#xff08;风敬&#xff09; 为什么要做流量隔离 源于一个 EDAS 客户遇到的棘手情况&#xff1a;他们线上的一个 Pod CPU 指标异常&#xff0c;为了进一步诊断问题&#xff0c;客户希望在不重建此 Pod 的情况下保留现场&#xff0c;但诊断期间流量还…