summaryrefslogtreecommitdiffstats
path: root/tcf/readme
diff options
context:
space:
mode:
Diffstat (limited to 'tcf/readme')
-rw-r--r--tcf/readme175
1 files changed, 175 insertions, 0 deletions
diff --git a/tcf/readme b/tcf/readme
new file mode 100644
index 0000000..95529a1
--- /dev/null
+++ b/tcf/readme
@@ -0,0 +1,175 @@
1The current implmentaion is based on TCF contribution 0.3.0(SVN revision 998).
2(svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/tags/0.3.0)
3
4I. Build
5================================
61. Check out the TCF contribution code version 0.3.0 from TCF SVN
7repository.
8
9svn co svn://dev.eclipse.org/svnroot/dsdp/org.eclipse.tm.tcf/tags/0.3.0 tcf_local/
10
11To use SVN inside Intel firewall, please use tsocks.
12(http://opensource.intel.com/linux-wiki/LinuxDesktop?highlight=%28tsocks%29#head-7dfffbdc3bda005c74d26ed2af467643dc89844b)
13
142. Apply the patches.
15
16cd tcf_local
17patch -p0 < ../terminals_agent.patch
18patch -p0 < ../terminals_plugin.patch
19patch -p0 < ../lke_rse_tcf.patch
20
21After the successful patch, only the following components are useful
22for CDT remote debug. Other plugins are not required.
23
24plugins/org.eclipse.tm.tcf/
25 TCF plugin for Eclipse integration.
26
27plugins/org.eclipse.tm.tcf.core/
28 TCF Java framework and intefaces for standard services.
29
30plugins/org.eclipse.tm.tcf.rse/
31 RSE plugin using TCF.
32
33plugins/org.eclipse.tm.tcf.terminals/
34 TCF Java interfaces & eclipse integration for terminal service.
35
36agent/
37 TCF reference agent for standard services.
38
39org.eclipse.tm.tcf.terminals.agent/
40 TCF reference agent with addtional terminal service.
41
423. Build the agent on remote target side.
43(This step can be skipped if the agent is already included in
44the poky generated image)
45
46 1) copy the directories "agent/" or "org.eclipse.tm.tcf.terminals.agent/"
47 to the remote target machine.
48 2) cd "org.eclipse.tm.tcf.terminals.agent/"
49 3) make
50
514. Import the eclipse plugins on host side.
52 1) In eclipse, choose from menu
53 File->Import->General->"Existing projects into workspace",
54 browse to the "tcf_local/plugins" direcotry, and click "OK".
55 2) Check the following plugins:
56 org.eclipse.tm.tcf
57 org.eclipse.tm.tcf.core
58 org.eclipse.tm.tcf.rse
59 org.eclipse.tm.tcf.terminals
60 3) Click "Finish" to import the eclipse plugins.
61 4) Select Project->"Build All" to build the plugins. If the
62 build process complains about missing dependent plugin,
63 please see Note 2 below.
64
65
66II. Usage
67================================
68On remote target side
691. Build & run tcf agent on target.
70(This step can be skipped if the agent is already included in
71the poky generated iamge)
72
73 - cd to direcotry "org.eclipse.tm.tcf.terminals.agent".
74 - type "make" to build the tcf agent.
75 - run the tcf agent with root privilege on target.
76 e.g. sudo obj/GNU/Linux/x86_64/Debug/agent -Llog.txt
77
78On Host side
792. Launch the RSE plugin for TCF(org.eclipse.tm.tcf.rse).
80Make sure the org.eclipse.tm.tcf.terminals plugin is launched along
81with that plugin.
82
833. CDT remote debug.
84 1) Choose from menu Run->"Debug Configurations..."->
85 "C/C++ Remote Application", and click the "New launch configuration"
86 button.
87 2) In the "Main" tab, click "New..." button and it will launch a
88 "New Connection" wizard.
89 3) In the "New Connection" dialogue, choose "TCF" as system type and
90 click "Next".
91 4) Input the ip address of the remote target machine in "Host name:",
92 choose an arbitary unique name for "Connection name:", and click
93 "Next".
94 5) Make sure "org.eclipse.tm.tcf.rse.Terminals" is checked, make sure
95 you have input the correct TCF session properties in the TCF
96 Connector Service and click "Next". (See Note 3 below)
97 6) Make sure "org.eclipse.tm.tcf.rse.Files" is checked and click "Next".
98 7) Make sure "org.eclipse.tm.tcf.rse.Processes" is checked and click
99 "Next".
100 8) Make sure "org.eclipse.tm.tcf.rse.Shells" is checked, make sure you
101 have input the correct TCF session properties in the TCF Connector
102 Service. (See Note 3 below)
103 9) Click "Finish" to close the "New Connection" dialogue.
104 10) In the "Main" tab, choose the connection just created from the
105 "Connection" drop-list.
106 11) In the "Main" tab, enter the "Remote Absolute File Path for
107 C/C++ Application". This is where the debugged application to be
108 downloaded to the remote target side. e.g. "/tmp/helloworld".
109 12) In the "Debugger" tab, please choose the correct "GDB debugger".
110 Usually you should choose the cross-gdb which matches the host
111 and target machine. (see Known limitations 2.)
112 13) Click "Debug".
113 14) In the popped up "Enter Password" dialogue, enter the correct
114 "User ID" and "Password" and click "OK". It will be used to
115 login to the remote target machine.
116
117III. Note
118================================
1191. Sometimes the eclispe would report a exception of
120 "Java.lang.OutOfMemoryError: PermGen space" and the application hangs.
121 This is because the JVM garbage collection doesn't clean the permenant
122 generation space, which is used to store meta-data descriptions of
123 classes. To fix this problem, please add "-XX:MaxPermSize=256M" to the
124 "VM arguements" when launching the plug-ins.
125
1262. The following eclipse plugins should be installed before building
127 TCF related plugins.
128
129 CDT v6.0.2: http://download.eclipse.org/tools/cdt/releases/galileo
130 RSE v3.1.2: http://download.eclipse.org/dsdp/tm/updates/3.1/
131
1323. TCF Connector Service Properties.
133The TCF connector service properties are used for the TCF based RSE
134terminals and shells subsystems.
135
136To change these properties, click the "TCF Connection Settings" under
137the "Available Services" in the wizard, in the right, a list of
138properties is shown and ready for change.
139
140Here is a list of the properties:
141
142 - Command.Prompt
143 This is a string of which the shell/terminal prompt string on the remote
144 target system will end with. The default value is
145 "# "(Pay attention there is a space after the '#').
146
147 - Login.Prompt
148 This is a string of which the login prompt string on the remote target
149 system will end with. The default value is "ogin: "(Pay attention
150 there is a space after the ':').
151
152 - Login.Required
153 Set to "true" if the remote target system requires the user to input
154 login user name for terminal/shell services. Otherwise set to "false".
155 The default value is "true".
156
157 - Password.Prompt
158 This is a string of which the password prompt string on the remote target
159 system will end with. The default value is "assword: ".(Pay attention
160 there is a space after the ':')
161
162 - Pwd.Required
163 Setting to "true" if the remote target system requires the user to input
164 password for terminal/shell services. Otherwise set to "false". The
165 default value is "false".
166
167IV. Known limitations
168================================
1691. Authentication retry is not implemented. The user only has one chance to
170 input the correct password. If it fails, the user needs to re-launch
171 shell/terminal. If the user has checked the "Save password" in the prompt
172 dialogue, it needs to be disconnected and re-connected.
173
1742. Users have to set the correct cross-gdb debugger manually in the
175 "Debugger" tab in the remote debug configuration.