I’m currently working on programming my FPGA using the ChipWhisperer CW305 board, and I’m trying to load an application onto the FPGA as described in the ibex-demo-system directory (link).
The demo system in the directory is tailored for the Arty-A7 board, but I’m adapting it for the CW305. I’ve successfully loaded a bitstream onto the FPGA using a Jupyter Notebook.
However, when attempting to load an application onto the FPGA using the following command:
bash
./util/load_demo_system.sh run ./sw/c/build/demo/hello_world/demo ./util/cw-openocd-cfg.tcl
I encounter issues. I suspect the problem might be with the cw-openocd-cfg.tcl
file, which I attempted to configure based on the arty-a7-openocd-cfg.tcl
file from the ibex-demo-system.
Open On-Chip Debugger 0.11.0
Licensed under GNU GPL v2
For bug reports, read
OpenOCD: Bug Reporting
Info : clock speed 500 kHz
Error: JTAG scan chain interrogation failed: all zeroes
Error: Check JTAG interface, timings, target power, etc.
Error: Trying to use configured scan chain anyway…
Error: riscv.cpu: IR capture error; saw 0x00 not 0x01
Warn : Bypassing JTAG setup events due to errors
Error: dtmcontrol is 0. Check JTAG connectivity/board power.
Warn : target riscv.cpu examination failed
Info : starting gdb server for riscv.cpu on 3333
Info : Listening on port 3333 for gdb connections
none separate
Error: Target not examined yet
Can anyone provide assistance or guidance on how to correctly configure the cw-openocd-cfg.tcl
file for use with the ChipWhisperer CW305 board? Feel free to ask if you need more details about my setup or if further clarification is required. Any help would be greatly appreciated!
cw-openocd-cfg.tlc content:
ChipWhisperer MPSSE
adapter driver ftdi
transport select jtag
The pid needs to be specified and depedends on
hardware in use. ChipWhisperer-Lite = 0xace2 for example.
ftdi_vid_pid 0x2b3e 0xace2
If you get an error about ‘ftdi’ being an
unknown command, change them to use an
underscore between ‘ftdi’ and the parameter. e.g.:
#ftdi_channel 1
ftdi_channel 1
ftdi_layout_init 0x001B 0x001B
reset_config none
Configure JTAG chain and the target processor
set _CHIPNAME riscv
Ibex Demo System JTAG IDCODE
set _EXPECTED_ID 0x11001CDF
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id $_EXPECTED_ID -ignore-version
set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME riscv -chain-position $_TARGETNAME
ftdi_layout_signal nSRST -data 0x0010
ftdi_layout_signal SWD_EN -data 0x0100
ftdi_layout_signal SWDIO_OE -data 0x0200
adapter speed 500
riscv set_prefer_sba on
reset_config none
init
whoops
reset_config srst_push_pull