summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/adt-manual/adt-eclipse.xml419
1 files changed, 222 insertions, 197 deletions
diff --git a/documentation/adt-manual/adt-eclipse.xml b/documentation/adt-manual/adt-eclipse.xml
index cb46598910..dee8e1fb1a 100644
--- a/documentation/adt-manual/adt-eclipse.xml
+++ b/documentation/adt-manual/adt-eclipse.xml
@@ -3,6 +3,7 @@
3 3
4<chapter id='adt-eclipse'> 4<chapter id='adt-eclipse'>
5<title>Working Within Eclipse</title> 5<title>Working Within Eclipse</title>
6
6 <para> 7 <para>
7 The Eclipse IDE is a popular development environment and it fully supports 8 The Eclipse IDE is a popular development environment and it fully supports
8 development using Yocto Project. 9 development using Yocto Project.
@@ -10,10 +11,10 @@
10 the Eclipse IDE, you maximize your Yocto Project design experience. 11 the Eclipse IDE, you maximize your Yocto Project design experience.
11 Installing and configuring the Plug-in results in an environment that 12 Installing and configuring the Plug-in results in an environment that
12 has extensions specifically designed to let you more easily develop software. 13 has extensions specifically designed to let you more easily develop software.
13 These extensions allow for cross-compilation and deployment and execution of 14 These extensions allow for cross-compilation, deployment, and execution of
14 your output into a QEMU emulation session. 15 your output into a QEMU emulation session.
15 You can also perform cross-debugging and profiling. 16 You can also perform cross-debugging and profiling.
16 The environment also has a suite of tools that allows you to perform 17 The environment also supports a suite of tools that allows you to perform
17 remote profiling, tracing, collection of power data, collection of 18 remote profiling, tracing, collection of power data, collection of
18 latency data, and collection of performance data. 19 latency data, and collection of performance data.
19 </para> 20 </para>
@@ -24,19 +25,21 @@
24 25
25<section id='setting-up-the-eclipse-ide'> 26<section id='setting-up-the-eclipse-ide'>
26 <title>Setting Up the Eclipse IDE</title> 27 <title>Setting Up the Eclipse IDE</title>
28
27 <para> 29 <para>
28 To develop within the Eclipse IDE you need to do the following: 30 To develop within the Eclipse IDE, you need to do the following:
29 <orderedlist> 31 <orderedlist>
30 <listitem><para>Be sure the optimal version of Eclipse IDE 32 <listitem><para>Be sure the optimal version of Eclipse IDE
31 is installed.</para></listitem> 33 is installed.</para></listitem>
32 <listitem><para>Install Eclipse plug-in requirements prior to installing 34 <listitem><para>Install the Eclipse Plug-in requirements prior to installing
33 the Eclipse Yocto Plug-in.</para></listitem> 35 the Eclipse Yocto Plug-in.</para></listitem>
34 <listitem><para>Configure the Eclipse Yocto Plug-in.</para></listitem> 36 <listitem><para>Configure the Eclipse Yocto Plug-in.</para></listitem>
35 </orderedlist> 37 </orderedlist>
36 </para> 38 </para>
37 39
38 <section id='installing-eclipse-ide'> 40 <section id='installing-eclipse-ide'>
39 <title>Installing Eclipse IDE</title> 41 <title>Installing Eclipse IDE</title>
42
40 <para> 43 <para>
41 It is recommended that you have the Indigo 3.7 version of the 44 It is recommended that you have the Indigo 3.7 version of the
42 Eclipse IDE installed on your development system. 45 Eclipse IDE installed on your development system.
@@ -46,29 +49,32 @@
46 This version contains the Eclipse Platform, the Java Development 49 This version contains the Eclipse Platform, the Java Development
47 Tools (JDT), and the Plug-in Development Environment. 50 Tools (JDT), and the Plug-in Development Environment.
48 </para> 51 </para>
52
49 <para> 53 <para>
50 Once you have downloaded the tarball, extract it into a clean 54 Once you have downloaded the tarball, extract it into a clean
51 directory and complete the installation. 55 directory and complete the installation.
52 </para> 56 </para>
57
53 <para> 58 <para>
54 One issue exists that you need to be aware of regarding the Java 59 One issue exists that you need to be aware of regarding the Java
55 Virtual machine’s garbage collection (GC) process. 60 Virtual machine’s garbage collection (GC) process.
56 The GC process does not clean up the permanent generation 61 The GC process does not clean up the permanent generation
57 space (PermGen). 62 space (PermGen).
58 This space stores meta-data descriptions of classes. 63 This space stores metadata descriptions of classes.
59 The default value is set too small and it could trigger an 64 The default value is set too small and it could trigger an
60 out-of-memory error such as the following: 65 out-of-memory error such as the following:
61 <literallayout class='monospaced'> 66 <literallayout class='monospaced'>
62 Java.lang.OutOfMemoryError: PermGen space 67 Java.lang.OutOfMemoryError: PermGen space
63 </literallayout> 68 </literallayout>
64 </para> 69 </para>
70
65 <para> 71 <para>
66 This error causes the application to hang. 72 This error causes the application to hang.
67 </para> 73 </para>
74
68 <para> 75 <para>
69 To fix this issue, you can use the <filename>--vmargs</filename> 76 To fix this issue, you can use the <filename>--vmargs</filename>
70 option when you start 77 option when you start Eclipse to increase the size of the permanent generation space:
71 Eclipse to increase the size of the permanent generation space:
72 <literallayout class='monospaced'> 78 <literallayout class='monospaced'>
73 eclipse --vmargs --XX:PermSize=256M 79 eclipse --vmargs --XX:PermSize=256M
74 </literallayout> 80 </literallayout>
@@ -77,118 +83,125 @@
77 83
78 <section id='installing-required-plug-ins-and-the-eclipse-yocto-plug-in'> 84 <section id='installing-required-plug-ins-and-the-eclipse-yocto-plug-in'>
79 <title>Installing Required Plug-ins and the Eclipse Yocto Plug-in</title> 85 <title>Installing Required Plug-ins and the Eclipse Yocto Plug-in</title>
86
80 <para> 87 <para>
81 Before installing the Yocto Plug-in, you need to be sure that the 88 Before installing the Yocto Plug-in, you need to be sure that the
82 <filename>CDT 8.0</filename>, <filename>RSE 3.2</filename>, and 89 <filename>CDT 8.0</filename>, <filename>RSE 3.2</filename>, and
83 <filename>Autotools</filename> plug-ins are all installed in the 90 <filename>Autotools</filename> plug-ins are all installed in the
84 following order. 91 following order.
85 After installing these three plug-ins, you can install the 92 After installing these three plug-ins, you can install the Eclipse Yocto Plug-in.
86 <filename>Eclipse Yocto</filename> plug-in.
87 Use the following URLs for the plug-ins: 93 Use the following URLs for the plug-ins:
88 <orderedlist> 94 <orderedlist>
89 <listitem><para><emphasis>CDT 8.0</emphasis> – 95 <listitem><para><emphasis>
90 <ulink url='http://download.eclipse.org/tools/cdt/releases/indigo/'></ulink>: 96 <ulink url='http://download.eclipse.org/tools/cdt/releases/indigo/'>CDT 8.0:</ulink>
91 For <filename>CDT main features</filename>, select the checkbox so you get all items. 97 </emphasis> For <filename>CDT main features</filename>, select the
92 For <filename>CDT optional features</filename> expand the selections and check 98 checkbox so you get all items.
93 <filename>C/C++ Remote Launch</filename>.</para></listitem> 99 For <filename>CDT optional features</filename> expand the selections and check
94 <listitem><para><emphasis>RSE 3.2</emphasis> – 100 <filename>C/C++ Remote Launch</filename>.</para></listitem>
95 <ulink url='http://download.eclipse.org/tm/updates/3.2'></ulink>: 101 <listitem><para><emphasis>
96 Check the box next to <filename>TM and RSE Main Features</filename> so you select all 102 <ulink url='http://download.eclipse.org/tm/updates/3.2'>RSE 3.2:</ulink></emphasis>
97 those items. 103 Check the box next to <filename>TM and RSE Main Features</filename> so you select all
98 Note that all items in the main features depend on 3.2.1 version. 104 those items.
99 Expand the items under <filename>TM and RSE Uncategorized 3.2.1</filename> and 105 Note that all items in the main features depend on 3.2.1 version.
100 select the following: <filename>Remote System Explorer End-User Runtime</filename>, 106 Expand the items under <filename>TM and RSE Uncategorized 3.2.1</filename> and
101 <filename>Remote System Explorer Extended SDK</filename>, 107 select the following: <filename>Remote System Explorer End-User Runtime</filename>,
102 <filename>Remote System Explorer User Actions</filename>, 108 <filename>Remote System Explorer Extended SDK</filename>,
103 <filename>RSE Core</filename>, <filename>RSE Terminals UI</filename>, 109 <filename>Remote System Explorer User Actions</filename>,
104 and <filename>Target Management Terminal</filename>.</para></listitem> 110 <filename>RSE Core</filename>, <filename>RSE Terminals UI</filename>,
105 <listitem><para><emphasis>Autotools</emphasis> – 111 and <filename>Target Management Terminal</filename>.</para></listitem>
106 <ulink url='http://download.eclipse.org/technology/linuxtools/update/'></ulink>: 112 <listitem><para><emphasis>
107 Expand the items under “Linux Tools” and select “Autotools support for 113 <ulink url='http://download.eclipse.org/technology/linuxtools/update/'>Autotools:</ulink>
108 CDT (Incubation)”.</para></listitem> 114 </emphasis> Expand the items under “Linux Tools” and select “Autotools support for
109 <listitem><para><emphasis>Yocto Plug-in</emphasis> – 115 CDT (Incubation)”.</para></listitem>
110 <ulink url='http://www.yoctoproject.org/downloads/eclipse-plugin/1.0'></ulink>: 116 <listitem><para><emphasis>
111 Check the box next to <filename>Development tools &amp; SDKs for Yocto Linux</filename> 117 <ulink url='http://www.yoctoproject.org/downloads/eclipse-plugin/1.1'>Yocto Plug-in:
112 to select all the items.</para></listitem> 118 </ulink></emphasis> Check the box next to
119 <filename>Development tools &amp; SDKs for Yocto Linux</filename>
120 to select all the items.</para></listitem>
113 </orderedlist> 121 </orderedlist>
114 </para> 122 </para>
123
115 <para> 124 <para>
116 Follow these general steps to install a plug-in: 125 Follow these general steps to install an Eclipse plug-in:
117 <orderedlist> 126 <orderedlist>
118 <listitem><para>From within the Eclipse IDE select the 127 <listitem><para>From within the Eclipse IDE, select the
119 <filename>Install New Software</filename> item from the <filename>Help</filename> 128 <filename>Install New Software</filename> item from the <filename>Help</filename>
120 menu.</para></listitem> 129 menu.</para></listitem>
121 <listitem><para>Click <filename>Add…</filename> in the 130 <listitem><para>Click <filename>Add…</filename> in the
122 <filename>Work with:</filename> area.</para></listitem> 131 <filename>Work with:</filename> area.</para></listitem>
123 <listitem><para>Enter the URL for the repository and leave the <filename>Name</filename> 132 <listitem><para>Enter the URL for the repository and leave the <filename>Name</filename>
124 field blank.</para></listitem> 133 field blank.</para></listitem>
125 <listitem><para>Check the boxes next to the software you need to 134 <listitem><para>Check the boxes next to the software you need to
126 install and then complete the installation. 135 install and then complete the installation.
127 For information on the specific software packages you need to include, 136 For information on the specific software packages you need to include,
128 see the previous list.</para></listitem> 137 see the previous list.</para></listitem>
129 </orderedlist> 138 </orderedlist>
130 </para> 139 </para>
131 </section> 140 </section>
132 141
133 <section id='configuring-the-plug-in'> 142 <section id='configuring-the-plug-in'>
134 <title>Configuring the Plug-in</title> 143 <title>Configuring the Plug-in</title>
144
135 <para> 145 <para>
136 Configuring the Eclipse Yocto Plug-in involves choosing the Cross 146 Configuring the Eclipse Yocto Plug-in involves choosing the Cross
137 Compiler Options, selecting the Target Architecture, and choosing 147 Compiler Options, selecting the Target Architecture, and choosing
138 the Target Options. 148 the Target Options.
139 These settings are the default settings for all projects. 149 The settings you choose become the default settings for all projects.
140 You do have opportunities to change them later if you choose to when 150 You do have opportunities to change them later when
141 you configure the project (see the following section). 151 you configure the project (see the following section).
142 </para> 152 </para>
153
143 <para> 154 <para>
144 To start, you need to do the following from within the Eclipse IDE: 155 To start, you need to do the following from within the Eclipse IDE:
145 <itemizedlist> 156 <itemizedlist>
146 <listitem><para>Choose <filename>Windows -&gt; Preferences</filename> to display 157 <listitem><para>Choose <filename>Windows -&gt; Preferences</filename> to display
147 the Preferences Dialog</para></listitem> 158 the Preferences Dialog</para></listitem>
148 <listitem><para>Click <filename>Yocto SDK</filename></para></listitem> 159 <listitem><para>Click <filename>Yocto SDK</filename></para></listitem>
149 </itemizedlist> 160 </itemizedlist>
150 </para> 161 </para>
151 162
152 <section id='configuring-the-cross-compiler-options'> 163 <section id='configuring-the-cross-compiler-options'>
153 <title>Configuring the Cross-Compiler Options</title> 164 <title>Configuring the Cross-Compiler Options</title>
165
154 <para> 166 <para>
155 Choose between <filename>Stand-alone Prebuilt Toolchain</filename> 167 Choose between <filename>Stand-alone Prebuilt Toolchain</filename>
156 and <filename>Build System Derived Toolchain</filename> for Cross 168 and <filename>Build System Derived Toolchain</filename> for Cross
157 Compiler Options. 169 Compiler Options.
158 <itemizedlist> 170 <itemizedlist>
159 <listitem><para><emphasis><filename>Stand-alone Prebuilt Toolchain</filename></emphasis> 171 <listitem><para><emphasis><filename>Stand-alone Prebuilt Toolchain:</filename></emphasis>
160 Select this mode 172 Select this mode
161 when you are not concerned with building a target image or you do not have 173 when you are not concerned with building a target image or you do not have
162 a Yocto Project build tree on your development system. 174 a Yocto Project build tree on your development system.
163 For example, suppose you are an application developer and do not 175 For example, suppose you are an application developer and do not
164 need to build a target image. 176 need to build a target image.
165 Instead, you just want to use an architecture-specific toolchain on an 177 Instead, you just want to use an architecture-specific toolchain on an
166 existing kernel and target root filesystem. 178 existing kernel and target root filesystem.
167 When you use <filename>Stand-alone Prebuilt Toolchain</filename> 179 When you use <filename>Stand-alone Prebuilt Toolchain</filename>,
168 you are using the toolchain installed 180 you are using the toolchain installed
169 in the <filename>/opt/poky</filename> directory.</para></listitem> 181 in the <filename>/opt/poky</filename> directory.</para></listitem>
170 <listitem><para><emphasis><filename>Build System Derived Toolchain</filename></emphasis> 182 <listitem><para><emphasis><filename>Build System Derived Toolchain:</filename></emphasis>
171 Select this mode 183 Select this mode
172 if you are building images for target hardware or your 184 if you are building images for target hardware or your
173 development environment already has a Yocto Project build tree. 185 development environment already has a Yocto Project build tree.
174 In this case, you likely already have a Yocto Project build tree on 186 In this case, you likely already have a Yocto Project build tree on
175 your system or you (or someone else) will be building one. 187 your system or you (or someone else) will be building one.
176 When you select <filename>Build System Derived Toolchain</filename> 188 When you select <filename>Build System Derived Toolchain</filename>,
177 you are using the toolchain bundled 189 you are using the toolchain bundled
178 inside the Yocto Project build tree. 190 inside the Yocto Project build tree.
179 If you use this mode, you must also supply the Yocto Project build directory 191 If you use this mode, you must also supply the Yocto Project build directory
180 in the <filename>Preferences Dialog</filename>.</para></listitem> 192 in the <filename>Preferences Dialog</filename>.</para></listitem>
181 </itemizedlist> 193 </itemizedlist>
182 </para> 194 </para>
183 </section> 195 </section>
184 196
185 <section id='configuring-the-sysroot'> 197 <section id='configuring-the-sysroot'>
186 <title>Configuring the Sysroot</title> 198 <title>Configuring the Sysroot</title>
199
187 <para> 200 <para>
188 Specify the sysroot location, which is where the root filesystem for the 201 Specify the sysroot location, which is where the root filesystem for the
189 target hardware is created on the development system by the ADT Installer. 202 target hardware is created on the development system by the ADT Installer.
190 The QEMU user-space tools, the 203 The QEMU user-space tools, the
191 NFS boot process and the cross-toolchain all use the sysroot location 204 NFS boot process, and the cross-toolchain all use the sysroot location
192 regardless of whether you select 205 regardless of whether you select
193 (<filename>Stand-alone Prebuilt Toolchain</filename> or 206 (<filename>Stand-alone Prebuilt Toolchain</filename> or
194 <filename>Build System Derived Toolchain</filename>). 207 <filename>Build System Derived Toolchain</filename>).
@@ -197,59 +210,60 @@
197 210
198 <section id='selecting-the-target-architecture'> 211 <section id='selecting-the-target-architecture'>
199 <title>Selecting the Target Architecture</title> 212 <title>Selecting the Target Architecture</title>
213
200 <para> 214 <para>
201 Use the pull-down <filename>Target Architecture</filename> menu and select the 215 Use the pull-down <filename>Target Architecture</filename> menu and select the
202 target architecture. 216 target architecture.
203 </para> 217 </para>
218
204 <para> 219 <para>
205 The target architecture is the type of hardware you are 220 The target architecture is the type of hardware you are
206 going to use or emulate. 221 going to use or emulate.
207 This pull-down menu should have the supported architectures. 222 This pull-down menu should have the supported architectures.
208 If the architecture you need is not listed in the menu then you 223 If the architecture you need is not listed in the menu, you
209 will need to re-visit 224 will need to re-visit the section "<link linkend='adt-prepare'>Preparing to Use
210 <xref linkend='adt-prepare'> 225 the Application Development Toolkit (ADT)</link>" earlier in this document.
211 Preparing to Use the Application Development Toolkit (ADT)</xref>
212 section earlier in this document.
213 </para> 226 </para>
214 </section> 227 </section>
215 228
216 <section id='choosing-the-target-options'> 229 <section id='choosing-the-target-options'>
217 <title>Choosing the Target Options</title> 230 <title>Choosing the Target Options</title>
231
218 <para> 232 <para>
219 You can choose to emulate hardware using the QEMU emulator, or you 233 You can choose to emulate hardware using the QEMU emulator, or you
220 can choose to use actual hardware. 234 can choose to use actual hardware.
221 <itemizedlist> 235 <itemizedlist>
222 <listitem><para><emphasis><filename>External HW</filename></emphasis> Select this option 236 <listitem><para><emphasis><filename>External HW:</filename></emphasis> Select this option
223 if you will be using actual hardware.</para></listitem> 237 if you will be using actual hardware.</para></listitem>
224 <listitem><para><emphasis><filename>QEMU</filename></emphasis> Select this option if 238 <listitem><para><emphasis><filename>QEMU:</filename></emphasis> Select this option if
225 you will be using the QEMU emulator. 239 you will be using the QEMU emulator.
226 If you are using the emulator, you also need to locate the kernel 240 If you are using the emulator, you also need to locate the kernel
227 and specify any custom options.</para> 241 and specify any custom options.</para>
228 <para>If you select <filename>Build System Derived Toolchain</filename>, 242 <para>If you select <filename>Build System Derived Toolchain</filename>,
229 the target kernel you built will be located in the 243 the target kernel you built will be located in the
230 Yocto Project build tree in <filename>tmp/deploy/images</filename> directory. 244 Yocto Project build tree in <filename>tmp/deploy/images</filename> directory.
231 If you select <filename>Stand-alone Prebuilt Toolchain</filename>, the 245 If you select <filename>Stand-alone Prebuilt Toolchain</filename>, the
232 pre-built kernel you downloaded is located 246 pre-built kernel you downloaded is located
233 in the directory you specified when you downloaded the image.</para> 247 in the directory you specified when you downloaded the image.</para>
234 <para>Most custom options are for advanced QEMU users to further 248 <para>Most custom options are for advanced QEMU users to further
235 customize their QEMU instance. 249 customize their QEMU instance.
236 These options are specified between paired angled brackets. 250 These options are specified between paired angled brackets.
237 Some options must be specified outside the brackets. 251 Some options must be specified outside the brackets.
238 In particular, the options <filename>serial</filename>, 252 In particular, the options <filename>serial</filename>,
239 <filename>nographic</filename>, and <filename>kvm</filename> must all 253 <filename>nographic</filename>, and <filename>kvm</filename> must all
240 be outside the brackets. 254 be outside the brackets.
241 Use the <filename>man qemu</filename> command to get help on all the options 255 Use the <filename>man qemu</filename> command to get help on all the options
242 and their use. 256 and their use.
243 The following is an example: 257 The following is an example:
244 <literallayout class='monospaced'> 258 <literallayout class='monospaced'>
245 serial ‘&lt;-m 256 -full-screen&gt;’ 259 serial ‘&lt;-m 256 -full-screen&gt;’
246 </literallayout> 260 </literallayout></para>
247 </para> 261 <para>
248 <para> 262 Regardless of the mode, Sysroot is already defined in the “Sysroot”
249 Regardless of the mode, Sysroot is already defined in the “Sysroot” 263 field.</para></listitem>
250 field.</para></listitem>
251 </itemizedlist> 264 </itemizedlist>
252 </para> 265 </para>
266
253 <para> 267 <para>
254 Click the <filename>OK</filename> button to save your plug-in configurations. 268 Click the <filename>OK</filename> button to save your plug-in configurations.
255 </para> 269 </para>
@@ -259,14 +273,15 @@
259 273
260<section id='creating-the-project'> 274<section id='creating-the-project'>
261<title>Creating the Project</title> 275<title>Creating the Project</title>
276
262 <para> 277 <para>
263 You can create two types of projects: Autotools-based, or Makefile-based. 278 You can create two types of projects: Autotools-based, or Makefile-based.
264 This section describes how to create autotools-based projects from within 279 This section describes how to create autotools-based projects from within
265 the Eclipse IDE. 280 the Eclipse IDE.
266 For information on creating projects in a terminal window see 281 For information on creating Makefile-based projects in a terminal window see the section
267 <xref linkend='using-the-command-line'>Using the Command Line</xref> 282 "<link linkend='using-the-command-line'>Using the Command Line</link>".
268 section.
269 </para> 283 </para>
284
270 <para> 285 <para>
271 To create a project based on a Yocto template and then display the source code, 286 To create a project based on a Yocto template and then display the source code,
272 follow these steps: 287 follow these steps:
@@ -276,54 +291,56 @@
276 <listitem><para>Double click <filename>C Project</filename> to create the project.</para></listitem> 291 <listitem><para>Double click <filename>C Project</filename> to create the project.</para></listitem>
277 <listitem><para>Double click <filename>Yocto SDK Project</filename>.</para></listitem> 292 <listitem><para>Double click <filename>Yocto SDK Project</filename>.</para></listitem>
278 <listitem><para>Select <filename>Hello World ANSI C Autotools Project</filename>. 293 <listitem><para>Select <filename>Hello World ANSI C Autotools Project</filename>.
279 This is an Autotools-based project based on a Yocto Project template.</para></listitem> 294 This is an Autotools-based project based on a Yocto Project template.</para></listitem>
280 <listitem><para>Put a name in the <filename>Project name:</filename> field.</para></listitem> 295 <listitem><para>Put a name in the <filename>Project name:</filename> field.</para></listitem>
281 <listitem><para>Click <filename>Next</filename>.</para></listitem> 296 <listitem><para>Click <filename>Next</filename>.</para></listitem>
282 <listitem><para>Add information in the <filename>Author</filename> field.</para></listitem> 297 <listitem><para>Add information in the <filename>Author</filename> field.</para></listitem>
283 <listitem><para>Use <filename>GNU General Public License v2.0</filename> 298 <listitem><para>Use <filename>GNU General Public License v2.0</filename>
284 for the License.</para></listitem> 299 for the License.</para></listitem>
285 <listitem><para>Click <filename>Finish</filename>.</para></listitem> 300 <listitem><para>Click <filename>Finish</filename>.</para></listitem>
286 <listitem><para>Answer <filename>Yes</filename> to the open perspective prompt.</para></listitem> 301 <listitem><para>Answer <filename>Yes</filename> to the open perspective prompt.</para></listitem>
287 <listitem><para>In the Project Explorer expand your project.</para></listitem> 302 <listitem><para>In the Project Explorer expand your project.</para></listitem>
288 <listitem><para>Expand <filename>src</filename>.</para></listitem> 303 <listitem><para>Expand <filename>src</filename>.</para></listitem>
289 <listitem><para>Double click on your source file and the code appears 304 <listitem><para>Double click on your source file and the code appears
290 in the window. 305 in the window.
291 This is the template.</para></listitem> 306 This is the template.</para></listitem>
292 </orderedlist> 307 </orderedlist>
293 </para> 308 </para>
294</section> 309</section>
295 310
296<section id='configuring-the-cross-toolchains'> 311<section id='configuring-the-cross-toolchains'>
297<title>Configuring the Cross-Toolchains</title> 312<title>Configuring the Cross-Toolchains</title>
313
298 <para> 314 <para>
299 The previous section, <xref linkend='configuring-the-cross-compiler-options'> 315 The previous section, "<link linkend='configuring-the-cross-compiler-options'>
300 Configuring the Cross-Compiler Options</xref>, set up the default project 316 Configuring the Cross-Compiler Options</link>", set up the default project
301 configurations. 317 configurations.
302 You can change these settings for a given project by following these steps: 318 You can change these settings for a given project by following these steps:
303 <orderedlist> 319 <orderedlist>
304 <listitem><para>Select <filename>Project -&gt; Invoke Yocto Tools -&gt; Reconfigure Yocto</filename> - 320 <listitem><para>Select <filename>Project -&gt; Invoke Yocto Tools -&gt; Reconfigure Yocto</filename>:
305 This selection brings up the project's <filename>Yocto Settings</filename> Dialog. 321 This selection brings up the project's <filename>Yocto Settings</filename> Dialog.
306 Settings are inherited from the default project configuration. 322 Settings are inherited from the default project configuration.
307 The information in this dialog is identical to that chosen earlier 323 The information in this dialog is identical to that chosen earlier
308 for the <filename>Cross Compiler Option</filename> 324 for the <filename>Cross Compiler Option</filename>
309 (<filename>Stand-alone Prebuilt Toolchain</filename> or 325 (<filename>Stand-alone Prebuilt Toolchain</filename> or
310 <filename>Build System Derived Toolchain</filename>), 326 <filename>Build System Derived Toolchain</filename>),
311 the <filename>Target Architecture</filename>, and the 327 the <filename>Target Architecture</filename>, and the
312 <filename>Target Options</filename>. 328 <filename>Target Options</filename>.
313 The settings are inherited from the Yocto Plug-in configuration performed 329 The settings are inherited from the Yocto Plug-in configuration performed
314 after installing the plug-in.</para></listitem> 330 after installing the plug-in.</para></listitem>
315 <listitem><para><filename>Select Project -&gt; Reconfigure Project</filename> - 331 <listitem><para><filename>Select Project -&gt; Reconfigure Project</filename>:
316 This selection runs the <filename>autogen.sh</filename> in the workspace for your project. 332 This selection runs the <filename>autogen.sh</filename> in the workspace for your project.
317 The script runs <filename>libtoolize</filename>, <filename>aclocal</filename>, 333 The script runs <filename>libtoolize</filename>, <filename>aclocal</filename>,
318 <filename>autoconf</filename>, <filename>autoheader</filename>, 334 <filename>autoconf</filename>, <filename>autoheader</filename>,
319 <filename>automake --a</filename>, and 335 <filename>automake --a</filename>, and
320 <filename>./configure</filename>.</para></listitem> 336 <filename>./configure</filename>.</para></listitem>
321 </orderedlist> 337 </orderedlist>
322 </para> 338 </para>
323</section> 339</section>
324 340
325<section id='building-the-project'> 341<section id='building-the-project'>
326<title>Building the Project</title> 342<title>Building the Project</title>
343
327 <para> 344 <para>
328 To build the project, select <filename>Project -&gt; Build Project</filename>. 345 To build the project, select <filename>Project -&gt; Build Project</filename>.
329 The console should update and you can note the cross-compiler you are using. 346 The console should update and you can note the cross-compiler you are using.
@@ -332,27 +349,30 @@
332 349
333<section id='starting-qemu-in-user-space-nfs-mode'> 350<section id='starting-qemu-in-user-space-nfs-mode'>
334<title>Starting QEMU in User Space NFS Mode</title> 351<title>Starting QEMU in User Space NFS Mode</title>
352
335 <para> 353 <para>
336 To start the QEMU emulator from within Eclipse, follow these steps: 354 To start the QEMU emulator from within Eclipse, follow these steps:
337 <orderedlist> 355 <orderedlist>
338 <listitem><para>Select <filename>Run -&gt; External Tools -&gt; External Tools Configurations...</filename> 356 <listitem><para>Select <filename>Run -&gt; External Tools -&gt; External Tools
339 - This selection brings up the <filename>External Tools Configurations</filename> Dialog.</para></listitem> 357 Configurations...</filename>.
358 This selection brings up the <filename>External Tools Configurations</filename>
359 Dialog.</para></listitem>
340 <listitem><para>Go to the left navigation area and expand <filename>Program</filename>. 360 <listitem><para>Go to the left navigation area and expand <filename>Program</filename>.
341 You should find the image listed. 361 You should find the image listed.
342 For example, <filename>qemu-x86_64-poky-linux</filename>.</para></listitem> 362 For example, <filename>qemu-x86_64-poky-linux</filename>.</para></listitem>
343 <listitem><para>Click on the image. 363 <listitem><para>Click on the image.
344 This brings up a new environment in the main area of the 364 This brings up a new environment in the main area of the
345 <filename>External Tools Configurations</filename> Dialog. 365 <filename>External Tools Configurations</filename> Dialog.
346 The Main tab is selected.</para></listitem> 366 The Main tab is selected.</para></listitem>
347 <listitem><para>Click <filename>Run</filename> next. 367 <listitem><para>Click <filename>Run</filename> next.
348 This brings up a shell window.</para></listitem> 368 This brings up a shell window.</para></listitem>
349 <listitem><para>Enter your host root password in the shell window at the prompt. 369 <listitem><para>Enter your host root password in the shell window at the prompt.
350 This sets up a <filename>Tap 0</filename> connection needed for running in user-space 370 This sets up a <filename>Tap 0</filename> connection needed for running in user-space
351 NFS mode.</para></listitem> 371 NFS mode.</para></listitem>
352 <listitem><para>Wait for QEMU to launch.</para></listitem> 372 <listitem><para>Wait for QEMU to launch.</para></listitem>
353 <listitem><para>Once QEMU launches you need to determine the IP Address 373 <listitem><para>Once QEMU launches you need to determine the IP Address
354 for the user-space NFS. 374 for the user-space NFS.
355 You can do that by going to a terminal in the QEMU and entering the 375 You can do that by going to a terminal in the QEMU and entering the
356 <filename>ipconfig</filename> command.</para></listitem> 376 <filename>ipconfig</filename> command.</para></listitem>
357 </orderedlist> 377 </orderedlist>
358 </para> 378 </para>
@@ -360,34 +380,35 @@
360 380
361<section id='deploying-and-debugging-the-application'> 381<section id='deploying-and-debugging-the-application'>
362<title>Deploying and Debugging the Application</title> 382<title>Deploying and Debugging the Application</title>
383
363 <para> 384 <para>
364 Once QEMU is running, you can deploy your application and use the emulator 385 Once QEMU is running, you can deploy your application and use the emulator
365 to perform debugging. 386 to perform debugging.
366 Follow these steps to deploy the application. 387 Follow these steps to deploy the application.
367 <orderedlist> 388 <orderedlist>
368 <listitem><para>Select <filename>Run -&gt; Debug Configurations...</filename></para></listitem> 389 <listitem><para>Select <filename>Run -&gt; Debug Configurations...</filename></para></listitem>
369 <listitem><para>In the left area expand <filename>C/C++Remote Application</filename>.</para></listitem> 390 <listitem><para>In the left area, expand <filename>C/C++Remote Application</filename>.</para></listitem>
370 <listitem><para>Locate your project and select it to bring up a new 391 <listitem><para>Locate your project and select it to bring up a new
371 tabbed view in the <filename>Debug Configurations</filename> Dialog.</para></listitem> 392 tabbed view in the <filename>Debug Configurations</filename> Dialog.</para></listitem>
372 <listitem><para>Enter the absolute path into which you want to deploy 393 <listitem><para>Enter the absolute path into which you want to deploy
373 the application. 394 the application.
374 Use the <filename>Remote Absolute File Path</filename> for <filename>C/C++Application:</filename>. 395 Use the <filename>Remote Absolute File Path</filename> for <filename>C/C++Application:</filename>.
375 For example, enter <filename>/usr/bin/&lt;programname&gt;</filename>.</para></listitem> 396 For example, enter <filename>/usr/bin/&lt;programname&gt;</filename>.</para></listitem>
376 <listitem><para>Click on the <filename>Debugger</filename> tab to see the cross-tool debugger 397 <listitem><para>Click on the <filename>Debugger</filename> tab to see the cross-tool debugger
377 you are using.</para></listitem> 398 you are using.</para></listitem>
378 <listitem><para>Create a new connection to the QEMU instance 399 <listitem><para>Create a new connection to the QEMU instance
379 by clicking on <filename>new</filename>.</para></listitem> 400 by clicking on <filename>new</filename>.</para></listitem>
380 <listitem><para>Select <filename>TCF</filename>, which means Target Communication 401 <listitem><para>Select <filename>TCF</filename>, which means Target Communication
381 Framework.</para></listitem> 402 Framework.</para></listitem>
382 <listitem><para>Click <filename>Next</filename>.</para></listitem> 403 <listitem><para>Click <filename>Next</filename>.</para></listitem>
383 <listitem><para>Clear out the <filename>host name</filename> field and enter the IP Address 404 <listitem><para>Clear out the <filename>host name</filename> field and enter the IP Address
384 determined earlier.</para></listitem> 405 determined earlier.</para></listitem>
385 <listitem><para>Click <filename>Finish</filename> to close the new connections 406 <listitem><para>Click <filename>Finish</filename> to close the new connections
386 Dialog.</para></listitem> 407 Dialog.</para></listitem>
387 <listitem><para>Use the drop-down menu now in the <filename>Connection</filename> field and pick 408 <listitem><para>Use the drop-down menu now in the <filename>Connection</filename> field and pick
388 the IP Address you entered.</para></listitem> 409 the IP Address you entered.</para></listitem>
389 <listitem><para>Click <filename>Debug</filename> to bring up a login screen 410 <listitem><para>Click <filename>Debug</filename> to bring up a login screen
390 and login.</para></listitem> 411 and login.</para></listitem>
391 <listitem><para>Accept the debug perspective.</para></listitem> 412 <listitem><para>Accept the debug perspective.</para></listitem>
392 </orderedlist> 413 </orderedlist>
393 </para> 414 </para>
@@ -395,64 +416,68 @@
395 416
396<section id='running-user-space-tools'> 417<section id='running-user-space-tools'>
397<title>Running User-Space Tools</title> 418<title>Running User-Space Tools</title>
419
398 <para> 420 <para>
399 As mentioned earlier in the manual several tools exist that enhance 421 As mentioned earlier in the manual, several tools exist that enhance
400 your development experience. 422 your development experience.
401 These tools are aids in developing and debugging applications and images. 423 These tools are aids in developing and debugging applications and images.
402 You can run these user-space tools from within the Yocto Eclipse 424 You can run these user-space tools from within the Eclipse IDE through the
403 Plug-in through the <filename>Window -&gt; YoctoTools</filename> menu. 425 <filename>Window -&gt; YoctoTools</filename> menu.
404 </para> 426 </para>
427
405 <para> 428 <para>
406 Once you pick a tool, you need to configure it for the remote target. 429 Once you pick a tool, you need to configure it for the remote target.
407 Every tool needs to have the connection configured. 430 Every tool needs to have the connection configured.
408 You must select an existing TCF-based RSE connection to the remote target. 431 You must select an existing TCF-based RSE connection to the remote target.
409 If one does not exist, click <filename>New</filename> to create one. 432 If one does not exist, click <filename>New</filename> to create one.
410 </para> 433 </para>
434
411 <para> 435 <para>
412 Here are some specifics about the remote tools: 436 Here are some specifics about the remote tools:
413 <itemizedlist> 437 <itemizedlist>
414 <listitem><para><emphasis><filename>OProfile</filename>:</emphasis> Selecting this tool causes 438 <listitem><para><emphasis><filename>OProfile</filename>:</emphasis> Selecting this tool causes
415 the <filename>oprofile-server</filename> on the remote target to launch on 439 the <filename>oprofile-server</filename> on the remote target to launch on
416 the local host machine. 440 the local host machine.
417 The <filename>oprofile-viewer</filename> must be installed on the local host machine and the 441 The <filename>oprofile-viewer</filename> must be installed on the local host machine and the
418 <filename>oprofile-server</filename> must be installed on the remote target, 442 <filename>oprofile-server</filename> must be installed on the remote target,
419 respectively, in order to use. 443 respectively, in order to use.
420 You must compile and install the <filename>oprofile-viewer</filename> from the source code 444 You must compile and install the <filename>oprofile-viewer</filename> from the source code
421 on your local host machine. 445 on your local host machine.
422 Furthermore, in order to convert the target's sample format data into a form that the 446 Furthermore, in order to convert the target's sample format data into a form that the
423 host can use, you must have <filename>oprofile-viewer</filename> version 0.9.4 or 447 host can use, you must have <filename>oprofile</filename> version 0.9.4 or
424 greater installed on the host. 448 greater installed on the host.</para>
425 The <filename>oprofile-server</filename> is installed by default in the image.</para> 449 <para>You can locate both the viewer and server from
426 <para>You can locate both the viewer and server from 450 <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/oprofileui/'></ulink>.
427 <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/oprofileui/'></ulink>.</para></listitem> 451 <note>The <filename>oprofile-server</filename> is installed by default on
428 <listitem><para><emphasis><filename>Lttng-ust</filename>:</emphasis> Selecting this tool runs 452 the <filename>core-image-sato-sdk</filename> image.</note></para></listitem>
429 <filename>usttrace</filename> on the remote target, transfers the output data back to the 453 <listitem><para><emphasis><filename>Lttng-ust</filename>:</emphasis> Selecting this tool runs
430 local host machine and uses <filename>lttv-gui</filename> to graphically display the output. 454 <filename>usttrace</filename> on the remote target, transfers the output data back to the
431 The <filename>lttv-gui</filename> must be installed on the local host machine to use this tool. 455 local host machine, and uses <filename>lttv-gui</filename> to graphically display the output.
432 For information on how to use <filename>lttng</filename> to trace an application, see 456 The <filename>lttv-gui</filename> must be installed on the local host machine to use this tool.
433 <ulink url='http://lttng.org/files/ust/manual/ust.html'></ulink>.</para> 457 For information on how to use <filename>lttng</filename> to trace an application, see
434 <para>For <filename>Application</filename>, you must supply the absolute path name of the 458 <ulink url='http://lttng.org/files/ust/manual/ust.html'></ulink>.</para>
435 application to be traced by user mode <filename>lttng</filename>. 459 <para>For <filename>Application</filename>, you must supply the absolute path name of the
436 For example, typing <filename>/path/to/foo</filename> triggers 460 application to be traced by user mode <filename>lttng</filename>.
437 <filename>usttrace /path/to/foo</filename> on the remote target to trace the 461 For example, typing <filename>/path/to/foo</filename> triggers
438 program <filename>/path/to/foo</filename>.</para> 462 <filename>usttrace /path/to/foo</filename> on the remote target to trace the
439 <para><filename>Argument</filename> is passed to <filename>usttrace</filename> 463 program <filename>/path/to/foo</filename>.</para>
440 running on the remote target.</para></listitem> 464 <para><filename>Argument</filename> is passed to <filename>usttrace</filename>
441 <listitem><para><emphasis><filename>PowerTOP</filename>:</emphasis> Selecting this tool runs 465 running on the remote target.</para></listitem>
442 <filename>powertop</filename> on the remote target machine and displays the results in a 466 <listitem><para><emphasis><filename>PowerTOP</filename>:</emphasis> Selecting this tool runs
443 new view called <filename>powertop</filename>.</para> 467 <filename>powertop</filename> on the remote target machine and displays the results in a
444 <para><filename>Time to gather data(sec):</filename> is the time passed in seconds before data 468 new view called <filename>powertop</filename>.</para>
445 is gathered from the remote target for analysis.</para> 469 <para><filename>Time to gather data(sec):</filename> is the time passed in seconds before data
446 <para><filename>show pids in wakeups list:</filename> corresponds to the 470 is gathered from the remote target for analysis.</para>
447 <filename>-p</filename> argument 471 <para><filename>show pids in wakeups list:</filename> corresponds to the
448 passed to <filename>powertop</filename>.</para></listitem> 472 <filename>-p</filename> argument
449 <listitem><para><emphasis><filename>LatencyTOP and Perf</filename>:</emphasis> 473 passed to <filename>powertop</filename>.</para></listitem>
450 <filename>latencytop</filename> identifies system latency, while 474 <listitem><para><emphasis><filename>LatencyTOP and Perf</filename>:</emphasis>
451 <filename>perf</filename> monitors the system's 475 <filename>latencytop</filename> identifies system latency, while
452 performance counter registers. 476 <filename>perf</filename> monitors the system's
453 Selecting either of these tools causes an RSE terminal view to appear 477 performance counter registers.
454 from which you can run the tools. 478 Selecting either of these tools causes an RSE terminal view to appear
455 Both tools refresh the entire screen to display results while they run.</para></listitem> 479 from which you can run the tools.
480 Both tools refresh the entire screen to display results while they run.</para></listitem>
456 </itemizedlist> 481 </itemizedlist>
457 </para> 482 </para>
458</section> 483</section>