[gnome-continuous-yocto/gnomeostree-3.28-rocko: 8105/8267] sdk-manual: Split the Eclipse section into a separate chapter
- From: Emmanuele Bassi <ebassi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-continuous-yocto/gnomeostree-3.28-rocko: 8105/8267] sdk-manual: Split the Eclipse section into a separate chapter
- Date: Sun, 17 Dec 2017 07:11:05 +0000 (UTC)
commit 34befd259d6c4021ba200b710bb83b3f3dbd59d8
Author: Scott Rifenbark <srifenbark gmail com>
Date: Wed Oct 18 09:21:19 2017 -0700
sdk-manual: Split the Eclipse section into a separate chapter
This also affected a link in the dev-manual and some setup stuff
in the mega-manual and sdk-manual.xml file due to a new chapter
being introduced.
This section on the Eclipse stuff is big enough to warrant its
own chapter. I decided to pull it into a separate chapter of its
own.
(From yocto-docs rev: a4b2b605902f09bb200facfabb0a7c355fbf4c87)
Signed-off-by: Scott Rifenbark <srifenbark gmail com>
Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>
documentation/dev-manual/dev-manual-start.xml | 4 +-
documentation/mega-manual/mega-manual.xml | 2 +
documentation/sdk-manual/sdk-appendix-mars.xml | 4 +-
documentation/sdk-manual/sdk-eclipse-project.xml | 1211 +++++++++++++++++++++
documentation/sdk-manual/sdk-intro.xml | 4 +-
documentation/sdk-manual/sdk-manual.xml | 4 +-
documentation/sdk-manual/sdk-working-projects.xml | 1210 +--------------------
7 files changed, 1225 insertions(+), 1214 deletions(-)
---
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml
index 5981645..4292865 100644
--- a/documentation/dev-manual/dev-manual-start.xml
+++ b/documentation/dev-manual/dev-manual-start.xml
@@ -52,8 +52,8 @@
<listitem><para>
<emphasis>Eclipse Development:</emphasis>
See the
- "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-developing-applications-using-eclipse'>Developing
Applications Using Eclipse</ulink>"
- section in the Yocto Project Software Development Kit (SDK)
+ "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-eclipse-project'>Developing Applications Using
<trademark class='trade'>Eclipse</trademark></ulink>"
+ Chapter in the Yocto Project Software Development Kit (SDK)
Developer's Guide.
</para></listitem>
</itemizedlist>
diff --git a/documentation/mega-manual/mega-manual.xml b/documentation/mega-manual/mega-manual.xml
index f7df5bb..5550803 100644
--- a/documentation/mega-manual/mega-manual.xml
+++ b/documentation/mega-manual/mega-manual.xml
@@ -150,6 +150,8 @@
<xi:include
xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-working-projects.xml"/>
<xi:include
+ xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-eclipse-project.xml"/>
+ <xi:include
xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-appendix-obtain.xml"/>
<xi:include
xmlns:xi="http://www.w3.org/2003/XInclude" href="../sdk-manual/sdk-appendix-customizing.xml"/>
diff --git a/documentation/sdk-manual/sdk-appendix-mars.xml b/documentation/sdk-manual/sdk-appendix-mars.xml
index f956a4d..2d80f64 100644
--- a/documentation/sdk-manual/sdk-appendix-mars.xml
+++ b/documentation/sdk-manual/sdk-appendix-mars.xml
@@ -14,8 +14,8 @@
from start to finish.
For general information on using the Eclipse IDE and the Yocto
Project Eclipse Plug-In, see the
- "<link linkend='sdk-developing-applications-using-eclipse'>Developing Applications Using <trademark
class='trade'>Eclipse</trademark></link>"
- section.
+ "<link linkend='sdk-eclipse-project'>Developing Applications Using <trademark
class='trade'>Eclipse</trademark></link>"
+ Chapter.
</para>
<section id='mars-setting-up-the-eclipse-ide'>
diff --git a/documentation/sdk-manual/sdk-eclipse-project.xml
b/documentation/sdk-manual/sdk-eclipse-project.xml
new file mode 100644
index 0000000..bdb8344
--- /dev/null
+++ b/documentation/sdk-manual/sdk-eclipse-project.xml
@@ -0,0 +1,1211 @@
+<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
+[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
+
+<chapter id='sdk-eclipse-project'>
+
+ <title>Developing Applications Using <trademark class='trade'>Eclipse</trademark></title>
+
+ <para>
+ If you are familiar with the popular Eclipse IDE, you can use an
+ Eclipse Yocto Plug-in to allow you to develop, deploy, and test your
+ application all from within Eclipse.
+ This chapter describes general workflow using the SDK and Eclipse
+ and how to configure and set up Eclipse.
+ </para>
+
+ <section id='workflow-using-eclipse'>
+ <title>Workflow Using <trademark class='trade'>Eclipse</trademark></title>
+
+ <para>
+ The following figure and supporting list summarize the
+ application development general workflow that employs both the
+ SDK Eclipse.
+ </para>
+
+ <para>
+ <imagedata fileref="figures/sdk-eclipse-dev-flow.png"
+ width="7in" depth="7in" align="center" scale="100" />
+ </para>
+
+ <para>
+ <orderedlist>
+ <listitem><para>
+ <emphasis>Prepare the host system for the Yocto
+ Project</emphasis>:
+ See
+ "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux
Distributions</ulink>"
+ and
+ "<ulink
url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host
Development System</ulink>"
+ sections both in the Yocto Project Reference Manual for
+ requirements.
+ In particular, be sure your host system has the
+ <filename>xterm</filename> package installed.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Secure the Yocto Project kernel target
+ image</emphasis>:
+ You must have a target kernel image that has been built
+ using the OpenEmbedded build system.</para>
+ <para>Depending on whether the Yocto Project has a
+ pre-built image that matches your target architecture
+ and where you are going to run the image while you
+ develop your application (QEMU or real hardware), the
+ area from which you get the image differs.
+ <itemizedlist>
+ <listitem><para>
+ Download the image from
+ <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
+ if your target architecture is supported and
+ you are going to develop and test your
+ application on actual hardware.
+ </para></listitem>
+ <listitem><para>
+ Download the image from
+ <ulink url='&YOCTO_QEMU_DL_URL;'>
+ <filename>machines/qemu</filename></ulink> if
+ your target architecture is supported and you
+ are going to develop and test your application
+ using the QEMU emulator.
+ </para></listitem>
+ <listitem><para>
+ Build your image if you cannot find a pre-built
+ image that matches your target architecture.
+ If your target architecture is similar to a
+ supported architecture, you can modify the
+ kernel image before you build it.
+ See the
+ "<ulink
url='&YOCTO_DOCS_KERNEL_DEV_URL;#using-devtool-to-patch-the-kernel'>Using <filename>devtool</filename> to
Patch the Kernel</ulink>"
+ section in the Yocto Project Linux Kernel
+ Development Manual for an example.
+ </para></listitem>
+ </itemizedlist>
+ </para></listitem>
+ <listitem>
+ <para><emphasis>Install the SDK</emphasis>:
+ The SDK provides a target-specific cross-development
+ toolchain, the root filesystem, the QEMU emulator, and
+ other tools that can help you develop your application.
+ For information on how to install the SDK, see the
+ "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
+ section.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Secure the target root filesystem
+ and the Cross-development toolchain</emphasis>:
+ You need to find and download the appropriate root
+ filesystem and the cross-development toolchain.</para>
+ <para>You can find the tarballs for the root filesystem
+ in the same area used for the kernel image.
+ Depending on the type of image you are running, the
+ root filesystem you need differs.
+ For example, if you are developing an application that
+ runs on an image that supports Sato, you need to get a
+ root filesystem that supports Sato.</para>
+ <para>You can find the cross-development toolchains at
+ <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'><filename>toolchains</filename></ulink>.
+ Be sure to get the correct toolchain for your
+ development host and your target architecture.
+ See the "<link linkend='sdk-locating-pre-built-sdk-installers'>Locating Pre-Built SDK
Installers</link>"
+ section for information and the
+ "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
+ section for installation information.
+ <note>
+ As an alternative to downloading an SDK, you can
+ build the SDK installer.
+ For information on building the installer, see the
+ "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>"
+ section.
+ Another helpful resource for building an installer
+ is the
+ <ulink
url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>Cookbook guide to
Making an Eclipse Debug Capable Image</ulink>
+ wiki page.
+ </note>
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Create and build your application</emphasis>:
+ At this point, you need to have source files for your
+ application.
+ Once you have the files, you can use the Eclipse IDE
+ to import them and build the project.
+ If you are not using Eclipse, you need to use the
+ cross-development tools you have installed to create
+ the image.</para></listitem>
+ <listitem><para>
+ <emphasis>Deploy the image with the
+ application</emphasis>:
+ Using the Eclipse IDE, you can deploy your image to the
+ hardware or to QEMU through the project's preferences.
+ You can also use Eclipse to load and test your image
+ under QEMU.
+ See the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator
(QEMU)</ulink>"
+ chapter in the Yocto Project Development Tasks Manual
+ for information on using QEMU.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Test and debug the application</emphasis>:
+ 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/'>Linux Tools</ulink>.
+ </para></listitem>
+ </orderedlist>
+ </para>
+ </section>
+
+ <section id='adt-eclipse'>
+ <title>Working Within Eclipse</title>
+
+ <para>
+ The Eclipse IDE is a popular development environment and it
+ fully supports development using the Yocto Project.
+ </para>
+
+ <para>
+ When you install and configure the Eclipse Yocto Project
+ Plug-in into the Eclipse IDE, you maximize your Yocto
+ Project experience.
+ Installing and configuring the Plug-in results in an
+ environment that has extensions specifically designed to let
+ you more easily develop software.
+ These extensions allow for cross-compilation, deployment, and
+ execution of your output into a QEMU emulation session as well
+ as actual target hardware.
+ You can also perform cross-debugging and profiling.
+ The environment also supports performance enhancing
+ <ulink url='http://www.eclipse.org/linuxtools/'>tools</ulink>
+ that 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-latest-yp-eclipse-plug-in'>Appendix C</link>.
+ </note>
+ </para>
+
+ <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 Neon version of the Eclipse IDE.
+ </para></listitem>
+ <listitem><para>
+ Configure the Eclipse IDE.
+ </para></listitem>
+ <listitem><para>
+ Install the Eclipse Yocto Plug-in.
+ </para></listitem>
+ <listitem><para>
+ Configure the Eclipse Yocto Plug-in.
+ </para></listitem>
+ </orderedlist>
+ <note>
+ Do not install Eclipse from your distribution's package
+ repository.
+ Be sure to install Eclipse from the official Eclipse
+ download site as directed in the next section.
+ </note>
+ </para>
+
+ <section id='neon-installing-eclipse-ide'>
+ <title>Installing the Neon Eclipse IDE</title>
+
+ <para>
+ 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/neon/'>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-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='neon-configuring-the-mars-eclipse-ide'>
+ <title>Configuring the Neon Eclipse IDE</title>
+
+ <para>
+ 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>
+ 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
+ "Neon - http://download.eclipse.org/releases/neon"
+ from the "Work with:" pull-down menu.
+ </para></listitem>
+ <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:
+ <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>
+ </orderedlist>
+ </para>
+ </section>
+
+ <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 IDE one of two ways: use the Yocto Project's
+ Eclipse Update site to install the pre-built plug-in
+ or build and install the plug-in from the latest
+ source code.
+ </para>
+
+ <section id='neon-new-software'>
+ <title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update
Site</title>
+
+ <para>
+ 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>
+ <listitem><para>
+ In Eclipse, select "Install New
+ 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;/neon</filename>
+ in the URL field and provide a meaningful
+ name in the "Name" field.
+ </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 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 IDE to finish the installation of
+ the plug-in.
+ <note>
+ You can click "OK" when prompted about
+ installing software that contains
+ unsigned content.
+ </note>
+ </para></listitem>
+ </orderedlist>
+ </para>
+ </section>
+
+ <section id='neon-zip-file-method'>
+ <title>Installing the Plug-in Using the Latest Source Code</title>
+
+ <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
+ has JDK 1.8+
+ </para></listitem>
+ <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>
+ Use Git to create the correct tag:
+ <literallayout class='monospaced'>
+ $ cd ~/eclipse-poky
+ $ git checkout neon/yocto-&DISTRO;
+ </literallayout>
+ 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.
+ </para></listitem>
+ <listitem><para>
+ Change to the <filename>scripts</filename>
+ directory within the Git repository:
+ <literallayout class='monospaced'>
+ $ cd scripts
+ </literallayout>
+ </para></listitem>
+ <listitem><para>
+ Set up the local build environment
+ by running the setup script:
+ <literallayout class='monospaced'>
+ $ ./setup.sh
+ </literallayout>
+ 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>
+ script as directed.
+ Be sure to provide the tag name,
+ documentation branch, and a release name.
+ </para>
+ <para>
+ Following is an example:
+ <literallayout class='monospaced'>
+ $ ECLIPSE_HOME=/home/scottrif/eclipse-poky/scripts/eclipse ./build.sh -l neon/yocto-&DISTRO; master
yocto-&DISTRO; 2>&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.
+ </para></listitem>
+ <listitem><para>
+ If necessary, start the Eclipse IDE
+ and be sure you are in the Workbench.
+ </para></listitem>
+ <listitem><para>
+ Select "Install New Software" from
+ the "Help" pull-down menu.
+ </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 earlier.
+ This ZIP file should not be "unzipped", and
+ must be the
+ <filename>*archive.zip</filename> file
+ created by running the
+ <filename>build.sh</filename> script.
+ </para></listitem>
+ <listitem><para>
+ Click the "OK" button.
+ </para></listitem>
+ <listitem><para>
+ Check the boxes that appear in
+ the installation window to install the
+ following:
+ <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.
+ You can click "OK" when prompted about
+ installing software that contains unsigned
+ content.
+ </para></listitem>
+ <listitem><para>
+ Restart the Eclipse IDE if necessary.
+ </para></listitem>
+ </orderedlist>
+ </para>
+
+ <para>
+ At this point you should be able to configure the
+ Eclipse Yocto Plug-in as described in the
+ "<link linkend='mars-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon
Eclipse Yocto Plug-in</link>"
+ section.
+ </para>
+ </section>
+ </section>
+
+ <section id='neon-configuring-the-eclipse-yocto-plug-in'>
+ <title>Configuring the Neon Eclipse Yocto Plug-in</title>
+
+ <para>
+ 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
+ you configure the project (see the following section).
+ </para>
+
+ <para>
+ To start, you need to do the following from within the
+ Eclipse IDE:
+ <itemizedlist>
+ <listitem><para>
+ Choose "Preferences" from the "Window" menu to
+ display the Preferences Dialog.
+ </para></listitem>
+ <listitem><para>
+ Click "Yocto Project SDK" to display
+ the configuration screen.
+ </para></listitem>
+ </itemizedlist>
+ The following sub-sections describe how to configure
+ 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='neon-configuring-the-cross-compiler-options'>
+ <title>Configuring the Cross-Compiler Options</title>
+
+ <para>
+ 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.
+ <itemizedlist>
+ <listitem><para>
+ <emphasis>Selecting the Toolchain
+ Type:</emphasis>
+ Choose between
+ <filename>Standalone pre-built toolchain</filename>
+ and
+ <filename>Build system derived toolchain</filename>
+ for Cross Compiler Options.
+ <itemizedlist>
+ <listitem><para>
+ <emphasis>
+ <filename>Standalone Pre-built Toolchain:</filename>
+ </emphasis>
+ Select this type when you are using
+ a stand-alone cross-toolchain.
+ For example, suppose you are an
+ application developer and do not
+ need to build a target image.
+ Instead, you just want to use an
+ architecture-specific toolchain on
+ an existing kernel and target root
+ 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 type if you built the
+ toolchain as part of the
+ <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build
Directory</ulink>.
+ When you select
+ <filename>Build system derived toolchain</filename>,
+ 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>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 (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 build system
+ derived toolchain, the path you provide for
+ the
+ <filename>Toolchain Root Location</filename>
+ field is the
+ <ulink url='&YOCTO_DOCS_REF_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 Sysroot Location:
+ </emphasis>
+ This location is where the root filesystem
+ for the target hardware resides.
+ </para>
+ <para>This location depends on where you
+ separately extracted and installed the
+ target filesystem when you either built
+ it or downloaded it.
+ <note>
+ If you downloaded the root filesystem
+ for the target hardware rather than
+ built it, you must download the
+ <filename>sato-sdk</filename> image
+ in order to build any c/c++ projects.
+ </note>
+ 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_REF_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>"
+ section.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>Select the Target Architecture:
+ </emphasis>
+ The target architecture is the type of
+ hardware you are going to use or emulate.
+ Use the pull-down
+ <filename>Target Architecture</filename>
+ menu to make your selection.
+ The pull-down menu should have the
+ supported architectures.
+ If the architecture you need is not listed
+ in the menu, you will need to build the
+ image.
+ See the
+ "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
+ section of the Yocto Project Quick Start
+ for 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='neon-configuring-the-target-options'>
+ <title>Configuring the Target Options</title>
+
+ <para>
+ You can choose to emulate hardware using the QEMU
+ emulator, or you can choose to run your image on
+ actual hardware.
+ <itemizedlist>
+ <listitem><para>
+ <emphasis>QEMU:</emphasis>
+ Select this option if you will be using the
+ QEMU emulator.
+ If you are using the emulator, you also
+ need to locate the kernel and specify any
+ custom options.</para>
+ <para>If you selected the
+ <filename>Build system derived toolchain</filename>,
+ the target kernel you built will be located
+ in the
+ <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>
+ in
+ <filename>tmp/deploy/images/<replaceable>machine</replaceable></filename>
+ directory.
+ 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.
+ These options are specified between paired
+ angled brackets.
+ Some options must be specified outside the
+ brackets.
+ In particular, the options
+ <filename>serial</filename>,
+ <filename>nographic</filename>, and
+ <filename>kvm</filename> must all be
+ outside the brackets.
+ Use the <filename>man qemu</filename>
+ command to get help on all the options and
+ their use.
+ The following is an example:
+ <literallayout class='monospaced'>
+ serial ‘<-m 256 -full-screen>’
+ </literallayout></para>
+ <para>
+ Regardless of the mode, Sysroot is already
+ defined as part of the Cross-Compiler
+ Options configuration in the
+ <filename>Sysroot Location:</filename>
+ field.
+ </para></listitem>
+ <listitem><para>
+ <emphasis>External HW:</emphasis>
+ Select this option if you will be using
+ actual hardware.</para></listitem>
+ </itemizedlist>
+ </para>
+
+ <para>
+ Click the "Apply" and "OK" to save your plug-in
+ configurations.
+ </para>
+ </section>
+ </section>
+ </section>
+
+ <section id='neon-creating-the-project'>
+ <title>Creating the Project</title>
+
+ <para>
+ You can create two types of projects: Autotools-based, or
+ Makefile-based.
+ This section describes how to create Autotools-based
+ projects from within the Eclipse IDE.
+ For information on creating Makefile-based projects in a
+ terminal window, see the
+ "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>"
+ section.
+ <note>
+ Do not use special characters in project names
+ (e.g. spaces, underscores, etc.). Doing so can
+ cause configuration to fail.
+ </note>
+ </para>
+
+ <para>
+ To create a project based on a Yocto template and then
+ display the source code, follow these steps:
+ <orderedlist>
+ <listitem><para>
+ Select "C Project" from the "File -> New" menu.
+ </para></listitem>
+ <listitem><para>
+ Expand
+ <filename>Yocto Project SDK Autotools Project</filename>.
+ </para></listitem>
+ <listitem><para>
+ Select <filename>Hello World ANSI C Autotools Projects</filename>.
+ This is an Autotools-based project based on a Yocto
+ template.
+ </para></listitem>
+ <listitem><para>
+ Put a name in the
+ <filename>Project name:</filename> field.
+ Do not use hyphens as part of the name
+ (e.g. <filename>hello</filename>).
+ </para></listitem>
+ <listitem><para>
+ Click "Next".
+ </para></listitem>
+ <listitem><para>
+ Add appropriate information in the various fields.
+ </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>
+ </orderedlist>
+ </para>
+ </section>
+
+ <section id='neon-configuring-the-cross-toolchains'>
+ <title>Configuring the Cross-Toolchains</title>
+
+ <para>
+ The earlier section,
+ "<link linkend='neon-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon 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 "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>
+ <para>By default, the Cross Compiler Options and
+ Target Options for a project are inherited from
+ settings you provided using the Preferences Dialog
+ as described earlier in the
+ "<link linkend='neon-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon
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 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.
+ This selection reconfigures the project by running
+ <filename>autogen.sh</filename> in the workspace
+ for your project.
+ The script also runs
+ <filename>libtoolize</filename>,
+ <filename>aclocal</filename>,
+ <filename>autoconf</filename>,
+ <filename>autoheader</filename>,
+ <filename>automake --a</filename>, and
+ <filename>./configure</filename>.
+ Click on the "Console" tab beneath your source code
+ to see the results of reconfiguring your project.
+ </para></listitem>
+ </orderedlist>
+ </para>
+ </section>
+
+ <section id='neon-building-the-project'>
+ <title>Building the Project</title>
+ <para>
+ 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 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:
+ <orderedlist>
+ <listitem><para>
+ Select the project.
+ </para></listitem>
+ <listitem><para>
+ Select "Folder" from the
+ <filename>File > New</filename> menu.
+ </para></listitem>
+ <listitem><para>
+ In the "New Folder" Dialog, select "Link to
+ alternate location (linked folder)".
+ </para></listitem>
+ <listitem><para>
+ Click "Browse" to navigate to the include
+ folder inside the same sysroot location
+ selected in the Yocto Project
+ configuration preferences.
+ </para></listitem>
+ <listitem><para>
+ Click "OK".
+ </para></listitem>
+ <listitem><para>
+ Click "Finish" to save the linked folder.
+ </para></listitem>
+ </orderedlist>
+ </note>
+ </para>
+ </section>
+
+ <section id='neon-starting-qemu-in-user-space-nfs-mode'>
+ <title>Starting QEMU in User-Space NFS Mode</title>
+
+ <para>
+ To start the QEMU emulator from within Eclipse, follow
+ these steps:
+ <note>
+ See the
+ "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator
(QEMU)</ulink>"
+ chapter in the Yocto Project Development Tasks Manual
+ for more information on using QEMU.
+ </note>
+ <orderedlist>
+ <listitem><para>Expose and select "External Tools
+ Configurations ..." from the "Run -> External
+ Tools" menu.
+ </para></listitem>
+ <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>
+ 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.
+ 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='neon-deploying-and-debugging-the-application'>
+ <title>Deploying and Debugging the Application</title>
+
+ <para>
+ Once the QEMU emulator is running the image, you can deploy
+ your application using the Eclipse IDE and then use
+ the emulator to perform debugging.
+ Follow these steps to deploy the application.
+ <note>
+ Currently, Eclipse does not support SSH port
+ forwarding.
+ Consequently, if you need to run or debug a remote
+ application using the host display, you must create a
+ tunneling connection from outside Eclipse and keep
+ that connection alive during your work.
+ For example, in a new terminal, run the following:
+ <literallayout class='monospaced'>
+ $ 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 as follows:
+ <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
+ "Run" menu.
+ </para></listitem>
+ <listitem><para>
+ In the left area, expand
+ <filename>C/C++Remote Application</filename>.
+ </para></listitem>
+ <listitem><para>
+ Locate your project and select it to bring
+ up a new tabbed view in the Debug Configurations
+ Dialog.
+ </para></listitem>
+ <listitem><para>
+ Click on the "Debugger" tab to see the
+ 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>SSH</filename>, which
+ means Secure Socket Shell and then click "OK".
+ Optionally, you can select a TCF connection
+ instead.
+ </para></listitem>
+ <listitem><para>
+ Clear out the "Connection name" field and
+ enter any name you want for the connection.
+ </para></listitem>
+ <listitem><para>
+ Put the IP address for the connection in
+ the "Host" field.
+ For QEMU, the default is
+ <filename>192.168.7.2</filename>.
+ However, if a previous QEMU session did not exit
+ cleanly, the IP address increments (e.g.
+ <filename>192.168.7.3</filename>).
+ <note>
+ You can find the IP address for the current
+ QEMU session by looking in the xterm that
+ opens when you launch QEMU.
+ </note>
+ </para></listitem>
+ <listitem><para>
+ Enter <filename>root</filename>, which
+ is the default for QEMU, for the "User" field.
+ Be sure to leave the password field empty.
+ </para></listitem>
+ <listitem><para>
+ Click "Finish" to close 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>
+ 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><title>Tips</title>
+ <itemizedlist>
+ <listitem><para>
+ 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.
+ </para></listitem>
+ <listitem><para>
+ If browsing to a directory fails or times
+ out, but you can
+ <filename>ssh</filename> into your QEMU
+ or target from the command line and you
+ have proxies set up, it is likely that
+ Eclipse is sending the SSH traffic to a
+ proxy.
+ In this case, either use TCF , or click on
+ "Configure proxy settings" in the
+ connection dialog and add the target IP
+ address to the "bypass proxy" section.
+ You might also need to change
+ "Active Provider" from Native to Manual.
+ </para></listitem>
+ </itemizedlist>
+ </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='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>
+ 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>
+ </section>
+</chapter>
+<!--
+vim: expandtab tw=80 ts=4
+-->
diff --git a/documentation/sdk-manual/sdk-intro.xml b/documentation/sdk-manual/sdk-intro.xml
index 9805d3c..0e1a94e 100644
--- a/documentation/sdk-manual/sdk-intro.xml
+++ b/documentation/sdk-manual/sdk-intro.xml
@@ -294,8 +294,8 @@
For information about the application development workflow that
uses the Eclipse IDE and for a detailed example of how to install
and configure the Eclipse Yocto Project Plug-in, see the
- "<link linkend='sdk-developing-applications-using-eclipse'>Developing Applications Using
<trademark class='trade'>Eclipse</trademark></link>"
- section.
+ "<link linkend='sdk-eclipse-project'>Developing Applications Using <trademark
class='trade'>Eclipse</trademark></link>"
+ Chapter.
</para>
</section>
diff --git a/documentation/sdk-manual/sdk-manual.xml b/documentation/sdk-manual/sdk-manual.xml
index c522b30..20fe17b 100644
--- a/documentation/sdk-manual/sdk-manual.xml
+++ b/documentation/sdk-manual/sdk-manual.xml
@@ -24,7 +24,7 @@
<author>
<firstname>Scott</firstname> <surname>Rifenbark</surname>
<affiliation>
- <orgname>Scotty's Documentation Services, LLC</orgname>
+ <orgname>Scotty's Documentation Services, INC</orgname>
</affiliation>
<email>srifenbark gmail com</email>
</author>
@@ -103,6 +103,8 @@
<xi:include href="sdk-working-projects.xml"/>
+ <xi:include href="sdk-eclipse-project.xml"/>
+
<xi:include href="sdk-appendix-obtain.xml"/>
<xi:include href="sdk-appendix-customizing.xml"/>
diff --git a/documentation/sdk-manual/sdk-working-projects.xml
b/documentation/sdk-manual/sdk-working-projects.xml
index 2fda193..6965e3f 100644
--- a/documentation/sdk-manual/sdk-working-projects.xml
+++ b/documentation/sdk-manual/sdk-working-projects.xml
@@ -10,8 +10,9 @@
You can use the SDK toolchain directly with Makefile,
Autotools, and <trademark class='trade'>Eclipse</trademark> based
projects.
- This chapter covers information specific to each of these types of
- projects.
+ This chapter covers the first two, while the
+ "<link linkend='sdk-eclipse-project'>Developing Applications Using <trademark
class='trade'>Eclipse</trademark></link>"
+ Chapter covers the latter.
</para>
<section id='autotools-based-projects'>
@@ -276,1211 +277,6 @@
</note>
</para>
</section>
-
- <section id='sdk-developing-applications-using-eclipse'>
- <title>Developing Applications Using <trademark class='trade'>Eclipse</trademark></title>
-
- <para>
- If you are familiar with the popular Eclipse IDE, you can use an
- Eclipse Yocto Plug-in to allow you to develop, deploy, and test your
- application all from within Eclipse.
- This section describes general workflow using the SDK and Eclipse
- and how to configure and set up Eclipse.
- </para>
-
- <section id='workflow-using-eclipse'>
- <title>Workflow Using <trademark class='trade'>Eclipse</trademark></title>
-
- <para>
- The following figure and supporting list summarize the
- application development general workflow that employs both the
- SDK Eclipse.
- </para>
-
- <para>
- <imagedata fileref="figures/sdk-eclipse-dev-flow.png"
- width="7in" depth="7in" align="center" scale="100" />
- </para>
-
- <para>
- <orderedlist>
- <listitem><para>
- <emphasis>Prepare the host system for the Yocto
- Project</emphasis>:
- See
- "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux
Distributions</ulink>"
- and
- "<ulink
url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host
Development System</ulink>"
- sections both in the Yocto Project Reference Manual for
- requirements.
- In particular, be sure your host system has the
- <filename>xterm</filename> package installed.
- </para></listitem>
- <listitem><para>
- <emphasis>Secure the Yocto Project kernel target
- image</emphasis>:
- You must have a target kernel image that has been built
- using the OpenEmbedded build system.</para>
- <para>Depending on whether the Yocto Project has a
- pre-built image that matches your target architecture
- and where you are going to run the image while you
- develop your application (QEMU or real hardware), the
- area from which you get the image differs.
- <itemizedlist>
- <listitem><para>
- Download the image from
- <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
- if your target architecture is supported and
- you are going to develop and test your
- application on actual hardware.
- </para></listitem>
- <listitem><para>
- Download the image from
- <ulink url='&YOCTO_QEMU_DL_URL;'>
- <filename>machines/qemu</filename></ulink> if
- your target architecture is supported and you
- are going to develop and test your application
- using the QEMU emulator.
- </para></listitem>
- <listitem><para>
- Build your image if you cannot find a pre-built
- image that matches your target architecture.
- If your target architecture is similar to a
- supported architecture, you can modify the
- kernel image before you build it.
- See the
- "<ulink
url='&YOCTO_DOCS_KERNEL_DEV_URL;#using-devtool-to-patch-the-kernel'>Using <filename>devtool</filename> to
Patch the Kernel</ulink>"
- section in the Yocto Project Linux Kernel
- Development Manual for an example.
- </para></listitem>
- </itemizedlist>
- </para></listitem>
- <listitem>
- <para><emphasis>Install the SDK</emphasis>:
- The SDK provides a target-specific cross-development
- toolchain, the root filesystem, the QEMU emulator, and
- other tools that can help you develop your application.
- For information on how to install the SDK, see the
- "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
- section.
- </para></listitem>
- <listitem><para>
- <emphasis>Secure the target root filesystem
- and the Cross-development toolchain</emphasis>:
- You need to find and download the appropriate root
- filesystem and the cross-development toolchain.</para>
- <para>You can find the tarballs for the root filesystem
- in the same area used for the kernel image.
- Depending on the type of image you are running, the
- root filesystem you need differs.
- For example, if you are developing an application that
- runs on an image that supports Sato, you need to get a
- root filesystem that supports Sato.</para>
- <para>You can find the cross-development toolchains at
- <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'><filename>toolchains</filename></ulink>.
- Be sure to get the correct toolchain for your
- development host and your target architecture.
- See the "<link linkend='sdk-locating-pre-built-sdk-installers'>Locating Pre-Built
SDK Installers</link>"
- section for information and the
- "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
- section for installation information.
- <note>
- As an alternative to downloading an SDK, you can
- build the SDK installer.
- For information on building the installer, see the
- "<link linkend='sdk-building-an-sdk-installer'>Building an SDK Installer</link>"
- section.
- Another helpful resource for building an installer
- is the
- <ulink
url='https://wiki.yoctoproject.org/wiki/TipsAndTricks/RunningEclipseAgainstBuiltImage'>Cookbook guide to
Making an Eclipse Debug Capable Image</ulink>
- wiki page.
- </note>
- </para></listitem>
- <listitem><para>
- <emphasis>Create and build your application</emphasis>:
- At this point, you need to have source files for your
- application.
- Once you have the files, you can use the Eclipse IDE
- to import them and build the project.
- If you are not using Eclipse, you need to use the
- cross-development tools you have installed to create
- the image.</para></listitem>
- <listitem><para>
- <emphasis>Deploy the image with the
- application</emphasis>:
- Using the Eclipse IDE, you can deploy your image to the
- hardware or to QEMU through the project's preferences.
- You can also use Eclipse to load and test your image
- under QEMU.
- See the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator
(QEMU)</ulink>"
- chapter in the Yocto Project Development Tasks Manual
- for information on using QEMU.
- </para></listitem>
- <listitem><para>
- <emphasis>Test and debug the application</emphasis>:
- 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/'>Linux Tools</ulink>.
- </para></listitem>
- </orderedlist>
- </para>
- </section>
-
- <section id='adt-eclipse'>
- <title>Working Within Eclipse</title>
-
- <para>
- The Eclipse IDE is a popular development environment and it
- fully supports development using the Yocto Project.
- </para>
-
- <para>
- When you install and configure the Eclipse Yocto Project
- Plug-in into the Eclipse IDE, you maximize your Yocto
- Project experience.
- Installing and configuring the Plug-in results in an
- environment that has extensions specifically designed to let
- you more easily develop software.
- These extensions allow for cross-compilation, deployment, and
- execution of your output into a QEMU emulation session as well
- as actual target hardware.
- You can also perform cross-debugging and profiling.
- The environment also supports performance enhancing
- <ulink url='http://www.eclipse.org/linuxtools/'>tools</ulink>
- that 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-latest-yp-eclipse-plug-in'>Appendix C</link>.
- </note>
- </para>
-
- <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 Neon version of the Eclipse IDE.
- </para></listitem>
- <listitem><para>
- Configure the Eclipse IDE.
- </para></listitem>
- <listitem><para>
- Install the Eclipse Yocto Plug-in.
- </para></listitem>
- <listitem><para>
- Configure the Eclipse Yocto Plug-in.
- </para></listitem>
- </orderedlist>
- <note>
- Do not install Eclipse from your distribution's package
- repository.
- Be sure to install Eclipse from the official Eclipse
- download site as directed in the next section.
- </note>
- </para>
-
- <section id='neon-installing-eclipse-ide'>
- <title>Installing the Neon Eclipse IDE</title>
-
- <para>
- 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/neon/'>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-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='neon-configuring-the-mars-eclipse-ide'>
- <title>Configuring the Neon Eclipse IDE</title>
-
- <para>
- 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>
- 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
- "Neon - http://download.eclipse.org/releases/neon"
- from the "Work with:" pull-down menu.
- </para></listitem>
- <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:
- <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>
- </orderedlist>
- </para>
- </section>
-
- <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 IDE one of two ways: use the Yocto Project's
- Eclipse Update site to install the pre-built plug-in
- or build and install the plug-in from the latest
- source code.
- </para>
-
- <section id='neon-new-software'>
- <title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update
Site</title>
-
- <para>
- 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>
- <listitem><para>
- In Eclipse, select "Install New
- 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;/neon</filename>
- in the URL field and provide a meaningful
- name in the "Name" field.
- </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 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 IDE to finish the installation of
- the plug-in.
- <note>
- You can click "OK" when prompted about
- installing software that contains
- unsigned content.
- </note>
- </para></listitem>
- </orderedlist>
- </para>
- </section>
-
- <section id='neon-zip-file-method'>
- <title>Installing the Plug-in Using the Latest Source Code</title>
-
- <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
- has JDK 1.8+
- </para></listitem>
- <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>
- Use Git to create the correct tag:
- <literallayout class='monospaced'>
- $ cd ~/eclipse-poky
- $ git checkout neon/yocto-&DISTRO;
- </literallayout>
- 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.
- </para></listitem>
- <listitem><para>
- Change to the <filename>scripts</filename>
- directory within the Git repository:
- <literallayout class='monospaced'>
- $ cd scripts
- </literallayout>
- </para></listitem>
- <listitem><para>
- Set up the local build environment
- by running the setup script:
- <literallayout class='monospaced'>
- $ ./setup.sh
- </literallayout>
- 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>
- script as directed.
- Be sure to provide the tag name,
- documentation branch, and a release name.
- </para>
- <para>
- Following is an example:
- <literallayout class='monospaced'>
- $ ECLIPSE_HOME=/home/scottrif/eclipse-poky/scripts/eclipse ./build.sh -l neon/yocto-&DISTRO; master
yocto-&DISTRO; 2>&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.
- </para></listitem>
- <listitem><para>
- If necessary, start the Eclipse IDE
- and be sure you are in the Workbench.
- </para></listitem>
- <listitem><para>
- Select "Install New Software" from
- the "Help" pull-down menu.
- </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 earlier.
- This ZIP file should not be "unzipped", and
- must be the
- <filename>*archive.zip</filename> file
- created by running the
- <filename>build.sh</filename> script.
- </para></listitem>
- <listitem><para>
- Click the "OK" button.
- </para></listitem>
- <listitem><para>
- Check the boxes that appear in
- the installation window to install the
- following:
- <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.
- You can click "OK" when prompted about
- installing software that contains unsigned
- content.
- </para></listitem>
- <listitem><para>
- Restart the Eclipse IDE if necessary.
- </para></listitem>
- </orderedlist>
- </para>
-
- <para>
- At this point you should be able to configure the
- Eclipse Yocto Plug-in as described in the
- "<link linkend='mars-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon
Eclipse Yocto Plug-in</link>"
- section.
- </para>
- </section>
- </section>
-
- <section id='neon-configuring-the-eclipse-yocto-plug-in'>
- <title>Configuring the Neon Eclipse Yocto Plug-in</title>
-
- <para>
- 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
- you configure the project (see the following section).
- </para>
-
- <para>
- To start, you need to do the following from within the
- Eclipse IDE:
- <itemizedlist>
- <listitem><para>
- Choose "Preferences" from the "Window" menu to
- display the Preferences Dialog.
- </para></listitem>
- <listitem><para>
- Click "Yocto Project SDK" to display
- the configuration screen.
- </para></listitem>
- </itemizedlist>
- The following sub-sections describe how to configure
- 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='neon-configuring-the-cross-compiler-options'>
- <title>Configuring the Cross-Compiler Options</title>
-
- <para>
- 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.
- <itemizedlist>
- <listitem><para>
- <emphasis>Selecting the Toolchain
- Type:</emphasis>
- Choose between
- <filename>Standalone pre-built toolchain</filename>
- and
- <filename>Build system derived toolchain</filename>
- for Cross Compiler Options.
- <itemizedlist>
- <listitem><para>
- <emphasis>
- <filename>Standalone Pre-built Toolchain:</filename>
- </emphasis>
- Select this type when you are using
- a stand-alone cross-toolchain.
- For example, suppose you are an
- application developer and do not
- need to build a target image.
- Instead, you just want to use an
- architecture-specific toolchain on
- an existing kernel and target root
- 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 type if you built the
- toolchain as part of the
- <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build
Directory</ulink>.
- When you select
- <filename>Build system derived toolchain</filename>,
- 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>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 (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 build system
- derived toolchain, the path you provide for
- the
- <filename>Toolchain Root Location</filename>
- field is the
- <ulink url='&YOCTO_DOCS_REF_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 Sysroot Location:
- </emphasis>
- This location is where the root filesystem
- for the target hardware resides.
- </para>
- <para>This location depends on where you
- separately extracted and installed the
- target filesystem when you either built
- it or downloaded it.
- <note>
- If you downloaded the root filesystem
- for the target hardware rather than
- built it, you must download the
- <filename>sato-sdk</filename> image
- in order to build any c/c++ projects.
- </note>
- 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_REF_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>"
- section.
- </para></listitem>
- <listitem><para>
- <emphasis>Select the Target Architecture:
- </emphasis>
- The target architecture is the type of
- hardware you are going to use or emulate.
- Use the pull-down
- <filename>Target Architecture</filename>
- menu to make your selection.
- The pull-down menu should have the
- supported architectures.
- If the architecture you need is not listed
- in the menu, you will need to build the
- image.
- See the
- "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building
Images</ulink>"
- section of the Yocto Project Quick Start
- for 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='neon-configuring-the-target-options'>
- <title>Configuring the Target Options</title>
-
- <para>
- You can choose to emulate hardware using the QEMU
- emulator, or you can choose to run your image on
- actual hardware.
- <itemizedlist>
- <listitem><para>
- <emphasis>QEMU:</emphasis>
- Select this option if you will be using the
- QEMU emulator.
- If you are using the emulator, you also
- need to locate the kernel and specify any
- custom options.</para>
- <para>If you selected the
- <filename>Build system derived toolchain</filename>,
- the target kernel you built will be located
- in the
- <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>
- in
- <filename>tmp/deploy/images/<replaceable>machine</replaceable></filename>
- directory.
- 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.
- These options are specified between paired
- angled brackets.
- Some options must be specified outside the
- brackets.
- In particular, the options
- <filename>serial</filename>,
- <filename>nographic</filename>, and
- <filename>kvm</filename> must all be
- outside the brackets.
- Use the <filename>man qemu</filename>
- command to get help on all the options and
- their use.
- The following is an example:
- <literallayout class='monospaced'>
- serial ‘<-m 256 -full-screen>’
- </literallayout></para>
- <para>
- Regardless of the mode, Sysroot is already
- defined as part of the Cross-Compiler
- Options configuration in the
- <filename>Sysroot Location:</filename>
- field.
- </para></listitem>
- <listitem><para>
- <emphasis>External HW:</emphasis>
- Select this option if you will be using
- actual hardware.</para></listitem>
- </itemizedlist>
- </para>
-
- <para>
- Click the "Apply" and "OK" to save your plug-in
- configurations.
- </para>
- </section>
- </section>
- </section>
-
- <section id='neon-creating-the-project'>
- <title>Creating the Project</title>
-
- <para>
- You can create two types of projects: Autotools-based, or
- Makefile-based.
- This section describes how to create Autotools-based
- projects from within the Eclipse IDE.
- For information on creating Makefile-based projects in a
- terminal window, see the
- "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>"
- section.
- <note>
- Do not use special characters in project names
- (e.g. spaces, underscores, etc.). Doing so can
- cause configuration to fail.
- </note>
- </para>
-
- <para>
- To create a project based on a Yocto template and then
- display the source code, follow these steps:
- <orderedlist>
- <listitem><para>
- Select "C Project" from the "File -> New" menu.
- </para></listitem>
- <listitem><para>
- Expand
- <filename>Yocto Project SDK Autotools Project</filename>.
- </para></listitem>
- <listitem><para>
- Select <filename>Hello World ANSI C Autotools Projects</filename>.
- This is an Autotools-based project based on a Yocto
- template.
- </para></listitem>
- <listitem><para>
- Put a name in the
- <filename>Project name:</filename> field.
- Do not use hyphens as part of the name
- (e.g. <filename>hello</filename>).
- </para></listitem>
- <listitem><para>
- Click "Next".
- </para></listitem>
- <listitem><para>
- Add appropriate information in the various fields.
- </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>
- </orderedlist>
- </para>
- </section>
-
- <section id='neon-configuring-the-cross-toolchains'>
- <title>Configuring the Cross-Toolchains</title>
-
- <para>
- The earlier section,
- "<link linkend='neon-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon 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 "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>
- <para>By default, the Cross Compiler Options and
- Target Options for a project are inherited from
- settings you provided using the Preferences Dialog
- as described earlier in the
- "<link linkend='neon-configuring-the-eclipse-yocto-plug-in'>Configuring the Neon
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 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.
- This selection reconfigures the project by running
- <filename>autogen.sh</filename> in the workspace
- for your project.
- The script also runs
- <filename>libtoolize</filename>,
- <filename>aclocal</filename>,
- <filename>autoconf</filename>,
- <filename>autoheader</filename>,
- <filename>automake --a</filename>, and
- <filename>./configure</filename>.
- Click on the "Console" tab beneath your source code
- to see the results of reconfiguring your project.
- </para></listitem>
- </orderedlist>
- </para>
- </section>
-
- <section id='neon-building-the-project'>
- <title>Building the Project</title>
-
- <para>
- 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 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:
- <orderedlist>
- <listitem><para>
- Select the project.
- </para></listitem>
- <listitem><para>
- Select "Folder" from the
- <filename>File > New</filename> menu.
- </para></listitem>
- <listitem><para>
- In the "New Folder" Dialog, select "Link to
- alternate location (linked folder)".
- </para></listitem>
- <listitem><para>
- Click "Browse" to navigate to the include
- folder inside the same sysroot location
- selected in the Yocto Project
- configuration preferences.
- </para></listitem>
- <listitem><para>
- Click "OK".
- </para></listitem>
- <listitem><para>
- Click "Finish" to save the linked folder.
- </para></listitem>
- </orderedlist>
- </note>
- </para>
- </section>
-
- <section id='neon-starting-qemu-in-user-space-nfs-mode'>
- <title>Starting QEMU in User-Space NFS Mode</title>
-
- <para>
- To start the QEMU emulator from within Eclipse, follow
- these steps:
- <note>
- See the
- "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator
(QEMU)</ulink>"
- chapter in the Yocto Project Development Tasks Manual
- for more information on using QEMU.
- </note>
- <orderedlist>
- <listitem><para>Expose and select "External Tools
- Configurations ..." from the "Run -> External
- Tools" menu.
- </para></listitem>
- <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>
- 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.
- 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='neon-deploying-and-debugging-the-application'>
- <title>Deploying and Debugging the Application</title>
-
- <para>
- Once the QEMU emulator is running the image, you can deploy
- your application using the Eclipse IDE and then use
- the emulator to perform debugging.
- Follow these steps to deploy the application.
- <note>
- Currently, Eclipse does not support SSH port
- forwarding.
- Consequently, if you need to run or debug a remote
- application using the host display, you must create a
- tunneling connection from outside Eclipse and keep
- that connection alive during your work.
- For example, in a new terminal, run the following:
- <literallayout class='monospaced'>
- $ 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 as follows:
- <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
- "Run" menu.
- </para></listitem>
- <listitem><para>
- In the left area, expand
- <filename>C/C++Remote Application</filename>.
- </para></listitem>
- <listitem><para>
- Locate your project and select it to bring
- up a new tabbed view in the Debug Configurations
- Dialog.
- </para></listitem>
- <listitem><para>
- Click on the "Debugger" tab to see the
- 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>SSH</filename>, which
- means Secure Socket Shell and then click "OK".
- Optionally, you can select a TCF connection
- instead.
- </para></listitem>
- <listitem><para>
- Clear out the "Connection name" field and
- enter any name you want for the connection.
- </para></listitem>
- <listitem><para>
- Put the IP address for the connection in
- the "Host" field.
- For QEMU, the default is
- <filename>192.168.7.2</filename>.
- However, if a previous QEMU session did not exit
- cleanly, the IP address increments (e.g.
- <filename>192.168.7.3</filename>).
- <note>
- You can find the IP address for the current
- QEMU session by looking in the xterm that
- opens when you launch QEMU.
- </note>
- </para></listitem>
- <listitem><para>
- Enter <filename>root</filename>, which
- is the default for QEMU, for the "User" field.
- Be sure to leave the password field empty.
- </para></listitem>
- <listitem><para>
- Click "Finish" to close 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>
- 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><title>Tips</title>
- <itemizedlist>
- <listitem><para>
- 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.
- </para></listitem>
- <listitem><para>
- If browsing to a directory fails or times
- out, but you can
- <filename>ssh</filename> into your QEMU
- or target from the command line and you
- have proxies set up, it is likely that
- Eclipse is sending the SSH traffic to a
- proxy.
- In this case, either use TCF , or click on
- "Configure proxy settings" in the
- connection dialog and add the target IP
- address to the "bypass proxy" section.
- You might also need to change
- "Active Provider" from Native to Manual.
- </para></listitem>
- </itemizedlist>
- </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='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>
- 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>
- </section>
- </section>
</chapter>
<!--
vim: expandtab tw=80 ts=4
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]