- 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)