[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