diff options
author | Scott Rifenbark <srifenbark@gmail.com> | 2016-09-02 17:24:56 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-09-23 15:27:33 +0100 |
commit | 3277d8d307d580711870ca0a3901225b053a4171 (patch) | |
tree | e68770ffb79896d151230bdad87398cb72824207 /documentation/sdk-manual | |
parent | 8a3d542d5ca2ce282f4c255a2023d3e71160b710 (diff) | |
download | openembedded-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.xml | 713 |
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>&1 | tee -a build.log + $ 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. @@ -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> |