What is the Target Communication Framework (TCF)?
The Target Communication Framework (TCF) is a proposed addition to the Eclipse Target Management Project and/or the Eclipse Communication Framework Project (ECF). Until accepted by the Eclipse Legal IP Clearance process, TCF as well as discussions regarding it are available from bugzilla on bug 210751.
TCF is a lightweight extensible protocol for target communications, with a plain-C reference implementation of a target agent and Java implementation for client, as well as some exemplary tools for remote file access and a debugging demo.
TCF is an Open Source, vendor-neutral, lightweight, extensible protocol mainly for communicating with embedded systems (targets). The protocol is transport-agnostic, so does not depend on any specific transport such as TCP/IP, Serial Line, SSH tunnel or other bus system. It uses JSON as preferred data marshalling language, supports auto-discovery and transparent forwarding of services on top of it.
In addition to the core Protocol and associated documentation, the original contribution also consists of:
- Definition of some core services:
- Locator (for addressing)
- Remote File Access (File System Service)
- Remote Process List (System Monitor Service)
- Several Debug Services (Memory, Run Control, Registers, Stacktrace, Breakpoints).
- A reference agent implementation in plain C
- A reference client implementation in Java
- Example tools using the services:
- Remote System Explorer (RSE) file service implementation, for remote file browsing
- RSE process service implementation, for remote process browsing
- Eclipse Debug Platform integration for debug demo
- DSDP-DD integration of core DD services.
How do I get started looking at TCF?
Get the contribution archive from bug 210751 and look at the index.html documentation and/or the TCF Getting Started document.
What other components does TCF depend on?
The core TCF protocol is just a specification, so it does not depend on anything -- the protocol can be implemented in any language within any environment.
The reference agent can currently be built on Linux, Windows and VxWorks and uses POSIX services only. Depending on what Services the agent should implement, an ELF reader (libelf) is required to perform debug line number translation. Currently, this is done on Linux only.
The Java core protocol client also does not have any particular dependencies.
The RSE, Platform Debug, and DSDP-DD example tools depend on the RSE, Platform Debug and DSDP-DD components respectively.
Where can I ask questions about TCF?
Write an E-Mail to the email@example.com mailing list.
How does TCF compare to ECF?
This is currently being investigated.
How can I contribute to this FAQ?
This is a collaborative FAQ. Feel free to correct anything you think may be wrong, not clearly answered, or has a Typo. Also feel free to add more questions and answers to this document.
The idea is that through collaborative editing, the document will eventually evolve. We welcome all contributions, anybody is invited to edit this Wiki page. Don't be shy about breaking anything - the page is being monitored and obvious mis-edits will be cleared by all the knowledgeable people monitoring the page.
To monitor the page yourself, click on the "Watch" link in the left-hand navigation pane.