tapasco icon indicating copy to clipboard operation
tapasco copied to clipboard

Reintroduce tapasco-debug

Open cahz opened this issue 4 years ago • 8 comments

tapasco-debug has proven quite useful. However, it is not included in the new runtime.

cahz avatar Feb 01 '21 17:02 cahz

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.

jahofmann avatar Feb 01 '21 18:02 jahofmann

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.

jahofmann avatar Feb 01 '21 18:02 jahofmann

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?

cahz avatar Feb 01 '21 19:02 cahz

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.

jahofmann avatar Feb 01 '21 19:02 jahofmann

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

sajjadtamimi avatar Feb 01 '21 20:02 sajjadtamimi

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.

jahofmann avatar Feb 01 '21 20:02 jahofmann

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.

BabarZKhan avatar Feb 01 '21 21:02 BabarZKhan

@zyno42 Could you please update or remove the documentation (under documentation/tapasco-debug.md)?

cahz avatar May 17 '22 11:05 cahz