[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