dsdp/tm/tcf_0_3_x/org.eclipse.tm.tcf.docs/TCF Getting Started.html
author l12wang
Wed, 11 Nov 2009 16:36:23 -0600
changeset 114 ecab18a5e4de
parent 70 11a6943ebeb2
permissions -rw-r--r--
Changes corresponding to BreakpointsMediator change.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
70
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
     2
<html>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
     3
<head>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
     4
    <title>Target Communication Framework: Getting Started</title>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
     5
</head>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
     6
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
     7
<body lang='EN-US'>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
     8
  
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
     9
<h1>Target Communication Framework: Getting Started</h1>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    10
 
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    11
<p>Copyright (c) 2007, 2008 Wind River Systems, Inc. Made available under the EPL v1.0
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    12
<p>Direct comments, questions to the <a href="mailto:dsdp-tcf-dev@eclipse.org">dsdp-tcf-dev@eclipse.org</a> mailing list
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    13
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    14
<h2>Table of Contents</h2>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    15
<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    16
    <li><a href='#Workspace'>Creating Eclipse Workspace</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    17
    <li><a href='#Plugins'>TCF Plugins</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    18
    <li><a href='#Agent'>Building TCF Agent</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    19
    <li><a href='#Browsing'>Browsing Agent Source Code in CDT</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    20
    <li><a href='#RSE'>Using TCF With Remote System Explorer</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    21
    <li><a href='#Debugger'>Using TCF With Eclipse Debugger</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    22
</ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    23
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    24
<h2><a name='Workspace'>Creating Eclipse Workspace</a></h2>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    25
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    26
<p>Eclipse can be used for developing clients for TCF in Java. 
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    27
TCF host side code is organized into several Eclipse plug-in projects,
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    28
below are steps to create and populate Eclipse workspace with TCF projects:</p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    29
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    30
<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    31
   <li>Install JDK 1.5.0 or later, recommended 1.6.0
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    32
   <li>Install <b>Eclipse Classic SDK 3.4</b>, last tested with 3.4.2, recommended 3.4.2<br>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    33
       <a href='http://download.eclipse.org/eclipse/downloads/'>http://download.eclipse.org/eclipse/downloads/</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    34
   <li>Install <b>TM RSE SDK 3.0</b> or later, last tested with 3.0.3, recommended 3.0.3<br>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    35
       <a href='http://download.eclipse.org/dsdp/tm/downloads/'>http://download.eclipse.org/dsdp/tm/downloads/</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    36
   <li><b>Optional</b> dependencies for TCF/DSF/CDT integration: these are not required by
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    37
       TCF itself, and not needed for RSE integration or for TCF based debugger demo,
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    38
       use these for future development:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    39
       <ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    40
       <li>CDT (Eclipse C/C++ Development Tools SDK) 5.0 or later, last tested with 5.0.2, recommended 5.0.2<br>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    41
       <a href='http://www.eclipse.org/cdt/downloads.php'>http://www.eclipse.org/cdt/downloads.php</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    42
       <li>DD (Device Debug) SDK 1.0.0<br>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    43
       <a href='http://download.eclipse.org/dsdp/dd/downloads/'>http://download.eclipse.org/dsdp/dd/downloads/</a>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    44
       </ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    45
   <li>Checkout TCF code from <a href='http://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk'>Eclipse SVN repository</a>:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    46
       <pre>svn co svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/trunk</pre>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    47
   <li>Run Eclipse:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    48
      <pre>eclipse.exe -vm &lt;JDK path&gt;\bin\javaw.exe -data &lt;Workspace path&gt; -vmargs -Xmx200M</pre>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    49
   <li>Open "Java" perspective.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    50
   <li>In "Package Explorer" view: do right click and then select "Import...".
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    51
   <li>Select "General/Existing Projects into Workspace" and click "Next".
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    52
   <li>Select root directory: &lt;TCF Root&gt;\plugins, and click "Next".
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    53
       <ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    54
       <li>If DD-DSF and/or CDT are not installed, don't import the following two plugins
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    55
       into your workspace:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    56
               <ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    57
           <li>org.eclipse.tm.tcf.dsf
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    58
           <li>org.eclipse.tm.tcf.dsf.ui
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    59
           <li>org.eclipse.tm.tcf.cdt.ui
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    60
           </ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    61
       </ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    62
   <!--
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    63
   <li><b>Optional</b> for browsing dependencies:<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    64
       <li>In Package Explorer: do right click and select "Import...".
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    65
       <li>Select "Plug-in Development/Plug-ins and Fragments" and click "Next".
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    66
       <li>Select "Import plug-ins and fragments required by existig workspace plug-ins" and click "Next".
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    67
       <li>Click "Select All", then click "Finish".
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    68
   </ul></li>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    69
   -->
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    70
</ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    71
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    72
<!--
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    73
<p>Alternative way to get CDT, DSF and RSE installed:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    74
<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    75
   <li>Get Eclipse for C/C++ Package from <a href='http://www.eclipse.org/downloads/'>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    76
       http://www.eclipse.org/downloads/</a> - it includes CDT.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    77
   <li>Do "Help > Software Updates > Find and Install > Search for New Features to Install > Next"
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    78
   <li>Select "Europa Discovery Site", press "Finish"
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    79
   <li>Select following:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    80
     <ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    81
       <li>Remote Access and Device Development
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    82
       <ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    83
          <li>Remote System Explorer End-User Runtime
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    84
          <li>Debugger Services Framework end-user and extender SDK
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    85
       </ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    86
     </ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    87
   <li>Press "Select Required" if in Error
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    88
   <li>Press "Next", "Accept", "Next", "Finish"
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    89
</ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    90
-->
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    91
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    92
<h2><a name='Plugins'>TCF Plugins</a></h2>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    93
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    94
<p>TCF plugins source code is stored in <code>&lt;TCF Root&gt;\plugins</code> directory.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    95
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    96
<dl>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    97
    <dt><b>org.eclipse.tm.tcf</b>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    98
    <dd>This is the main TCF plugin. It contains Eclipse integration code for the framework.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
    99
    It is the only TCF plugin, which (together with its fragments) should be required by a TCF client. The rest of TCF plugins are
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   100
    clients developed as a reference implementation or for demonstration purposes. 
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   101
    <p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   102
    <dt><b>org.eclipse.tm.tcf.core</b>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   103
        <dd>This is a fragment of <b>org.eclipse.tm.tcf</b> plugin. It contains the framework itself and interfaces for standard services.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   104
        The Java code in the fragment does not have any Eclipse dependencies and can be used outside Eclipse.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   105
        <p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   106
    <dt><b>org.eclipse.tm.tcf.debug, org.eclipse.tm.tcf.debug.ui</b>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   107
    <dd>This is a prototype code that connects Eclipse Debug Framework and Target Communication Framework.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   108
    It allows to launch Eclipse debug session by connecting to a target running TCF agent,
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   109
    and then perform basic debugging tasks, like resuming, suspending, single-stepping, setting/removing breakpoints, etc.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   110
    The code can be used as a reference for developing new TCF clients.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   111
    <p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   112
    <dt><b>org.eclipse.tm.tcf.dsf, org.eclipse.tm.tcf.dsf.ui</b>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   113
    <dd>This code allows Debugger Services Framework (DSF) clients to access targets using TCF as comminucation protocol.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   114
    It includes implementation of DSF services as TCF clients.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   115
    <p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   116
    <dt><b>org.eclipse.tm.tcf.rse</b>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   117
    <dd>This plugin allows Remote System Explorer (RSE) to connect to remote machines using TCF as communication protocol.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   118
    It includes implementation of RSE services as TCF clients.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   119
    <p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   120
    <dt><b>org.eclipse.tm.tcf.cdt.ui</b>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   121
    <dd>This optional plugin improves integration between CDT and TCF debugger prototype.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   122
        It helps to search for CDT projects and executable files when creating TCF launch configuration.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   123
    <p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   124
    <dt><b>org.eclipse.tm.tcf.examples.daytime</b>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   125
    <dd>This is an example plugin.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   126
    The Example shows how TCF/Java binding can be extended for a new, user defined service.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   127
    The plugin provides Java binding for DayTime service.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   128
    Also, see directory <code>&lt;TCF Root&gt;/examples/org.eclipse.tm.tcf.examples.daytime.agent</code>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   129
    for example code of a customized TCF agent, which implements DayTime service.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   130
</dl>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   131
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   132
<h2><a name='Agent'>Building TCF Agent</a></h2>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   133
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   134
<p><b>CDT</b> can be used to build TCF agent.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   135
CDT .project file is located in <code>&lt;TCF Root&gt;/agent</code> directory.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   136
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   137
<p><b>Linux</b>: To build the agent:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   138
<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   139
   <li>Run <code>make</code> command in <code>&lt;TCF Root&gt;/agent</code> directory.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   140
   <li>Start agent: <pre>GNU/Linux/i686/Debug/agent -L- -l0</pre>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   141
       Use other -l option values to increase agent log details level.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   142
</ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   143
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   144
<p><b>Windows</b>: For building the agent, there are two possibilities:<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   145
<li>Building with gcc (freely available from <a href="http://wascana.sourceforge.net/">Wascana</a>,
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   146
<a href="http://www.cygwin.com">Cygwin</a> or the
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   147
<a href="http://www.mingw.org/">MinGW32 project</a>): run
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   148
<pre>make</pre> or <pre>make SYSOP=Msys</pre>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   149
in the agent directory.</li>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   150
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   151
<li>Building with Microsoft Visual C++:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   152
open workspace file <code>&lt;TCF Root&gt;/agent/agent.sln</code>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   153
and then build and run the agent using Development Studio commands. If getting an error about
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   154
<tt>IPHlpApi.h</tt> missing, you'll need to install the latest
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   155
<a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=0BAF2B35-C656-4969-ACE8-E4C0C0716ADB&displaylang=en">MS Platform SDK</a>.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   156
For the free <a href="http://www.microsoft.com/express/vc/">Visual C++ Express Edition</a>, the
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   157
following changes in settings may be necessary:<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   158
  <li>Project &gt; Properties &gt; C/C++ &gt; Preprocessor &gt; Preprocessor Definitions:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   159
       add <tt>_CRT_SECURE_NO_DEPRECATE</tt></li>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   160
  <li>Project &gt; Properties &gt; Linker &gt; Input &gt; Additional Dependencies :
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   161
       add <tt>shell32.lib</tt></li>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   162
</ul></li> 
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   163
</ul></p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   164
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   165
<p>On <b>VxWorks</b>, line number mapping and the SysMonitor service (needed for RSE Processes
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   166
Demo) are not yet implemented.<br/>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   167
To build the agent: Use Wind River Workbench 3.0 or 3.1, and VxWorks 6.6 or 6.7 to create a Kernel Module
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   168
project out of source code in <code>&lt;TCF Root&gt;/agent</code> directory. Use Workbench
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   169
commands to build and run the agent. To run the agent on VxWorks Simulator
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   170
you will need to setup a simulated network - see Networking with the VxWorks Simulator chapter
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   171
in Wind River VxWorks Simulator user's guide for details.</p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   172
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   173
<h2><a name='Browsing'>Browsing Agent Source Code in CDT</a></h2>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   174
On Linux, the default configuration from the CDT .project file included in TCF
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   175
should be fine for correctly browsing the agent source code. Linux is recommended
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   176
for working on the agent anyways, because most features are implemented already.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   177
<p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   178
On Windows, open Project Properties of the agent project, and under C/C++ General &gt;
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   179
Indexer switch the configuration to "Win32 - Cygwin" or "Win32 - DevStudio"
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   180
as needed.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   181
<p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   182
For VxWorks, browsing should be configured automatically through the WR Workbench
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   183
Kernel Module Project.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   184
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   185
<h2><a name='RSE'>Using TCF With Remote System Explorer</a></h2>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   186
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   187
<p>Remote System Explorer is an Eclipse based component that allows users to create connections to remote machines and
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   188
explore their file systems, see list of processes and access some other resources, like remote shells.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   189
Remote System Explorer has been designed as a flexible, extensible framework to which Eclipse plug-in developers can
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   190
contribute their own system definitions, actions, etc.</p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   191
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   192
<p>Plugin <b>org.eclipse.tm.tcf.rse</b> enables use of Processes and Files subsystems of Remote System Explorer over TCF.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   193
It also extends Processes subsystem to include CPU utilization data and some other process attributes in RSE views.</p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   194
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   195
<p>To connect a remote machine over TCF:</p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   196
<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   197
   <li>Make sure TCF agent is running on remote machine.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   198
   <li>Run Eclipse with RSE and TCF plugins installed.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   199
   <li>In Eclipse, do "Window/Open Perspective/Remote System Explorer" command.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   200
   <li>In "Remote Systems" view: do right click and select "New/Connection..."
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   201
   <li>In "New Connection" dialog box: select TCF and press "Next" button.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   202
   <li>Enter "Host name" - IP host name ot the target machine, and "Connection name" - arbitrary string to name new connection.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   203
   Press "Finish" button.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   204
   <li>New connection should appear in "Remote Systems" view and it is ready to be explored.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   205
</ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   206
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   207
<p>RSE features supported by TCF connection:
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   208
<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   209
    <li>File Subsystem: full support, i.e. browse, upload, download, copy, move, delete
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   210
    <li>Processes: browse, including parent/child relationship
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   211
</ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   212
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   213
<h2><a name='Debugger'>Using TCF With Eclipse Debugger</a></h2>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   214
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   215
<p>Plugins <b>org.eclipse.tm.tcf.debug</b> and <b>org.eclipse.tm.tcf.debug.ui</b> allow to start a debug session
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   216
by connecting to a machine runnning TCF agent.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   217
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   218
<p>To start a debug session over TCF:</p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   219
<ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   220
   <li>Make sure TCF agent is running on remote machine.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   221
   <li>Run Eclipse with TCF plugins installed.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   222
   <li>In Eclipse, do "Window/Open Perspective/Debug" command.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   223
   <li>Do "Run/Open Debug Dialog..." command.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   224
   <li>In "Debug" dialog box: select "Target Comminucation Framework" configuration type and press "New" button.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   225
   <li>Enter a name for the configuration.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   226
   <li>Select a target machine in "Available targtes" list. The list shows targets autodetected on local network.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   227
   <li>Press "Run Diagnostics" button to test connectivity for selected target.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   228
   <li>Enter a program name to run in debug session, for example "/bin/ls".
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   229
   <li>Press "Debug" to start the debugger.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   230
</ul>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   231
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   232
<p>In TCF debug session "Debug", "Breakpoints", "Registers", "Variables" and "Expressions" views are populated.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   233
Source level debugging is fully supported if the source code can be found in a CDT project in current workspace.
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   234
</p>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   235
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   236
</body>
11a6943ebeb2 add dsdp/tm/tcf_0_3_x
duane.cawthron@nokia.com
parents:
diff changeset
   237
</html>