Debugging / controlling the CPU via JTAG #21
-
I searched the NEORV32 data sheet but could not find any information about JTAG debugging. So my question is: Does the NEORV32 offer a JTAG-Debbuging module? If so: Does it adhere to the RISC-V Debug Specification? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
The NEORV32 does not provide any hardware in-circuit debugging module (yet). When I started this project, I did not see any need for some kind of advanced in-circuit debugging. I mean, it is a soft-core processor that can be completely simulated giving you access to every single signal, right? 😉 However, as the software overheads are getting more and more complex, simulation takes quite some time and at some point it is not very productive anymore. Of course you can always do "in-circuit debugging" using The debugger is already on the CPU's ToDo list but unfortunately I haven't had the time to deal with it so far. |
Beta Was this translation helpful? Give feedback.
-
Just for the records: On-chip debugging via OpenOCD + gdb has been added with version |
Beta Was this translation helpful? Give feedback.
The NEORV32 does not provide any hardware in-circuit debugging module (yet).
When I started this project, I did not see any need for some kind of advanced in-circuit debugging. I mean, it is a soft-core processor that can be completely simulated giving you access to every single signal, right? 😉
However, as the software overheads are getting more and more complex, simulation takes quite some time and at some point it is not very productive anymore. Of course you can always do "in-circuit debugging" using
printf
and the NEORV32 runtime environment provides some help to check for asynchronous events (unexpected traps), but this is rather a hacky approach and far away from established debugg…