【ARM Coresight 系列文章 2.5 - Coresight 寄存器:PIDR0-PIDR7,CIDR0-CIDR3 介绍】

news2024/9/24 5:21:56

文章目录

    • 1.1 JEDEC 与 JEP106
    • 1.2 PIDR0-PIDR7(peripheral identification registers)
    • 1.2 CIDR0-CIDR3(Component Identification Registers)

1.1 JEDEC 与 JEP106

JEDEC和JEP106都是来自美国电子工业联合会(JEDEC,Joint Electron Device Engineering Council)的标准。

JEDEC是该联合会的简称,也指代该联合会制定的所有标准。

而JEP106则是其中的一项特定标准,名为 “Standard Manufacturer’s Identification Code”,即“标准制造商识别代码”。这个标准提供了一种机制,可以让不同的半导体制造商有自己独一无二的识别代码,这样就可以在设备和系统中准确地识别使用了哪些制造商的产品。

所以,JEP106实际上就是JEDEC的一个子集,是在JEDEC架构下的一个具体标准。

1.2 PIDR0-PIDR7(peripheral identification registers)

外设识别寄存器
在这里插入图片描述

  • CMOD 用于表示该组件是否被Customer 修改过,如果为0表示没有被修改过,其他值则表示被修改过;
  • PIDR2.REVISIONPIDR3.REVAND 一起构成组件的版本号;
  • JEDEC: 固定为1;
  • PIDR1.DES_0 bits[7:4] 表示的是JEP106 识别码的bits[3:0];
  • PIDR2.DES_1 bits[2:0] 表示的是JEP106 识别码的bits[6:4];
  • PIDR4.DES_2 bits[3:0] 表示的是 JEP106 的 连续码 continuation code。

制造商的识别码由一个或多个 8 位字段定义,由 7个数据位加 1 个奇校验位组成。例如 ARM 的 JEDEC code 是 0x7F 0x7F 0x7F 0x7F 0x3B。而 连续码 continuation code 表示的是 0x7F 出现的次数,例如ARM的连续码是0x4。而识别码是最后的 bits[6:0], ARM 公司的识别码是0x3B。

SoC 中有多个coresight的组件,为了较好方便的管理这些组件,designer 给每个组件分配了唯一的编号。这个编号就保存在part number中:

  • PART_0, PIDR0 bits[7:0] Part number bits[7:0]
  • PART_1, PIDR1 bits[3:0] Part number bits[11:8]

在这里插入图片描述在这里插入图片描述

  • SIZE:表示这个组件占用 4k 空间的块数。如果只占用一个块,那么值是0,如果占用两个块,值是1。占用的块数为 2^SIZE。这种做法已经被废弃,ARM 推荐使用 Unique Component Identifier 域来表示组件占用空间的大小,或者使用一些没有使用过的寄存器来表示。

外设寄存器地址偏移
在这里插入图片描述

1.2 CIDR0-CIDR3(Component Identification Registers)

在这里插入图片描述

这四个寄存器,每个寄存器只有最低8位有效。这四个寄存器的组合,用来标识组件的类型。

对于ARM的组件,CIDR寄存器的有些位的值是固定的:

  • CIDR3 bits[7:0] 的值是 0xB1;
  • CIDR2 bits[7:0] 的值是 0x05;
  • CIDR1 bits[3:0] 的值是 0x0;
  • CIDR0 bits[7:0] 的值是 0x0D;

CIDR1寄存器中有一个CLASS位域 CIDR1 bits[7:4],用来表示组件属于哪一个类。ARM对自己的组件,也划分了若个的类。
在这里插入图片描述

  • 0x1: ROM Table;
  • 0x9: CoreSight组件;
  • 0xF: CoreLink组件。

读取组件的 CIDR 寄存器,即可知道这个组件是属于哪一类。
对于Rom Table, 固定为 0xB105_100D;
对于Coresight组件,固定为 0xB105_900D;
对于CoreLink 组件, 固定为 0xB105_F00D

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

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

相关文章

Kafka3.0.0版本——Broker(总体工作流程)

目录 一、Kafka中Broker总体工作流程图解二、Kafka中Broker总体工作流程步骤解析 一、Kafka中Broker总体工作流程图解 总体工作流程图解 二、Kafka中Broker总体工作流程步骤解析 1、broker启动后在zk中注册,如下图所示: 2、controller谁先注册&…

Java面向对象之UML类图

UML类图 表示 public 类型, - 表示 private 类型,#表示protected类型方法的写法:方法的类型(、-) 方法名(参数名: 参数类型):返回值类型

Windows下安装Spark(亲测成功安装)

Windows下安装Spark 一、Spark安装前提1.1、JDK安装(version:1.8)1.1.1、JDK官网下载1.1.2、JDK网盘下载1.1.3、JDK安装 1.2、Scala安装(version:2.11.12)1.2.1、Scala官网下载1.2.2、Scala网盘下载1.2.3、…

3DEXPERIENCE用户角色 | Structural Mechanics Engineer 结构力学工程师

真实条件下实施复杂的线性和非线性分析 直观验证设计并更快地做出产品决策 Structural Mechanics Engineer 在基于云的 3DEXPERIENCE 平台上构建,您可对产品行为执行结构线性和非线性静态、低速和高速动态和热仿真。具备材料校准功能,有助于确保材料行为…

wine意大利红酒数据标准化案例

1.数据和环境准备 将通过意大利红酒的部分数据,调用scikit-learn包(sklearn)分别实现0-1标准化和z-score标准化,总结学习这两种标准化方法的特点。 本案例使用的环境为Anaconda Jupyter notebook。 2.数据说明 我们使用的是U…

基于FPGA的超声波测距——UART串口输出

文章目录 前言一、超声波模块介绍1、产品特点2、超声波模块的时序图 二、系统设计1、系统模块框图2、RTL视图 三、源码1、div_clk_us(1us的分频)2、产生驱动超声波的信号3、串口发送模块4、HC_SR04_uart(顶层文件) 四、效果五、总结六、参考资料 前言 环境: 1、Quar…

linux安装python和部署Django项目

文章目录 1 python安装2 Django项目部署 1 python安装 官网地址:https://www.python.org/ 本次下载的python安装包地址:https://www.python.org/ftp/python/3.8.16/Python-3.8.16.tgz 解压下载的python压缩包 [rootlocalhost software]# tar -zxvf P…

Python(五十五)列表元素的修改操作

❤️ 专栏简介:本专栏记录了我个人从零开始学习Python编程的过程。在这个专栏中,我将分享我在学习Python的过程中的学习笔记、学习路线以及各个知识点。 ☀️ 专栏适用人群 :本专栏适用于希望学习Python编程的初学者和有一定编程基础的人。无…

【LeetCode】446. 等差数列划分II -- 子序列

题目链接 文章目录 1. 思路讲解1.1 dp表的创建1.2 状态转移方程1.3 使用哈希表找到k1.4 初始化1.5 返回值1.6 该题坑爹的一点 2. 代码编写 1. 思路讲解 我们要知道以某个位置为结尾的子序列的数量,可以通过它的以上一位置的为结尾的子序列的数量得知,也…

如何微调医疗大模型llm:llama2学习笔记

三个微调方向:简单医疗问答 临床问答 影像学 一般流程: 1 数据集准备 2 模型基座选择 3 微调 4 案例拆解 1 数据集准备:两种类型,一种文本一种影像 扩展,多模态 2 模型基座选择 多模态处理所有视频,文本…

IntelliJ IDEA快捷键大全 + 动图演示!

一、构建/编译 Ctrl F9:构建项目该快捷键,等同于菜单【Build】—>【Build Project】 执行该命令后,IntelliJ IDEA 会编译项目中所有类,并将编译结果输出到out目录中。IntelliJ IDEA 支持增量构建,会在上次构建的基…

Delphi命令行执行优化 - 使用TDosCommand

TDosCommand 是 Delphi 的一个开源组件,可以在 Delphi 程序中方便地运行 DOS 命令,并获取其输出结果。在本文中,我们将介绍 TDosCommand 组件的用法,并演示如何使用它来运行 DOS 命令。 ## 安装 TDosCommand 组件 下载&#xff…

Linux学习之一次性计划任务at

计划任务: 让计算机在指定的时间运行程序的任务 计划任务的分类: 1)一次性计划任务 2)周期性计划任务 先来讲讲一次性执行任务at。执行at 18:32报错-bash: at: command not found。 yum install -y at安装at。 at 18:32后边按下…

【算法提高:动态规划】1.4 状态机模型 TODO

文章目录 例题列表1049. 大盗阿福(其实就是打家劫舍)1057. 股票买卖 IV(k笔交易)1058. 股票买卖 V(冷冻期)1052. 设计密码⭐⭐⭐🚹🚹🚹(TODO)1053…

SpringBoot集成MyBatisPlus+MySQL(超详细)

前言 查看此文章前强烈建议先看这篇文章:Java江湖路 | 专栏目录 该文章纪录的是SpringBoot快速集成MyBatis Plus,每一步都有记录,争取每一位看该文章的小伙伴都能操作成功。达到自己想要的效果~ 文章目录 前言1、什么是MyBatisPlus2、Spring…

【Uniapp 的APP热更新】

Uniapp 的APP热更新功能依赖于其打包工具 HBuilder,具体步骤如下: 1. 在 HBuilder 中构建并打包出应用程序 具体步骤: 1.点击发行,点击制作wgt包 2.根据需求修改文件储存路径和其他配置,点击确定 3.等待打包完成&a…

Linux第一个小程序-进度条(缓冲区概念)

1.\r和\n C语言中有很多字符 a.可显字符 b.控制字符 对于回车其实有两个动作,首先换行,在将光标指向最左侧 \r :回车 \n:换行 下面举个例子: 把\n去掉会怎样 什么都没输出。为什么? 2.缓冲区概念 观察下两个…

05、性能分析思路?

工具操作:包括压力工具、监控工具、剖析工具、调试工具。数值理解:包括上面工具中所有输出的数据。趋势分析、相关性分析、证据链分析:就是理解了工具产生的数值之后,还要把它们的逻辑关系想明白。这才是性能测试分析中最重要的一…

2023年第四届“华数杯”数学建模思路 - 案例:粒子群算法

# 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 什么是粒子群算法? 粒子群算法(Particle Swarm Optimization,PSO)是一种模仿鸟群、鱼群觅食行为发展起来的一种进化算…

什么是AOP

文章目录 1、AOP思想2、AOP入门案例3、AOP工作流程4、AOP切入点表达式5、AOP的五种通知类型6、AOP通知获取数据7、案例:百度网盘密码数据兼容处理8、AOP总结 1、AOP思想 AOP,即Aspect Oriented Programming,面向切面编程。是一种编程范式&am…