#3690 new enhancement

Add support for Eclipse Target Communications Framework (TCF)

Reported by: Joel Sherrill Owned by:
Priority: normal Milestone:
Component: tool Version:
Severity: normal Keywords: Eclipse, libdebugger, gdb, SoC, ecosystem, testing, 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 (6)

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)
Note: See TracTickets for help on using tickets.