I managed to build and set up the toolchain for the c-riscv-blink program. I also managed to connect a gdb server over the wishbone tool, which seems to work in principle. I can step through the program, display the value of variables, etc. However, when I try to set a breakpoint, the execution does not stop. Is it something I am doing wrong or does this not work? Where should I start to investigate?
Steps to reproduce:
Generate and flash soc with following command from the soc directory:
If set a breakpoint or hardware breakpoint (gdb command b or hb respectively) for example on line 29 in main on the uart_rxtx_write call and continue execution, I can still type in the terminal, the characters are echoed back and the LEDs toggle without the breakpoint ever stopping the execution.
I managed to build and set up the toolchain for the c-riscv-blink program. I also managed to connect a gdb server over the wishbone tool, which seems to work in principle. I can step through the program, display the value of variables, etc. However, when I try to set a breakpoint, the execution does not stop. Is it something I am doing wrong or does this not work? Where should I start to investigate?
Steps to reproduce:
./icebreaker.py --debug --csr-csv build/csr.csv
./icebreaker.py --debug --csr-csv build/csr.csv --flash
make
make prog
wishbone-tool --uart /dev/ttyUSB1 -s terminal -s gdb --csr-csv build/csr.csv
riscv64-unknown-elf-gdb riscv-blink.elf -ex 'target remote localhost:3333'
If set a breakpoint or hardware breakpoint (gdb command b or hb respectively) for example on line 29 in main on the uart_rxtx_write call and continue execution, I can still type in the terminal, the characters are echoed back and the LEDs toggle without the breakpoint ever stopping the execution.
Any help would be appreciated.