[RTEMS Project] #3690: Add support for Eclipse Target Communications Framework (TCF)

RTEMS trac trac at rtems.org
Tue Feb 12 23:15:41 UTC 2019


#3690: Add support for Eclipse Target Communications Framework (TCF)
---------------------------------------+---------------------
 Reporter:  Joel Sherrill              |       Owner:  (none)
     Type:  enhancement                |      Status:  new
 Priority:  normal                     |   Milestone:
Component:  tool                       |     Version:
 Severity:  normal                     |  Resolution:
 Keywords:  Eclipse, libdebugger, gdb  |  Blocked By:
 Blocking:                             |
---------------------------------------+---------------------
Description changed by Chris Johns:

Old description:

> 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.
>
> This needs to be supported in a manner that does not duplicate code with
> libdebugger but leverages it. The end goal is to have no duplication
> between libdebugger and TCF core support. This may require providing an
> interface to debug services in RTEMS.
>
> 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.
>
> **Skills Needed**
>
> You need good C and C++ skills with a proven record. Also need to show
> socket level and networking programming skills. You will need to
> comfortable with low-level processor details.
>
> **Difficulty**
>
> We consider this an advanced project. It will require someone to "debug a
> debug agent." The debug agent will have to deal with the refactoring
> mentioned as well as careful attention to locking in order to avoid
> killing the running RTEMS image.

New description:

 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.

 2. Add the TCF agent code to `libdebugger` under `tcf`.

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

--

--
Ticket URL: <http://devel.rtems.org/ticket/3690#comment:2>
RTEMS Project <http://www.rtems.org/>
RTEMS Project


More information about the bugs mailing list