[SEGGER RTT](
https://www.segger.com/products/debug-probes/j-link/technology/real-time-transfer/about-real-time-transfer/)
Although a proprietary solution, this is very, very fast, and I'd love to have something similar available for RISC-V too.
I know of two different usages for this RTT mechanism:
- an independent debug trace channel, like semihosting or SWO, but at least an order of magnitude faster.
- a real time tracing mechanism, used by System View (
https://www.segger.com/products/development-tools/systemview/)
For those who do not know how RTT works (if Alex from SEGGER is reading these messages, please correct me if I'm wrong), RTT is a software-only solution from the application point of view.
Instead of having the traced application forward the (fast) data stream to a physical device (like UART, ARM SWO, qSPI, I2C, etc), there is a local driver that writes the debug/trace stream to a local RAM circular buffer, and, in background for the application, the J-Link reads this buffer via JTAG and the debugger makes use of it in real-time, without any interaction with the running application, totally transparently.
Is this even possible with the current RISC-V debug specs?
Regards,
Liviu