aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/sdk-manual
diff options
context:
space:
mode:
authorScott Rifenbark <srifenbark@gmail.com>2016-09-02 17:24:56 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2016-09-23 15:27:33 +0100
commit3277d8d307d580711870ca0a3901225b053a4171 (patch)
treee68770ffb79896d151230bdad87398cb72824207 /documentation/sdk-manual
parent8a3d542d5ca2ce282f4c255a2023d3e71160b710 (diff)
downloadopenembedded-core-contrib-3277d8d307d580711870ca0a3901225b053a4171.tar.gz
sdk-manual: Updates to "Working With Eclips" for Neon
Fixes [YOCTO #7546] Applied changes throughout this section to move it from Luna to the Neon version (latest) of Eclipse. We now provide a single thread for Eclipse, which is based on the latest version (Neon). Information for Mars, which is also supported) is in a new Appendix C. (From yocto-docs rev: 82995d9c49e4c55707591a1375c5d86874c589b0) Signed-off-by: Scott Rifenbark <srifenbark@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/sdk-manual')
-rw-r--r--documentation/sdk-manual/sdk-using.xml713
1 files changed, 420 insertions, 293 deletions
diff --git a/documentation/sdk-manual/sdk-using.xml b/documentation/sdk-manual/sdk-using.xml
index 70c1bf5c77..6b14f1b575 100644
--- a/documentation/sdk-manual/sdk-using.xml
+++ b/documentation/sdk-manual/sdk-using.xml
@@ -558,7 +558,7 @@
Once your application is deployed, you need to test it.
Within the Eclipse IDE, you can use the debugging
environment along with supported performance enhancing
- <ulink url='http://www.eclipse.org/linuxtools/'>tools</ulink>.
+ <ulink url='http://www.eclipse.org/linuxtools/'>Linux Tools</ulink>.
</para></listitem>
</orderedlist>
</para>
@@ -567,20 +567,9 @@
<section id='adt-eclipse'>
<title>Working Within Eclipse</title>
- <para role="writernotes">
- This section needs to be updated to use Eclipse Neon throughout.
- It is out of date at the moment.
- </para>
-
<para>
The Eclipse IDE is a popular development environment and it fully
supports development using the Yocto Project.
- <note>
- This release of the Yocto Project supports both the Luna
- and Kepler versions of the Eclipse IDE.
- Thus, the following information provides setup information for
- both versions.
- </note>
</para>
<para>
@@ -598,27 +587,31 @@
allow you to perform remote profiling, tracing, collection of
power data, collection of latency data, and collection of
performance data.
+ <note>
+ This release of the Yocto Project supports both the Neon
+ and Mars versions of the Eclipse IDE.
+ This section provides information on how to use the Neon
+ release with the Yocto Project.
+ For information on how to use the Mars version of Eclipse
+ with the Yocto Project, see
+ "<link linkend='sdk-appendix-mars'>Appendix C</link>.
+ </note>
</para>
- <para>
- This section describes how to install and configure the Eclipse IDE
- Yocto Plug-in and how to use it to develop your application.
- </para>
-
- <section id='setting-up-the-eclipse-ide'>
- <title>Setting Up the Eclipse IDE</title>
+ <section id='neon-setting-up-the-eclipse-ide'>
+ <title>Setting Up the Neon Version of the Eclipse IDE</title>
<para>
To develop within the Eclipse IDE, you need to do the following:
<orderedlist>
- <listitem><para>Install the optimal version of the Eclipse
- IDE.</para></listitem>
+ <listitem><para>Install the Neon version of the Eclipse
+ IDE.</para></listitem>
<listitem><para>Configure the Eclipse IDE.
- </para></listitem>
+ </para></listitem>
<listitem><para>Install the Eclipse Yocto Plug-in.
- </para></listitem>
+ </para></listitem>
<listitem><para>Configure the Eclipse Yocto Plug-in.
- </para></listitem>
+ </para></listitem>
</orderedlist>
<note>
Do not install Eclipse from your distribution's package
@@ -628,110 +621,120 @@
</note>
</para>
- <section id='installing-eclipse-ide'>
- <title>Installing the Eclipse IDE</title>
-
- <para>
- It is recommended that you have the Luna SR2 (4.4.2)
- version of the Eclipse IDE installed on your development
- system.
- However, if you currently have the Kepler 4.3.2 version
- installed and you do not want to upgrade the IDE, you can
- configure Kepler to work with the Yocto Project.
- </para>
+ <section id='neon-installing-eclipse-ide'>
+ <title>Installing the Neon Eclipse IDE</title>
<para>
- If you do not have the Luna SR2 (4.4.2) Eclipse IDE
- installed, you can find the tarball at
- <ulink url='&ECLIPSE_MAIN_URL;'></ulink>.
- From that site, choose the appropriate download from the
- "Eclipse IDE for C/C++ Developers".
- This version contains the Eclipse Platform, the Java
- Development Tools (JDT), and the Plug-in Development
- Environment.
- </para>
-
- <para>
- Once you have downloaded the tarball, extract it into a
- clean directory.
- For example, the following commands unpack and install the
- downloaded Eclipse IDE tarball into a clean directory
- using the default name <filename>eclipse</filename>:
- <literallayout class='monospaced'>
+ Follow these steps to locate, install, and configure
+ Neon Eclipse:
+ <orderedlist>
+ <listitem><para>
+ <emphasis>Locate the Neon Download:</emphasis>
+ Open a browser and go to
+ <ulink url='http://www.eclipse.org/mars/'>http://www.eclipse.org/neon/</ulink>.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Download the Tarball:</emphasis>
+ Click through the "Download" buttons to
+ download the file.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Unpack the Tarball:</emphasis>
+ Move to a clean directory and unpack the tarball.
+ Here is an example:
+ <literallayout class='monospaced'>
$ cd ~
- $ tar -xzvf ~/Downloads/eclipse-cpp-luna-SR2-linux-gtk-x86_64.tar.gz
- </literallayout>
+ $ tar -xzvf ~/Downloads/eclipse-inst-linux64.tar.gz
+ </literallayout>
+ Everything unpacks into a folder named
+ "eclipse-installer".
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Launch the Installer:</emphasis>
+ Use the following commands to launch the installer:
+ <literallayout class='monospaced'>
+ $ cd ~/eclipse-installer
+ $ ./eclipse-inst
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Select Your IDE:</emphasis>
+ From the list, select the "Eclipse IDE for
+ C/C++ Developers".
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Install the Software:</emphasis>
+ Accept the default "cpp-neon" directory and click
+ "Install".
+ Accept any license agreements and approve any
+ certificates.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Launch Neon:</emphasis>
+ Click the "Launch" button and accept the default
+ "workspace".
+ </para></listitem>
+ </orderedlist>
</para>
</section>
- <section id='configuring-the-eclipse-ide'>
- <title>Configuring the Eclipse IDE</title>
-
- <para>
- This section presents the steps needed to configure the
- Eclipse IDE.
- </para>
+ <section id='neon-configuring-the-mars-eclipse-ide'>
+ <title>Configuring the Neon Eclipse IDE</title>
<para>
- Before installing and configuring the Eclipse Yocto Plug-in,
- you need to configure the Eclipse IDE.
- Follow these general steps:
+ Follow these steps to configure the Neon Eclipse IDE.
+ <note>
+ Depending on how you installed Eclipse and what you have
+ already done, some of the options will not appear.
+ If you cannot find an option as directed by the manual,
+ it has already been installed.
+ </note>
<orderedlist>
- <listitem><para>Start the Eclipse IDE.</para></listitem>
- <listitem><para>Make sure you are in your Workbench and
- select "Install New Software" from the "Help"
- pull-down menu.</para></listitem>
+ <listitem><para>Be sure Eclipse is running and
+ you are in your workbench.
+ </para></listitem>
+ <listitem><para>Select "Install New Software" from
+ the "Help" pull-down menu.
+ </para></listitem>
<listitem><para>Select
- <filename>Luna - &ECLIPSE_LUNA_URL;</filename>
+ "Neon - http://download.eclipse.org/releases/neon"
from the "Work with:" pull-down menu.
- <note>
- For Kepler, select
- <filename>Kepler - &ECLIPSE_KEPLER_URL;</filename>
- </note>
</para></listitem>
- <listitem><para>Expand the box next to "Linux Tools"
- and select the
- <filename>Linux Tools LTTng Tracer Control</filename>,
- <filename>Linux Tools LTTng Userspace Analysis</filename>,
- and
- <filename>LTTng Kernel Analysis</filename> boxes.
- If these selections do not appear in the list,
- that means the items are already installed.
- <note>
- For Kepler, select
- <filename>LTTng - Linux Tracing Toolkit</filename>
- box.
- </note>
+ <listitem><para>Expand the box next to
+ "Linux Tools" and select the following:
+ <literallayout class='monospaced'>
+ C/C++ Remote (Over TCF/TE) Run/Debug Launcher
+ TM Terminal
+ </literallayout>
</para></listitem>
<listitem><para>Expand the box next to "Mobile and
- Device Development" and select the following boxes.
- Again, if any of the following items are not
- available for selection, that means the items are
- already installed:
- <itemizedlist>
- <listitem><para><filename>C/C++ Remote Launch (Requires RSE Remote System Explorer)</filename></para></listitem>
- <listitem><para><filename>Remote System Explorer End-user Runtime</filename></para></listitem>
- <listitem><para><filename>Remote System Explorer User Actions</filename></para></listitem>
- <listitem><para><filename>Target Management Terminal (Core SDK)</filename></para></listitem>
- <listitem><para><filename>TCF Remote System Explorer add-in</filename></para></listitem>
- <listitem><para><filename>TCF Target Explorer</filename></para></listitem>
- </itemizedlist></para></listitem>
- <listitem><para>Expand the box next to "Programming
- Languages" and select the
- <filename>C/C++ Autotools Support</filename>
- and <filename>C/C++ Development Tools</filename>
- boxes.
- For Luna, these items do not appear on the list
- as they are already installed.
+ Device Development" and select the following
+ boxes:
+ <literallayout class='monospaced'>
+ C/C++ Remote (Over TCF/TE) Run/Debug Launcher
+ Remote System Explorer User Actions
+ TM Terminal
+ TCF Remote System Explorer add-in
+ TCF Target Explorer
+ </literallayout>
+ </para></listitem>
+ <listitem><para>Expand the box next to
+ "Programming Languages" and select the
+ following box:
+ <literallayout class='monospaced'>
+ C/C++ Development Tools SDK
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ Complete the installation by clicking through
+ appropriate "Next" and "Finish" buttons.
</para></listitem>
- <listitem><para>Complete the installation and restart
- the Eclipse IDE.</para></listitem>
</orderedlist>
</para>
</section>
- <section id='installing-the-eclipse-yocto-plug-in'>
- <title>Installing or Accessing the Eclipse Yocto Plug-in</title>
+ <section id='neon-installing-the-eclipse-yocto-plug-in'>
+ <title>Installing or Accessing the Neon Eclipse Yocto Plug-in</title>
<para>
You can install the Eclipse Yocto Plug-in into the Eclipse
@@ -740,12 +743,12 @@
install the plug-in from the latest source code.
</para>
- <section id='new-software'>
+ <section id='neon-new-software'>
<title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update Site</title>
<para>
- To install the Eclipse Yocto Plug-in from the update
- site, follow these steps:
+ To install the Neon Eclipse Yocto Plug-in from the
+ update site, follow these steps:
<orderedlist>
<listitem><para>Start up the Eclipse IDE.
</para></listitem>
@@ -753,27 +756,24 @@
Software" from the "Help" menu.
</para></listitem>
<listitem><para>Click "Add..." in the "Work with:"
- area.</para></listitem>
- <listitem><para>Enter
- <filename>&ECLIPSE_DL_PLUGIN_URL;/luna</filename>
+ area.
+ </para></listitem>
+ <listitem><para>Enter
+ <filename>&ECLIPSE_DL_PLUGIN_URL;/neon</filename>
in the URL field and provide a meaningful name
in the "Name" field.
- <note>
- If you are using Kepler, use
- <filename>&ECLIPSE_DL_PLUGIN_URL;/kepler</filename>
- in the URL field.
- </note></para></listitem>
+ </para></listitem>
<listitem><para>Click "OK" to have the entry added
to the "Work with:" drop-down list.
</para></listitem>
<listitem><para>Select the entry for the plug-in
from the "Work with:" drop-down list.
</para></listitem>
- <listitem><para>Check the boxes next to
- <filename>Yocto Project ADT Plug-in</filename>,
- <filename>Yocto Project Bitbake Commander Plug-in</filename>,
- and
- <filename>Yocto Project Documentation plug-in</filename>.
+ <listitem><para>Check the boxes next to the following:
+ <literallayout class='monospaced'>
+ Yocto Project SDK Plug-in
+ Yocto Project Documentation plug-in
+ </literallayout>
</para></listitem>
<listitem><para>Complete the remaining software
installation steps and then restart the Eclipse
@@ -788,61 +788,55 @@
</para>
</section>
- <section id='zip-file-method'>
- <title>Installing the Plug-in Using the Latest Source Code</title>
+ <section id='neon-zip-file-method'>
+ <title>Installing the Plug-in Using the Latest Source Code</title>
- <para>
- To install the Eclipse Yocto Plug-in from the latest
- source code, follow these steps:
+ <para>
+ To install the Neon Eclipse Yocto Plug-in from the
+ latest source code, follow these steps:
<orderedlist>
<listitem><para>Be sure your development system
- is not using OpenJDK to build the plug-in
- by doing the following:
- <orderedlist>
- <listitem><para>Use the Oracle JDK.
- If you don't have that, go to
- <ulink url='http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html'></ulink>
- and download the latest appropriate
- Java SE Development Kit tarball for
- your development system and
- extract it into your home directory.
- </para></listitem>
- <listitem><para>In the shell you are going
- to do your work, export the location of
- the Oracle Java.
- The previous step creates a new folder
- for the extracted software.
- You need to use the following
- <filename>export</filename> command
- and provide the specific location:
- <literallayout class='monospaced'>
- export PATH=~/<replaceable>extracted_jdk_location</replaceable>/bin:$PATH
- </literallayout>
- </para></listitem>
- </orderedlist>
+ has JDK 1.7+
</para></listitem>
- <listitem><para>In the same shell, create a Git
- repository with:
+ <listitem><para>install X11-related packages:
+ <literallayout class='monospaced'>
+ $ sudo apt-get install xauth
+ </literallayout>
+ </para></listitem>
+ <listitem><para>In a new terminal shell, create a
+ Git repository with:
<literallayout class='monospaced'>
$ cd ~
$ git clone git://git.yoctoproject.org/eclipse-poky
</literallayout>
</para></listitem>
- <listitem><para>Be sure to checkout the correct
- tag.
- For example, if you are using Luna, do the
- following:
+ <listitem><para>Use Git to create the correct
+ tag:
+
+ <note><title>Developer's Note</title>
+ <para role='writernotes'>
+ Because the 2.2 tag will not exist until after
+ the release, I must first do the following
+ before running the
+ <filename>git checkout mars/yocto-&DISTRO;</filename>
+ command in this step:
+ <literallayout class='monospaced'>
+ $ cd ~/eclipse-poky
+ $ git tag neon/yocto-2.2 origin/neon-master
+ </literallayout></para>
+ </note>
+
<literallayout class='monospaced'>
- $ git checkout luna/yocto-&DISTRO;
+ $ cd ~/eclipse-poky
+ $ git checkout neon/yocto-&DISTRO;
</literallayout>
- This puts you in a detached HEAD state, which
+ This creates a local tag named
+ <filename>neon/yocto-&DISTRO;</filename>
+ based on the branch
+ <filename>origin/neon-master</filename>.
+ You are put into a detached HEAD state, which
is fine since you are only going to be building
and not developing.
- <note>
- If you are building kepler, checkout the
- <filename>kepler/yocto-&DISTRO;</filename>
- branch.
- </note>
</para></listitem>
<listitem><para>Change to the
<filename>scripts</filename>
@@ -856,27 +850,29 @@
<literallayout class='monospaced'>
$ ./setup.sh
</literallayout>
- </para></listitem>
- <listitem><para>When the script finishes execution,
+ When the script finishes execution,
it prompts you with instructions on how to run
the <filename>build.sh</filename> script, which
is also in the <filename>scripts</filename>
directory of the Git repository created
earlier.
</para></listitem>
- <listitem><para>Run the <filename>build.sh</filename>
+ <listitem><para>
+ Run the <filename>build.sh</filename>
script as directed.
Be sure to provide the tag name, documentation
- branch, and a release name.
- Here is an example that uses the
- <filename>luna/yocto-&DISTRO;</filename> tag, the
- <filename>master</filename> documentation
- branch, and
- <filename>&DISTRO_NAME_NO_CAP;</filename> for the
- release name:
+ branch, and a release name.</para>
+ <para>
+ Following is an example:
<literallayout class='monospaced'>
- $ ECLIPSE_HOME=/home/scottrif/eclipse-poky/scripts/eclipse ./build.sh luna/yocto-&DISTRO; master &DISTRO_NAME_NO_CAP; 2>&amp;1 | tee -a build.log
+ $ ECLIPSE_HOME=/home/scottrif/eclipse-poky/scripts/eclipse ./build.sh -l neon/yocto-&DISTRO; master yocto-&DISTRO; 2>&amp;1 | tee build.log
</literallayout>
+ The previous example command adds the tag you
+ need for
+ <filename>mars/yocto-&DISTRO;</filename>
+ to <filename>HEAD</filename>, then tells the
+ build script to use the local (-l) Git checkout
+ for the build.
After running the script, the file
<filename>org.yocto.sdk-</filename><replaceable>release</replaceable><filename>-</filename><replaceable>date</replaceable><filename>-archive.zip</filename>
is in the current directory.
@@ -887,12 +883,13 @@
<listitem><para>Select "Install New Software" from
the "Help" pull-down menu.
</para></listitem>
- <listitem><para>Click "Add".</para></listitem>
+ <listitem><para>Click "Add".
+ </para></listitem>
<listitem><para>Provide anything you want in the
"Name" field.
</para></listitem>
<listitem><para>Click "Archive" and browse to the
- ZIP file you built in step eight.
+ ZIP file you built earlier.
This ZIP file should not be "unzipped", and must
be the <filename>*archive.zip</filename> file
created by running the
@@ -902,10 +899,20 @@
</para></listitem>
<listitem><para>Check the boxes that appear in
the installation window to install the
- <filename>Yocto Project ADT Plug-in</filename>,
- <filename>Yocto Project Bitbake Commander Plug-in</filename>,
- and the
- <filename>Yocto Project Documentation plug-in</filename>.
+ following:
+
+ <note><title>Developer's Note</title>
+ <para role='writernotes'>
+ Right now, a check box for BitBake Commander
+ is appearing.
+ This probably needs removed.
+ Do not check this box.</para>
+ </note>
+
+ <literallayout class='monospaced'>
+ Yocto Project SDK Plug-in
+ Yocto Project Documentation plug-in
+ </literallayout>
</para></listitem>
<listitem><para>Finish the installation by clicking
through the appropriate buttons.
@@ -922,17 +929,18 @@
<para>
At this point you should be able to configure the
Eclipse Yocto Plug-in as described in the
- "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>"
- section.</para>
+ "<link linkend='mars-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon Eclipse Yocto Plug-in</link>"
+ section.
+ </para>
</section>
</section>
- <section id='configuring-the-eclipse-yocto-plug-in'>
- <title>Configuring the Eclipse Yocto Plug-in</title>
+ <section id='neon-configuring-the-eclipse-yocto-plug-in'>
+ <title>Configuring the Neon Eclipse Yocto Plug-in</title>
<para>
- Configuring the Eclipse Yocto Plug-in involves setting the
- Cross Compiler options and the Target options.
+ Configuring the Neon Eclipse Yocto Plug-in involves
+ setting the Cross Compiler options and the Target options.
The configurations you choose become the default settings
for all projects.
You do have opportunities to change them later when
@@ -946,17 +954,28 @@
<listitem><para>Choose "Preferences" from the
"Window" menu to display the Preferences Dialog.
</para></listitem>
- <listitem><para>Click "Yocto Project ADT" to display
+ <listitem><para>Click "Yocto Project SDK" to display
the configuration screen.
</para></listitem>
</itemizedlist>
+ The following sub-sections describe how to configure the
+ the plug-in.
+ <note>
+ Throughout the descriptions, a start-to-finish example for
+ preparing a QEMU image for use with Eclipse is referenced
+ as the "wiki" and is linked to the example on the
+ <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'> Cookbook guide to Making an Eclipse Debug Capable Image</ulink>
+ wiki page.
+ </note>
</para>
- <section id='configuring-the-cross-compiler-options'>
+ <section id='neon-configuring-the-cross-compiler-options'>
<title>Configuring the Cross-Compiler Options</title>
<para>
- To configure the Cross Compiler Options, you must select
+ Cross Compiler options enable Eclipse to use your specific
+ cross compiler toolchain.
+ To configure these options, you must select
the type of toolchain, point to the toolchain, specify
the sysroot location, and select the target
architecture.
@@ -970,7 +989,7 @@
<itemizedlist>
<listitem><para><emphasis>
<filename>Standalone Pre-built Toolchain:</filename></emphasis>
- Select this mode when you are using
+ Select this type when you are using
a stand-alone cross-toolchain.
For example, suppose you are an
application developer and do not
@@ -978,45 +997,66 @@
Instead, you just want to use an
architecture-specific toolchain on
an existing kernel and target root
- filesystem.</para></listitem>
- <listitem><para><emphasis>
+ filesystem.
+ In other words, you have downloaded
+ and installed a pre-built toolchain
+ for an existing image.
+ </para></listitem>
+ <listitem><para><emphasis>
<filename>Build System Derived Toolchain:</filename></emphasis>
- Select this mode if the
- cross-toolchain has been installed
- and built as part of the
+ Select this type if you built the
+ toolchain as part of the
<ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
When you select
<filename>Build system derived toolchain</filename>,
- you are using the toolchain bundled
- inside the Build Directory.
+ you are using the toolchain built and
+ bundled inside the Build Directory.
+ For example, suppose you created a
+ suitable image using the steps in the
+ <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>.
+ In this situation, you would select the
+ <filename>Build system derived toolchain</filename>.
</para></listitem>
</itemizedlist>
</para></listitem>
- <listitem><para><emphasis>Point to the Toolchain:</emphasis>
+ <listitem><para><emphasis>Specify the Toolchain Root Location:</emphasis>
If you are using a stand-alone pre-built
toolchain, you should be pointing to where it is
- installed.
+ installed (e.g.
+ <filename>/opt/poky/&DISTRO;</filename>).
See the
"<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
section for information about how the SDK is
installed.</para>
- <para>If you are using a system-derived
+ <para>If you are using a build system derived
toolchain, the path you provide for the
<filename>Toolchain Root Location</filename>
field is the
- <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
- See the
+ <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
+ from which you run the
+ <filename>bitbake</filename> command (e.g
+ <filename>/home/scottrif/poky/build</filename>).</para>
+ <para>For more information, see the
"<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>"
- section.</para></listitem>
- <listitem><para><emphasis>Specify the Sysroot Location:</emphasis>
+ section.
+ </para></listitem>
+ <listitem><para><emphasis>Specify Sysroot Location:</emphasis>
This location is where the root filesystem for
the target hardware resides.
</para>
- <para>The location of
- the sysroot filesystem depends on where you
- separately extracted and installed the
- filesystem.</para>
- <para>For information on how to install the
+ <para>This location depends on where you
+ separately extracted and installed the target
+ filesystem.
+ As an example, suppose you prepared an image
+ using the steps in the
+ <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>.
+ If so, the <filename>MY_QEMU_ROOTFS</filename>
+ directory is found in the
+ <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
+ and you would browse to and select that directory
+ (e.g. <filename>/home/scottrif/poky/build/MY_QEMU_ROOTFS</filename>).
+ </para>
+ <para>For more information on how to install the
toolchain and on how to extract and install the
sysroot filesystem, see the
"<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>"
@@ -1035,12 +1075,15 @@
See the
"<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
section of the Yocto Project Quick Start for
- more information.</para></listitem>
+ more information.
+ You can also see the
+ <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>.
+ </para></listitem>
</itemizedlist>
</para>
</section>
- <section id='configuring-the-target-options'>
+ <section id='neon-configuring-the-target-options'>
<title>Configuring the Target Options</title>
<para>
@@ -1054,16 +1097,24 @@
If you are using the emulator, you also need to
locate the kernel and specify any custom
options.</para>
- <para>If you selected
+ <para>If you selected the
<filename>Build system derived toolchain</filename>,
the target kernel you built will be located in
- the Build Directory in
+ the
+ <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>
+ in
<filename>tmp/deploy/images/<replaceable>machine</replaceable></filename>
directory.
- If you selected
- <filename>Standalone pre-built toolchain</filename>,
- the pre-built image you downloaded is located
- in the directory you specified when you
+ As an example, suppose you performed the steps in
+ the
+ <ulink url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>wiki</ulink>.
+ In this case, you specify your Build Directory path
+ followed by the image (e.g.
+ <filename>/home/scottrif/poky/build/tmp/deploy/images/qemux86/bzImage-qemux86.bin</filename>).
+ </para>
+ <para>If you selected the standalone pre-built
+ toolchain, the pre-built image you downloaded is
+ located in the directory you specified when you
downloaded the image.</para>
<para>Most custom options are for advanced QEMU
users to further customize their QEMU instance.
@@ -1095,13 +1146,14 @@
</para>
<para>
- Click the "OK" to save your plug-in configurations.
+ Click the "Apply" and "OK" to save your plug-in
+ configurations.
</para>
</section>
</section>
</section>
- <section id='creating-the-project'>
+ <section id='neon-creating-the-project'>
<title>Creating the Project</title>
<para>
@@ -1124,52 +1176,50 @@
To create a project based on a Yocto template and then display
the source code, follow these steps:
<orderedlist>
- <listitem><para>Select "Project" from the "File -> New" menu.
- </para></listitem>
- <listitem><para>Double click <filename>CC++</filename>.
+ <listitem><para>Select "C Project" from the "File -> New" menu.
</para></listitem>
- <listitem><para>Double click <filename>C Project</filename>
- to create the project.</para></listitem>
- <listitem><para>Expand <filename>Yocto Project ADT Autotools Project</filename>.
+ <listitem><para>Expand <filename>Yocto Project SDK Autotools Project</filename>.
</para></listitem>
- <listitem><para>Select <filename>Hello World ANSI C Autotools Project</filename>.
+ <listitem><para>Select <filename>Hello World ANSI C Autotools Projects</filename>.
This is an Autotools-based project based on a Yocto
- template.</para></listitem>
+ template.
+ </para></listitem>
<listitem><para>Put a name in the <filename>Project name:</filename>
field.
- Do not use hyphens as part of the name.
+ Do not use hyphens as part of the name
+ (e.g. <filename>hello</filename>).
+ </para></listitem>
+ <listitem><para>Click "Next".
</para></listitem>
- <listitem><para>Click "Next".</para></listitem>
- <listitem><para>Add information in the
- <filename>Author</filename> and
- <filename>Copyright notice</filename> fields.
+ <listitem><para>Add appropriate information in the various
+ fields.
+ </para></listitem>
+ <listitem><para>Click "Finish".
</para></listitem>
- <listitem><para>Be sure the <filename>License</filename>
- field is correct.</para></listitem>
- <listitem><para>Click "Finish".</para></listitem>
<listitem><para>If the "open perspective" prompt appears,
click "Yes" so that you in the C/C++ perspective.
</para></listitem>
<listitem><para>The left-hand navigation pane shows your
project.
You can display your source by double clicking the
- project's source file.</para></listitem>
+ project's source file.
+ </para></listitem>
</orderedlist>
</para>
</section>
- <section id='configuring-the-cross-toolchains'>
+ <section id='neon-configuring-the-cross-toolchains'>
<title>Configuring the Cross-Toolchains</title>
<para>
The earlier section,
- "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>",
+ "<link linkend='mars-configuring-the-eclipse-yocto-plug-in'>Configuring the Mars Eclipse Yocto Plug-in</link>",
sets up the default project configurations.
You can override these settings for a given project by following
these steps:
<orderedlist>
- <listitem><para>Select "Change Yocto Project Settings" from
- the "Project" menu.
+ <listitem><para>Select "Yocto Project Settings" from
+ the "Project -> Properties" menu.
This selection brings up the Yocto Project Settings
Dialog and allows you to make changes specific to an
individual project.</para>
@@ -1177,12 +1227,12 @@
Options for a project are inherited from settings you
provided using the Preferences Dialog as described
earlier in the
- "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>" section.
+ "<link linkend='mars-configuring-the-eclipse-yocto-plug-in'>Configuring the Mars Eclipse Yocto Plug-in</link>" section.
The Yocto Project Settings Dialog allows you to override
those default settings for a given project.
</para></listitem>
- <listitem><para>Make your configurations for the project
- and click "OK".
+ <listitem><para>Make or verify your configurations for the
+ project and click "OK".
</para></listitem>
<listitem><para>Right-click in the navigation pane and
select "Reconfigure Project" from the pop-up menu.
@@ -1202,20 +1252,20 @@
</para>
</section>
- <section id='building-the-project'>
+ <section id='neon-building-the-project'>
<title>Building the Project</title>
<para>
- To build the project select "Build Project" from the
+ To build the project select "Build All" from the
"Project" menu.
The console should update and you can note the cross-compiler
you are using.
<note>
- When building "Yocto Project ADT Autotools" projects, the Eclipse
- IDE might display error messages for Functions/Symbols/Types
- that cannot be "resolved", even when the related include file
- is listed at the project navigator and when the project is
- able to build.
+ When building "Yocto Project SDK Autotools" projects, the
+ Eclipse IDE might display error messages for
+ Functions/Symbols/Types that cannot be "resolved", even when
+ the related include file is listed at the project navigator and
+ when the project is able to build.
For these cases only, it is recommended to add a new linked
folder to the appropriate sysroot.
Use these steps to add the linked folder:
@@ -1247,7 +1297,7 @@
</para>
</section>
- <section id='starting-qemu-in-user-space-nfs-mode'>
+ <section id='neon-starting-qemu-in-user-space-nfs-mode'>
<title>Starting QEMU in User-Space NFS Mode</title>
<para>
@@ -1259,31 +1309,65 @@
chapter in the Yocto Project Development Manual
for more information on using QEMU.
</note>
- <orderedlist>
- <listitem><para>Expose and select "External Tools" from
- the "Run" menu.
- Your image should appear as a selectable menu item.
+ <orderedlist>
+ <listitem><para>Expose and select "External Tools
+ Configurations ..." from the "Run -> External Tools" menu.
</para></listitem>
- <listitem><para>Select your image from the menu to launch
- the emulator in a new window.
+ <listitem><para>
+ Locate and select your image in the navigation panel to
+ the left (e.g. <filename>qemu_i586-poky-linux</filename>).
+ </para></listitem>
+ <listitem><para>
+ Click "Run" to launch QEMU.
+ <note>
+ The host on which you are running QEMU must have
+ the <filename>rpcbind</filename> utility running to be
+ able to make RPC calls on a server on that machine.
+ If QEMU does not invoke and you receive error messages
+ involving <filename>rpcbind</filename>, follow the
+ suggestions to get the service running.
+ As an example, on a new Ubuntu 16.04 LTS installation,
+ you must do the following in order to get QEMU to
+ launch:
+ <literallayout class='monospaced'>
+ $ sudo apt-get install rpcbind
+ </literallayout>
+ After installing <filename>rpcbind</filename>, you
+ need to edit the
+ <filename>/etc/init.d/rpcbind</filename> file to
+ include the following line:
+ <literallayout class='monospaced'>
+ OPTIONS="-i -w"
+ </literallayout>
+ After modifying the file, you need to start the
+ service:
+ <literallayout class='monospaced'>
+ $ sudo service portmap restart
+ </literallayout>
+ </note>
</para></listitem>
<listitem><para>If needed, enter your host root password in
the shell window at the prompt.
This sets up a <filename>Tap 0</filename> connection
needed for running in user-space NFS mode.
</para></listitem>
- <listitem><para>Wait for QEMU to launch.</para></listitem>
+ <listitem><para>Wait for QEMU to launch.
+ </para></listitem>
<listitem><para>Once QEMU launches, you can begin operating
within that environment.
One useful task at this point would be to determine the
IP Address for the user-space NFS by using the
- <filename>ifconfig</filename> command.
- </para></listitem>
+ <filename>ifconfig</filename> command.
+ The IP address of the QEMU machine appears in the
+ xterm window.
+ You can use this address to help you see which particular
+ IP address the instance of QEMU is using.
+ </para></listitem>
</orderedlist>
</para>
</section>
- <section id='deploying-and-debugging-the-application'>
+ <section id='neon-deploying-and-debugging-the-application'>
<title>Deploying and Debugging the Application</title>
<para>
@@ -1299,7 +1383,11 @@
that connection alive during your work.
For example, in a new terminal, run the following:
<literallayout class='monospaced'>
- ssh -XY user_name@remote_host_ip
+ $ ssh -XY <replaceable>user_name</replaceable>@<replaceable>remote_host_ip</replaceable>
+ </literallayout>
+ Using the above form, here is an example:
+ <literallayout class='monospaced'>
+ $ ssh -XY root@192.168.7.2
</literallayout>
After running the command, add the command to be executed
in Eclipse's run configuration before the application
@@ -1307,6 +1395,9 @@
<literallayout class='monospaced'>
export DISPLAY=:10.0
</literallayout>
+ Be sure to not destroy the connection during your QEMU
+ session (i.e. do not
+ exit out of or close that shell).
</note>
<orderedlist>
<listitem><para>Select "Debug Configurations..." from the
@@ -1317,47 +1408,83 @@
<listitem><para>Locate your project and select it to bring
up a new tabbed view in the Debug Configurations Dialog.
</para></listitem>
- <listitem><para>Enter the absolute path into which you want
- to deploy the application.
- Use the "Remote Absolute File Path for
- C/C++Application:" field.
- For example, enter
- <filename>/usr/bin/<replaceable>programname</replaceable></filename>.
- </para></listitem>
<listitem><para>Click on the "Debugger" tab to see the
- cross-tool debugger you are using.</para></listitem>
- <listitem><para>Click on the "Main" tab.</para></listitem>
+ cross-tool debugger you are using.
+ Be sure to change to the debugger perspective in Eclipse.
+ </para></listitem>
+ <listitem><para>Click on the "Main" tab.
+ </para></listitem>
<listitem><para>Create a new connection to the QEMU instance
by clicking on "new".</para></listitem>
- <listitem><para>Select <filename>TCF</filename>, which means
- Target Communication Framework.</para></listitem>
- <listitem><para>Click "Next".</para></listitem>
- <listitem><para>Clear out the "host name" field and enter
- the IP Address determined earlier.</para></listitem>
+ <listitem><para>Select <filename>SSH</filename>, which means
+ Secure Socket Shell and then click "OK".
+ Optionally, you can select an TCF connection instead.
+ </para></listitem>
+ <listitem><para>Clear out the "Connection name" field and enter
+ the IP Address determined earlier (e.g. 192.168.7.2).
+ </para></listitem>
+ <listitem><para>Put the IP address for the connection in
+ "Host" field.
+ </para></listitem>
+ <listitem><para>Provide <filename>root</filename> for the
+ "User" field.
+ </para></listitem>
<listitem><para>Click "Finish" to close the
- New Connections Dialog.</para></listitem>
- <listitem><para>Use the drop-down menu now in the
+ New Connections Dialog.
+ </para></listitem>
+ <listitem><para>If necessary, use the drop-down menu now in the
"Connection" field and pick the IP Address you entered.
</para></listitem>
- <listitem><para>Click "Debug" to bring up a login screen
- and login.</para></listitem>
+ <listitem><para>Assuming you are connecting as the root
+ user, which is the default for QEMU x86-64 SDK images
+ provided by the Yocto Project, in the "Remote Absolute
+ File Path for C/C++ Application" field, browse to
+ <filename>/home/root/</filename><replaceable>ProjectName</replaceable>
+ (e.g. <filename>/home/root/hello</filename>).
+ You could also browse to any other path you have write
+ access to on the target such as
+ <filename>/usr/bin</filename>.
+ This location is where your application will be located
+ on the QEMU system.
+ If you fail to browse to and specify an appropriate
+ location, QEMU will not understand what to remotely
+ launch.
+ Eclipse is helpful in that it auto fills your
+ application name for you assuming you browsed to a
+ directory.
+ <note>
+ If you are prompted to provide a username and to
+ optionally set a password, be sure you provide
+ "root" as the username and you leave the password
+ field blank.
+ </note>
+ </para></listitem>
+ <listitem><para>
+ Be sure you change to the "Debug" perspective in
+ Eclipse.
+ </para></listitem>
+ <listitem><para>Click "Debug"
+ </para></listitem>
<listitem><para>Accept the debug perspective.
</para></listitem>
</orderedlist>
</para>
</section>
- <section id='running-performance-tools'>
- <title>Running Performance Tools</title>
+ <section id='neon-using-Linuxtools'>
+ <title>Using Linuxtools</title>
+
+ <para>
+ As mentioned earlier in the manual, performance tools exist
+ (Linuxtools) that enhance your development experience.
+ These tools are aids in developing and debugging applications and
+ images.
+ You can run these tools from within the Eclipse IDE through the
+ "Linuxtools" menu.
+ </para>
<para>
- As mentioned earlier in the manual, several tools exist that
- enhance your development experience.
- These tools are aids in developing and debugging applications
- and images.
- You can run these tools from within the Eclipse
- IDE through the "YoctoProjectTools" menu.
- For more information on these tools, see
+ For information on how to configure and use these tools, see
<ulink url='http://www.eclipse.org/linuxtools/'>http://www.eclipse.org/linuxtools/</ulink>.
</para>
</section>