#3690 assigned enhancement

Add support for Eclipse Target Communications Framework (TCF)

Reported by: Joel Sherrill Owned by: Joel Sherrill
Priority: normal Milestone:
Component: tool Version:
Severity: normal Keywords: Eclipse, libdebugger, gdb, SoC, ecosystem, large
Cc: Blocked By:
Blocking:

Description (last modified by Joel Sherrill)

This ticket is to track adding RTEMS support for the Eclipse TCF. From https://www.eclipse.org/tcf/.

  • TCF is a lightweight, extensible network protocol for driving embedded systems (targets).
  • On top of the protocol, TCF provides a complete modern debugger for C/C++ and Ada, as well as the "Target Explorer" for system management. TCF works out of the box for Intel, PPC and ARM Linux targets including the Raspberry Pi. It supports Proxying and Tunneling for IoT devices, and is particularly strong for multi-process debugging even with slow communication links.

There is an implementation of the agent which is under an appropriate license. It is available from https://git.eclipse.org/c/tcf/org.eclipse.tcf.agent.git.

TCF appears to support more than debugging though. Part of this ticket will be to identify what features need to be supported and how to enable them.

This needs to be supported by:

  1. Refactoring libdebugger separating the gdbserver parts into a gdbserver directory and adding a suitable top level that integrates the needed server parts of a debugging agent running on RTEMS, the debugging protocol (gdbserver), the transport and the RTEMS architecture backend support.
  1. Add the TCF agent code to libdebugger under tcf.
  1. Integrate the extra services and features TCF provides.

Note, SMP support in libdebugger is experimental and not full implemented on ARM.

See #3326 for an alternate and older description of this project.

Skills Needed

You need good C and C++ skills with a proven record. You need to show socket level and networking programming skills. You will need to comfortable with low-level processor details for a processor libdebugger currently supports.

Difficulty

We consider this an advanced project. It will require being able to "debug a debug agent." You will have to deal with the refactoring mentioned as well as careful attention to locking in order to avoid killing the running RTEMS image.

This is a large (350-hour) project.

Change History (9)

comment:1 Changed on 02/12/19 at 23:01:43 by Joel Sherrill

Description: modified (diff)
Keywords: libdebugger gdb added; SoC removed

comment:2 Changed on 02/12/19 at 23:15:41 by Chris Johns

Description: modified (diff)

comment:3 Changed on 02/14/19 at 16:46:47 by Joel Sherrill

Description: modified (diff)
Keywords: SoC added

comment:4 Changed on 02/04/22 at 18:50:09 by Gedare Bloom

Keywords: ecosystem testing large added

comment:5 Changed on 02/25/22 at 18:18:13 by Gedare Bloom

Description: modified (diff)

comment:6 Changed on 02/25/22 at 19:59:53 by Joel Sherrill

Description: modified (diff)

comment:7 Changed on 02/16/24 at 15:37:08 by Joel Sherrill

Just noting that this is still desirable. I have some TCF support code which will be part of the full TCF support. But the debugging support is still not implemented.

comment:8 Changed on 02/17/24 at 02:18:25 by Gedare Bloom

Keywords: testing removed

comment:9 Changed on 02/17/24 at 05:17:11 by Gedare Bloom

Owner: set to Joel Sherrill
Status: newassigned
Note: See TracTickets for help on using tickets.