请阅读【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 组件的架构信息。
bits[31:21] 定义了组件架构:
- Bits[31:28] 指明 JEP106 连续码
- Bits[27:21] 指明 JEP106 识别码, 也就是制造商识别码,ARM 公司的是 0x3B。
对于 ARM 架构来说,这11bits 是固定的 0x23B。
- bits[19:16] 架构版本号,也是就 ARCHID 的版本号。
- bits[15:0] 架构 ID,ARM 公司很多组件都有其对应的 ID号,如下:
1.2 DEVID(Device configuration Register)
这个寄存器的功能,由实现进行定义,总共包括3个寄存器,DEVID,DEVID1,DEVID2,每个寄存器32位,只读。
其中 DEVID 寄存器用来指明该组件的功能:
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推荐这几个寄存器可以填写该组件的版本升级信息或者是改动信息。
偏移地址分别是:0xFC8, 0xFC4, 0xFC0。
1.3 DEVTYPE(Device Type Identifier Register)
该寄存器中包含了组件的具体类型信息,通过 MAJOR 位域(主设备号)和 SUB 位域(次设备号)的组合值来表示。
通过主设备号(MAJOR) ARM 对组件分成了 7 大类:文章来源:https://www.toymoban.com/news/detail-658222.html
- 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.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模板网!