tapasco
tapasco copied to clipboard
Reintroduce tapasco-debug
tapasco-debug
has proven quite useful. However, it is not included in the new runtime.
Yes, that issue is part of the original PR. I decided to not port the old tapasco-debug as that one was quite flaky and failed easily, e.g. by changing the terminal size.
The new version could use a proper TUI library like https://github.com/fdehau/tui-rs
I have a few changes to the runtime aligned together with fixes for NetFPGA SUME which simplify writing a tool like tapasco-debug by allowing unsafe
access to PE memory.
Maybe we could write a list of desired features:
- Change the menu: Show all PEs + Platform components. Number or cursor selects desired one.
- Pressing enter on the item allows access, e.g.:
- Peek + Poke memory of that component
- Show register values for PEs
- Show status registers for INTc and DMA (Platform dependent)
- Dump local memory (If available)
I guess that is the main functionality of Tapasco Debug?! Anything else that is needed? I would drop support for the latency test as that is already handled by the benchmark.
For my typical usage, I need the following features:
- PE/memory list and address map (could be combined into a single screen)
- PE register values
- Dump local memory
As interrupt controller and DMA status information is platform dependend, maybe we can move that into a separate application?
If the interrupt controller and DMA are properly registered in the status core, the debug application can simply show the correct information depending on the platform.
libtapasco_test has some of these features btw. (fetching local memory etc.), if you need a CLI based solution for now.
On the existing tapasco-debug, users are able to see only the first 5 registers.
One option that might be useful is to be able to see more register values (more than 5 of them) if users need it
As TaPaSCo does not know the number of parameter we could use a default of e.g. the first 3 and add +/- to change the number of shown parameters.
For my typical usage, I need the following features:
- PE/memory list and address map (could be combined into a single screen)
- PE register values
- Dump local memory
As interrupt controller and DMA status information is platform dependend, maybe we can move that into a separate application?
ditto for me ! This is also my typical usage. I use TaPaSCo new version but in parallel with the old version. The old version I use only for debug purposes. So I apparently miss this feature in new version.
@zyno42 Could you please update or remove the documentation (under documentation/tapasco-debug.md
)?