blob: 42824e29588976aa0969b08d109482be1941fe54 [file] [log] [blame]
<div id="bigbuttons">
<h3>Primary Links</h3>
<li><a id="buttonDownload" href="downloads.php" title="Download">
Eclipse TCF Distribution, Software Install Site</a></li>
<li><a id="buttonDocumentation" href="documentation.php" title="Documentation">
Tutorials, Examples, Videos, Reference Documentation</a></li>
<li><a id="buttonSupport" href="support.php" title="Support">
Bug Tracker, Forum</a></li>
<li><a id="buttonInvolved" href="developers.php" title="Getting Involved">
git, Workspace Setup, Wiki, Committers</a></li>
<div id="midcolumn">
<h3>Eclipse TCF (Target Communication Framework)</h3>
<div id="introText">
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 file transfer and 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.
<img class="displayed" src="/tcf/images/te_on_pi.png" alt="TCF Target Explorer on Raspberry Pi" border="0" width="609px" height="413px" />
The TCF Framework makes it very easy to build your own tools using the components provided:
<li>The lightweight <i>agent</i> under EDL / BSD license is written in C, and very easy to port or embed
in custom OS's or "bare metal"" hardware debuggers and simulators.</li>
<li>DWARF reader and Symbol Services are written in C and can be used independent of the debugger.</li>
<li>TCF Language Bindings for C, Java, Python and Lua allow driving your tools from scripts.</li>
<p>See the <a href="">TCF Wiki</a> for details.
The TCF Project provides a modular service-based communication system for building control, debug, and analysis
tools for embedded systems. TCF clients and services can discover each other at run-time, providing for streamlined
out-of-box experience. TCF uses a single communication link for all tooling needs, simplifying target communications
setup and ensuring a consistent view of the target state.
TCF can intelligently cache data on the host, reducing communication overhead and improving run-time performance.
A reference Eclipse view is available today to help you get started, as well as a complete C/C++ debugger for Linux.
The lightweight reference agent under EDL / BSD license is easy to port to other environments such as
hardware debuggers, trace units or simulators. Language bindings are available for a range of languages,
including C, Java, Python, and Lua, on both the host and the target side.
<div id="rightcolumn">
<div class="sideitem">
<h3>Current Status</h3>
<p>TCF 1.3 is released with Eclipse Mars, June 2015.</p>
<div class="sideitem">
<h3>TCF Terminals</h3>
<p><i>April 25, 2014 -</i>TCF Terminals has been restructured and is now on the <a href="">Marketplace</a>.
<div class="sideitem">
TCF Debug supports ARM</h3>
<p><i>March 25, 2013 -</i>Initial <a href="">
ARM debugging support</a> has been added to TCF. Look at the <a href="">Raspberry Pi HOWTO</a>.
<div class="sideitem">
<h3>TCF Testimonials</h3>
By replacing a gdb based debugger with TCF, Xilinx has increased the performance
of basic debugger commands up to 50 times, while providing a much more stable product.<br/>
The modular and asynchronous approach of TCF is so compelling that we are moving
over our JTAG tools to use the same framework.</i><br/><br/>
&mdash; Tomas Evensen, Chief Scientist Embedded Software, Xilinx</p>