CSR 位字段

RISC-V tinfo CSR 寄存器详解

地址 0x7A4特权级 M模式/Debug模式访问 读写(写无效果) / XLENDebug、Trace 与 trigger CSR

tinfo(0x7A4)报告 tselect 当前选择的触发器支持的类型和 Sdtrig 版本;无触发器,或 type 不可写且 version 为 0 时,可以省略它。

字段映射

按 bit 字段理解 tinfo

3 个关键字段
XLEN-1:24

Reserved

只读零

保留位,读为零。

这个字段控制什么

  • - 保留位,读为零。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

打开官方手册
23:16

version

只读

已实现的 Sdtrig 版本:0 表示 2023-02-02 的旧版本,1 表示已批准的 1.0 版本。

这个字段控制什么

  • - 已实现的 Sdtrig 版本:0 表示 2023-02-02 的旧版本,1 表示已批准的 1.0 版本。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

打开官方手册
15:0

info

只读

每个 tdata1 类型编号对应一位;置位表示当前所选触发器支持该类型。若所选触发器不存在,该字段为 1。

这个字段控制什么

  • - 每个 tdata1 类型编号对应一位;置位表示当前所选触发器支持该类型。若所选触发器不存在,该字段为 1。

常见取值

这个字段更适合结合上下文字段解释,不用按固定枚举背诵。

打开官方手册

读这个 CSR 时先看什么

  • - 先确认当前 hart 是否实现 tinfo,未实现或权限不足的访问会触发非法指令异常。
  • - 结合地址 0x7A4 和最低访问特权级(Machine/Debug)判断软件是否可以直接读取。
  • - 读取保留位或 WARL/WLRL 位时不要假设固定值,应按规范和实现返回值解释。

写入前的风险检查

  • - 写 tinfo 没有任何效果;使用读取结果枚举当前由 tselect 选择的触发器能力。

放回真实流程里理解

1

初始化或进入相关特权流程时,软件先读取 tinfo 了解当前状态。

2

读取 version 和 info;若 tinfo 访问异常,则按规范读取 tdata1.type 发现触发器类型。