- Change Log
- Preface
- 1Introduction
- 2Reading Order
- 3System Overview
- 4Debug Module (DM)
- 5RISC-V Debug
- 6Trigger Module
- 7Debug Transport Module (DTM)
- 8JTAG Debug Transport Module
- Hardware Implementations
- Debugger Implementation
- Debug Module Interface Access
- Checking for Halted Harts
- Halting
- Running
- Single Step
- Accessing Registers
- Reading Memory
- Writing Memory
- Triggers
- Handling Exceptions
- Quick Access
- IDCODE (at 0x01)
- DTM Control and Status (
dtmcs
, at 0x10)
- Debug Module Interface Access (
dmi
, at 0x11)
- BYPASS (at 0x1f)
- Debug Control and Status (
dcsr
, at 0x7b0)
- Debug PC (
dpc
, at 0x7b1)
- Debug Scratch Register 0 (
dscratch0
, at 0x7b2)
- Debug Scratch Register 1 (
dscratch1
, at 0x7b3)
- Trigger Select (
tselect
, at 0x7a0)
- Trigger Data 1 (
tdata1
, at 0x7a1)
- Trigger Data 2 (
tdata2
, at 0x7a2)
- Trigger Data 3 (
tdata3
, at 0x7a3)
- Trigger Info (
tinfo
, at 0x7a4)
- Trigger Control (
tcontrol
, at 0x7a5)
- Machine Context (
mcontext
, at 0x7a8)
- Supervisor Context (
scontext
, at 0x7aa)
- Match Control (
mcontrol
, at 0x7a1)
- Instruction Count (
icount
, at 0x7a1)
- Interrupt Trigger (
itrigger
, at 0x7a1)
- Exception Trigger (
etrigger
, at 0x7a1)
- Trigger Extra (RV32) (
textra32
, at 0x7a3)
- Trigger Extra (RV64) (
textra64
, at 0x7a3)
- Debug Module Status (
dmstatus
, at 0x11)
- Debug Module Control (
dmcontrol
, at 0x10)
- Hart Info (
hartinfo
, at 0x12)
- Hart Array Window Select (
hawindowsel
, at 0x14)
- Hart Array Window (
hawindow
, at 0x15)
- Abstract Control and Status (
abstractcs
, at 0x16)
- Abstract Command (
command
, at 0x17)
- Abstract Command Autoexec (
abstractauto
, at 0x18)
- Configuration String Pointer 0 (
confstrptr0
, at 0x19)
- Next Debug Module (
nextdm
, at 0x1d)
- Abstract Data 0 (
data0
, at 0x04)
- Program Buffer 0 (
progbuf0
, at 0x20)
- Authentication Data (
authdata
, at 0x30)
- Halt Summary 0 (
haltsum0
, at 0x40)
- Halt Summary 1 (
haltsum1
, at 0x13)
- Halt Summary 2 (
haltsum2
, at 0x34)
- Halt Summary 3 (
haltsum3
, at 0x35)
- System Bus Access Control and Status (
sbcs
, at 0x38)
- System Bus Address 31:0 (
sbaddress0
, at 0x39)
- System Bus Address 63:32 (
sbaddress1
, at 0x3a)
- System Bus Address 95:64 (
sbaddress2
, at 0x3b)
- System Bus Address 127:96 (
sbaddress3
, at 0x37)
- System Bus Data 31:0 (
sbdata0
, at 0x3c)
- System Bus Data 63:32 (
sbdata1
, at 0x3d)
- System Bus Data 95:64 (
sbdata2
, at 0x3e)
- System Bus Data 127:96 (
sbdata3
, at 0x3f)
- Privilege Level (
priv
, at virtual)
- Serial Control and Status (
sercs
, at 0x34)
- Serial TX Data (
sertx
, at 0x35)
- Serial RX Data (
serrx
, at 0x36)