#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
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.

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.

Change History (3)

comment:1 Changed on Feb 12, 2019 at 11:01:43 PM by Joel Sherrill

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

comment:2 Changed on Feb 12, 2019 at 11:15:41 PM by Chris Johns

Description: modified (diff)

comment:3 Changed on Feb 14, 2019 at 4:46:47 PM by Joel Sherrill

Description: modified (diff)
Keywords: SoC added
Note: See TracTickets for help on using tickets.