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

RTEMS trac trac at rtems.org
Fri Feb 25 19:59:53 UTC 2022


#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, SoC,      |  Blocked By:
  ecosystem, testing, large                      |
 Blocking:                                       |
-------------------------------------------------+-------------------------
Description changed by Joel Sherrill:

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.
>
> 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.
>
> This is a large (350-hour) project.

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.

 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.

--

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


More information about the bugs mailing list