ā€œCā€ Standard Extension for Compressed Instructions, Version 2.0

Table 12.5: Instruction listing for RVC

https://riscv.org/wp-content/uploads/2017/05/riscv-spec-v2.2.pdf

Example:

80000160: 01 A0 21 8C 01 00
80000160: A001 - c.j    0x80000160
80000162: 8C21 - c.xor  s0,s0,s0
80000164: 0001 - c.nop

c.j < offset >

Description:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
1 0 1 A11 A4 A9 A8 A10 A6 A7 A3 A2 A1 A5 0 1
A001 c.j <+0> 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
A009 c.j <+2> 1 0 1 0 0 0 0 0 0 0 0 0 1 0 0 1
A011 c.j <+4> 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1
A019 c.j <+6> 1 0 1 0 0 0 0 0 0 0 0 1 1 0 0 1
A021 c.j <+8> 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1
AFFD c.j <+0x7FE> 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 1
BFFD c.j <-2> 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1
BFF5 c.j <-4> 1 0 1 1 1 1 1 1 1 1 1 1 0 1 0 1
B001 c.j <-0x800> 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 1

--

c.jal < offset >

Description:

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
0 0 1 A11 A4 A9 A8 A10 A6 A7 A3 A2 A1 A5 0 1
2001 c.jal <+0> 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1
3FFD c.jal <-2> 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 1

--

RV32C, RV64C Instructions - https://msyksphinz-self.github.io/riscv-isadoc/html/rvc.html


UsbDriverTool - https://visualgdb.com/UsbDriverTool/

um232h.cfg

C:\Users\anok\.platformio\packages\tool-openocd-gd32v\scripts\interface\ftdi\um232h.cfg

pio pkg install -g --tool "nuclei/tool-openocd-nuclei@^0.10.1"

Nuklei download - https://www.nucleisys.com/download.php

OpenOCD download - https://github.com/openocd-org/openocd/releases

OpenOCD script for GD32VF103 with improved reset procedure: elfmimi/gd32vf103.cfg

DANIEL MANGUM RISC-V


Google's RISCV-DV is a SV/UVM based open-source instruction generator for RISC-V processor verification.

RISC-V Disassembler