文章目录
- 1.1 DEVARCH(device architecture register)
- 1.2 DEVID(Device configuration Register)
- 1.3 DEVTYPE(Device Type Identifier Register)
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位,只读。
如果这几个寄存器没有使用到,实现时,全部设置为0。如果对应的组件是可以配置的,ARM推荐这几个寄存器可以填写该组件的版本升级信息或者是改动信息。
偏移地址分别是:0xFC8, 0xFC4, 0xFC0。
1.3 DEVTYPE(Device Type Identifier Register)
该寄存器中包含了组件的具体类型信息,通过 MAJOR 位域(主设备号)和 SUB 位域(次设备号)的组合值来表示。
通过主设备号(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。
再通过次备号将设备具体细分。