Projet_SETI_RISC-V/neorv32/sw/openocd/openocd_neorv32.cfg
2023-03-06 14:48:14 +01:00

57 lines
1.7 KiB
INI

# openOCD configuration file for generic FT2232H-based USB-jtag interface
# references: https://mcuoneclipse.com/2019/10/20/jtag-debugging-the-esp32-with-ft2232-and-openocd/
# ----------------------------------------------
# Interface/adapter configuration
# ----------------------------------------------
# FT2232H pinout:
# TCK: D0
# TDI: D1
# TDO: D2
# TMS: D3
# TRST: D4 (low-active, optional - pull input pin high if not used)
adapter driver ftdi
ftdi vid_pid 0x0403 0x6010
ftdi channel 0
ftdi layout_init 0x0038 0x003b
adapter speed 2000
ftdi layout_signal nTRST -ndata 0x0010 -noe 0x0040
transport select jtag
# ----------------------------------------------
# Target configuration
# ----------------------------------------------
set _CHIPNAME neorv32
set _JTAGID 0x0cafe001
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id $_JTAGID
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME.0 riscv -chain-position $_TARGETNAME
# ----------------------------------------------
# Access memory via program buffer
# ----------------------------------------------
riscv set_mem_access progbuf
# ----------------------------------------------
# Scratch pad RAM
# ----------------------------------------------
# work area ("scratch pad RAM"): beginning of (internal) DMEM, 256 bytes, requires(!) backup
$_TARGETNAME.0 configure -work-area-phys 0x80000000 -work-area-size 256 -work-area-backup 1
# ----------------------------------------------
# Expose NEORV32-specific CSRs
# ----------------------------------------------
riscv expose_csrs 4032=mxisa
# ----------------------------------------------
# Start session
# ----------------------------------------------
init
halt
echo "Target HALTED."
echo "Ready for remote connections."