# 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."