本规范中描述的调试接口支持以下特性:
1.
所有hart寄存器(包括csr)都可以读取/写入。
2.
内存既可以从hart的角度访问,也可以直接通过系统总线访问,或者两者都可以。
3.
支持RV32、RV64和后续版本的RV128。
4.
平台中的任何hart都可以独立调试。
5.
调试器可以发现几乎所有它需要了解自己的东西,而不需要用户配置。
6.
每个hart可以从执行的第一个指令开始调试。
7.
RISC-V hart可以在软件断点指令执行时停止。
8.
单步硬件一次只能执行一条指令。
9.
调试功能独立于所使用的调试传输。
10.
调试器不需要知道它正在调试的hart的任何微架构。
11.
hart的任意子集可以同时停止和恢复。
(可选)
12.
任意指令可以在停止的hart上执行。
这意味着当一个核心有额外的或自定义的指令或状态时,不需要新的调试功能,只要存在可以将该状态移动到GPRs中的程序即可。
(可选)
13.
可以不停机地访问寄存器。
(可选)
14.
一个run状态的halt可以被directed执行一个简短的指令序列,开销很小。
(可选)
15.
一个系统总线主允许内存访问而不涉及任何hart。
(可选)
16.
当触发器与PC、读/写地址/数据或指令操作码匹配时,RISC-V hart会停止。
(可选)
本文档不建议硬件测试、调试或错误检测技术的策略或实现。
Scan、BIST等不在本规范范围内,但本规范无意限制其在RISC-V系统中的使用。
可以调试使用软件线程的代码,但对它没有特殊的调试支持。