【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】

这篇具有很好参考价值的文章主要介绍了【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


请阅读【ARM Coresight SoC-400/SoC-600 专栏导读】


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

1.1 DEVARCH(device architecture register)

DEVARCH 寄存器标识了coresight 组件的架构信息。
【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE
bits[31:21] 定义了组件架构:

  • Bits[31:28] 指明 JEP106 连续码
  • Bits[27:21] 指明 JEP106 识别码, 也就是制造商识别码,ARM 公司的是 0x3B。

【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE
对于 ARM 架构来说,这11bits 是固定的 0x23B

  • bits[19:16] 架构版本号,也是就 ARCHID 的版本号。
  • bits[15:0] 架构 ID,ARM 公司很多组件都有其对应的 ID号,如下:
    【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE

1.2 DEVID(Device configuration Register)

这个寄存器的功能,由实现进行定义,总共包括3个寄存器,DEVID,DEVID1,DEVID2,每个寄存器32位,只读。
其中 DEVID 寄存器用来指明该组件的功能:
【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE
bit[6]: 指明是否支持 COM Port 功能,如果支持那么地址0xD00-0xD7C 包含 COM Port 功能;
bit[5]: 如果为 0,表示该组件没有包含 power request 功能,那么可以使用 ROM Table 带的 power requester 来请求给该组件上电,如果该bit 为 1,那么表明该组件带了power request 功能
bit[3:0]: ROM format, 0x0:32-bit format 0, 0x1: 64-bit format 1.

如果这几个寄存器没有使用到,实现时,全部设置为0。如果对应的组件是可以配置的,ARM推荐这几个寄存器可以填写该组件的版本升级信息或者是改动信息。
【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE
【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE
偏移地址分别是:0xFC8, 0xFC4, 0xFC0。

1.3 DEVTYPE(Device Type Identifier Register)

该寄存器中包含了组件的具体类型信息,通过 MAJOR 位域(主设备号)和 SUB 位域(次设备号)的组合值来表示。
【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE

通过主设备号(MAJOR) ARM 对组件分成了 7 大类:

  • 0x0:Miscellaneous: 杂散类;
  • 0x1:Trace Sink: 最终接收trace信息的组件,包括有TPIU,ETB,router;
  • 0x2: Trace Link:trace信息传递过程中需要的中间组件,包括有router, filter, FIFO;
  • 0x3: Trace Source: 产生trace信息的master;
  • 0x4 Debug Control:debug的控制器;
  • 0x5: Debug Logic: 具有debug功能的master;
  • 0x6: Performance Monitor: 性能的检测器检测的master;
  • 0x7-0xF: Reserved。

再通过次备号将设备具体细分。
【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】,# ARM Coresight 系列,coresight,DEVARCH,DEVID,DEVTYPE
上篇文章:【ARM Coresight 系列文章 2.3 - Coresight 寄存器】
下篇文章:【ARM Coresight 系列文章 2.5 - Coresight 寄存器:PIDR0-PIDR7,CIDR0-CIDR3 介绍】
文章来源地址https://www.toymoban.com/news/detail-658222.html

到了这里,关于【ARM Coresight 系列文章 2.4 - Coresight 寄存器:DEVARCH,DEVID, DEVTYPE】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ARM寄存器组织

     ARM有37个32位长的寄存器: 1个用做PC(Program Counter); 1个用做CPSR(Current Program Status Register); 5个用做SPSR(Saved Program Status Registers); 30个通用寄存器。 ARM处理器共有37个寄存器,被分为若干个组(BANK),这些寄存器均为32位的寄存器。6个状态寄存器,用以标识CPU的工作状

    2024年02月01日
    浏览(67)
  • Arm汇编---寄存器

    寄存器:r0~r15, sp, lr, sb, sl, fp, ip, pc 条件码:eq, ne, hs, lo, mi, pl, vs, vc, hi, ls, ge, lt, gt, le, al ------------------------------------------ 一、数据寄存器 --------------------------------------------- ------------------------------------------ 二、指针寄存器 --------------------------------------------- --------------------

    2024年02月02日
    浏览(31)
  • ARM处理器有哪些工作模式和寄存器?各寄存器作用是什么?ARM异常中断处理流程?

    快速学习嵌入式开发其他基础知识? 返回专栏总目录 《嵌入式工程师自我修养/C语言》 Tip📌:鼠标悬停双虚线/句,可获得更详细的描述   ARM处理器有多种工作模式,如下表所示。应用程序正常运行时,ARM处理器工作在 用户模式(User mode) ,当程序运行出错或有中

    2024年02月21日
    浏览(41)
  • ARM中的寄存器

    ARM工作模式 ARM有8个基本的工作模式 User 非特权模式,一般在执行上层的应用程序时ARM处于该模式 FIQ 当一个高优先级中断产生后ARM将进入这种模式 IRQ 当一个低优先级中断产生后ARM将进入这种模式 SVC 当复位或执行软中断指令后ARM将进入这种模式 Abort 当产生存取异常时ARM将进

    2024年02月03日
    浏览(27)
  • ARM架构(寄存器点灯)

    本篇文章我们来讲解一下如何使用寄存器点亮一个LED灯,一般对于新人来说都是使用HAL库或者标准库来操作的,但是学习寄存器有助于我们了解更加深入的知识,这加会提高我们对ARM架构的理解。 首先第一步我们需要先找到LED的原理图,确定对应的引脚,然后知道是高电平点

    2024年02月15日
    浏览(43)
  • 12.3 ARM寄存器组织

    目录 ARM寄存器组织(一) 寄存器 概念 作用 分类 ARM寄存器 ARM寄存器组织(二) 专用寄存器 R15(PC,Program Counter) R14(LR,Link Register) R13(SP,Stack Pointer) ARM寄存器组织(三) CPSR寄存器 ARM寄存器组织(一) 寄存器 概念 寄存器是处理器内部的存储器,没有地址 C语言中register存储在寄

    2024年02月13日
    浏览(28)
  • ARM编程模型-寄存器组

    Cortex A系列ARM处理器共有40个32位寄存器,其中33个为通用寄存器,7个为状态寄存器。usr模式和sys模式共用同一组寄存器。 通用寄存器包括R0~R15,可以分为3类: 未分组寄存器R0~R7 分组寄存器R8~R14、R13(SP) 、R14(LR) 程序计数器PC(R15)、R8_fiq-R12_fir为快中断独有 在不同模式下,名称相同的

    2024年02月10日
    浏览(34)
  • 【ARM】——当前程序状态寄存器 CPSR

    Current Program Status Register 即 CPSR,当前程序状态寄存器,可以在任何处理器模式下被访问。它包含了条件标志位、中断禁止位,当前处理器模式标志以及其他的一些控制和状态位。 除了 usr 和 sys 模式外,每一种处理器模式下都有一个专用的物理寄存器,称为 SPSR(备份程序状态寄

    2024年02月03日
    浏览(33)
  • ARM汇编寄存器和常用指令详解

    对于32位及其以下的ARM处理器来说,函数调用规则如下: 父函数与子函数的入口参数以此通过 R0~R3 这4个寄存器传递。 父函数在调用子函数前先将子函数入口参数存入 R0~R3 寄存器中,若只有一个入口参数则使用 R0 寄存器传递,若有2个入口参数则使用 R0 和 R1 寄存器传递,以

    2024年02月03日
    浏览(35)
  • day3 ARM寄存器组织

    目录 寄存器  ARM寄存器 专用寄存器 CPSR寄存器 概念: 寄存器是处理器内部的存储器,没有地址; 作用: 一般用于暂时存放参与运算的数据和运算结果; 分类: 包括通用寄存器、专用寄存器、控制寄存器;   注:在某个特定模式下只能使用当前模式下寄存器,一个模式下

    2024年02月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包