aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/adt-manual/adt-eclipse.xml
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/adt-manual/adt-eclipse.xml')
-rw-r--r--documentation/adt-manual/adt-eclipse.xml435
1 files changed, 0 insertions, 435 deletions
diff --git a/documentation/adt-manual/adt-eclipse.xml b/documentation/adt-manual/adt-eclipse.xml
deleted file mode 100644
index ee305fe585..0000000000
--- a/documentation/adt-manual/adt-eclipse.xml
+++ /dev/null
@@ -1,435 +0,0 @@
-<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
-
-<chapter id='adt-eclipse'>
-<title>Working Within Eclipse</title>
- <para>
- The Eclipse IDE is a popular development environment and it fully supports
- development using Yocto Project.
- When you install and configure the Eclipse Yocto Project Plug-in into
- the Eclipse IDE you maximize your Yocto Project design 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 and deployment and execution of
- your output into a QEMU emulation session.
- You can also perform cross-debugging and profiling.
- The environment also has a suite of tools that allows you to perform
- remote profiling, tracing, collection of power data, collection of
- latency data, and collection of performance data.
- </para>
- <para>
- This section describes how to install and configure the Eclipse IDE
- Yocto Plug-in and how to use it to develop your Yocto Project.
- </para>
-
-<section id='setting-up-the-eclipse-ide'>
- <title>Setting Up the Eclipse IDE</title>
- <para>
- To develop within the Eclipse IDE you need to do the following:
- <orderedlist>
- <listitem><para>Be sure the optimal version of Eclipse IDE
- is installed.</para></listitem>
- <listitem><para>Install required Eclipse plug-ins prior to installing
- the Eclipse Yocto Plug-in.</para></listitem>
- <listitem><para>Configure the Eclipse Yocto Plug-in.</para></listitem>
- </orderedlist>
- </para>
-
- <section id='installing-eclipse-ide'>
- <title>Installing Eclipse IDE</title>
- <para>
- It is recommended that you have the Helios 3.6.1 version of the
- Eclipse IDE installed on your development system.
- If you don’t have this version you can find it at
- <ulink url='http://www.eclipse.org/downloads'></ulink>.
- From that site, choose the Eclipse Classic version.
- 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 and complete the installation.
- </para>
- <para>
- One issue exists that you need to be aware of regarding the Java
- Virtual machine’s garbage collection (GC) process.
- The GC process does not clean up the permanent generation
- space (PermGen).
- This space stores meta-data descriptions of classes.
- The default value is set too small and it could trigger an
- out-of-memory error such as the following:
- <literallayout class='monospaced'>
- Java.lang.OutOfMemoryError: PermGen space
- </literallayout>
- </para>
- <para>
- This error causes the application to hang.
- </para>
- <para>
- To fix this issue you can use the &dash;&dash;vmargs option when you start
- Eclipse to increase the size of the permanent generation space:
- <literallayout class='monospaced'>
- eclipse &dash;&dash;vmargs &dash;&dash;XX:PermSize=256M
- </literallayout>
- </para>
- </section>
-
- <section id='installing-required-plug-ins-and-the-eclipse-yocto-plug-in'>
- <title>Installing Required Plug-ins and the Eclipse Yocto Plug-in</title>
- <para>
- Before installing the Yocto Plug-in you need to be sure that the
- CDT 7.0, RSE 3.2, and Autotools plug-ins are all installed in the
- following order.
- After installing these three plug-ins, you can install the
- Eclipse Yocto Plug-in.
- Use the following URLs for the plug-ins:
- <orderedlist>
- <listitem><para><emphasis>CDT 7.0</emphasis> –
- <ulink url='http://download.eclipse.org/tools/cdt/releases/helios/'></ulink>:
- For CDT main features select the checkbox so you get all items.
- For CDT optional features expand the selections and check
- “C/C++ Remote Launch”.</para></listitem>
- <listitem><para><emphasis>RSE 3.2</emphasis> –
- <ulink url='http://download.eclipse.org/tm/updates/3.2'></ulink>:
- Check the box next to “TM and RSE Main Features” so you select all
- those items.
- Note that all items in the main features depend on 3.2.1 version.
- Expand the items under “TM and RSE Uncategorized 3.2.1” and
- select the following: “Remote System Explorer End-User Runtime”,
- “Remote System Explorer Extended SDK”, “Remote System Explorer User Actions”,
- “RSE Core”, “RSE Terminals UI”, and “Target Management Terminal”.</para></listitem>
- <listitem><para><emphasis>Autotools</emphasis> –
- <ulink url='http://download.eclipse.org/technology/linuxtools/update/'></ulink>:
- Expand the items under “Linux Tools” and select “Autotools support for
- CDT (Incubation)”.</para></listitem>
- <listitem><para><emphasis>Yocto Plug-in</emphasis> –
- <ulink url='http://www.yoctoproject.org/downloads/eclipse-plugin/1.0'></ulink>:
- Check the box next to “Development tools &amp; SDKs for Yocto Linux”
- to select all the items.</para></listitem>
- </orderedlist>
- </para>
- <para>
- Follow these general steps to install a plug-in:
- <orderedlist>
- <listitem><para>From within the Eclipse IDE select the
- “Install New Software” item from the “Help” menu.</para></listitem>
- <listitem><para>Click “Add…” in the “Work with:” area.</para></listitem>
- <listitem><para>Enter the URL for the repository and leave the “Name”
- field blank.</para></listitem>
- <listitem><para>Check the boxes next to the software you need to
- install and then complete the installation.
- For information on the specific software packages you need to include,
- see the previous list.</para></listitem>
- </orderedlist>
- </para>
- </section>
-
- <section id='configuring-the-plug-in'>
- <title>Configuring the Plug-in</title>
- <para>
- Configuring the Eclipse Yocto Plug-in involves choosing the Cross
- Compiler Options, selecting the Target Architecture, and choosing
- the Target Options.
- These settings are the default settings for all projects.
- You do have opportunities to change them later if you choose to when
- you configure the project.
- See “Configuring the Cross Toolchain” section later in the manual.
- </para>
- <para>
- To start, you need to do the following from within the Eclipse IDE:
- <itemizedlist>
- <listitem><para>Choose Windows -&gt; Preferences to display
- the Preferences Dialog</para></listitem>
- <listitem><para>Click “Yocto SDK”</para></listitem>
- </itemizedlist>
- </para>
-
- <section id='configuring-the-cross-compiler-options'>
- <title>Configuring the Cross-Compiler Options</title>
- <para>
- Choose between ‘SDK Root Mode’ and ‘Poky Tree Mode’ for Cross
- Compiler Options.
- <itemizedlist>
- <listitem><para><emphasis>SDK Root Mode</emphasis> – Select this mode
- when you are not concerned with building an image or you do not have
- a Poky build tree on your system.
- For example, suppose you are an application developer and do not
- need to build an image.
- You just want to use an architecture-specific toolchain on an
- existing kernel and root filesystem.
- When you use SDK Root Mode you are using the toolchain installed
- in the <filename>/opt/poky</filename> directory.</para></listitem>
- <listitem><para><emphasis>Poky Tree Mode</emphasis> – Select this mode
- if you are concerned with building images for hardware or your
- development environment already has a build tree.
- In this case you likely already have a Poky build tree installed on
- your system or you (or someone else) will be building one.
- When you use the Poky Tree Mode you are using the toolchain bundled
- inside the Poky build tree.
- If you use this mode you must also supply the Poky Root Location
- in the Preferences Dialog.</para></listitem>
- </itemizedlist>
- </para>
- </section>
-
- <section id='configuring-the-sysroot'>
- <title>Configuring the Sysroot</title>
- <para>
- Specify the sysroot, which is used by both the QEMU user-space
- NFS boot process and by the cross-toolchain regardless of the
- mode you select (SDK Root Mode or Poky Tree Mode).
- For example, sysroot is the location to which you extract the
- downloaded image’s root filesystem to through the ADT Installer.
- </para>
- </section>
-
- <section id='selecting-the-target-architecture'>
- <title>Selecting the Target Architecture</title>
- <para>
- Use the pull-down Target Architecture menu and select the
- target architecture.
- </para>
- <para>
- The Target Architecture is the type of hardware you are
- going to use or emulate.
- This pull-down menu should have the supported architectures.
- If the architecture you need is not listed in the menu then you
- will need to re-visit
- <xref linkend='adt-prepare'>
- “Preparing to Use the Application Development Toolkit (ADT)”</xref>
- section earlier in this document.
- </para>
- </section>
-
- <section id='choosing-the-target-options'>
- <title>Choosing the Target Options</title>
- <para>
- You can choose to emulate hardware using the QEMU emulator, or you
- can choose to use actual hardware.
- <itemizedlist>
- <listitem><para><emphasis>External HW</emphasis> – Select this option
- if you will be using actual hardware.</para></listitem>
- <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 you can specify custom options.</para>
- <para>In Poky Tree Mode the kernel you built will be located in the
- Poky Build tree in <filename>tmp/deploy/images</filename> directory.
- In SDK Root Mode the pre-built kernel 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 ‘&lt;-m 256 -full-screen&gt;’
- </literallayout>
- </para>
- <para>
- Regardless of the mode, Sysroot is already defined in the “Sysroot”
- field.</para></listitem>
- </itemizedlist>
- </para>
- <para>
- Click the “OK” button to save your plug-in configurations.
- </para>
- </section>
- </section>
-</section>
-
-<section id='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 projects in a terminal window see
- <xref linkend='using-the-command-line'> “Using the Command Line”</xref>
- section.
- </para>
- <para>
- To create a project based on a Yocto template and then display the source code,
- follow these steps:
- <orderedlist>
- <listitem><para>Select File -> New -> Project.</para></listitem>
- <listitem><para>Double click “CC++”.</para></listitem>
- <listitem><para>Double click “C Project” to create the project.</para></listitem>
- <listitem><para>Double click “Yocto SDK Project”.</para></listitem>
- <listitem><para>Select “Hello World ANSI C Autotools Project”.
- This is an Autotools-based project based on a Yocto Project template.</para></listitem>
- <listitem><para>Put a name in the “Project name:” field.</para></listitem>
- <listitem><para>Click “Next”.</para></listitem>
- <listitem><para>Add information in the “Author” field.</para></listitem>
- <listitem><para>Use “GNU General Public License v2.0” for the License.</para></listitem>
- <listitem><para>Click “Finish”.</para></listitem>
- <listitem><para>Answer ‘Yes” to the open perspective prompt.</para></listitem>
- <listitem><para>In the Project Explorer expand your project.</para></listitem>
- <listitem><para>Expand ‘src’.</para></listitem>
- <listitem><para>Double click on your source file and the code appears
- in the window.
- This is the template.</para></listitem>
- </orderedlist>
- </para>
-</section>
-
-<section id='configuring-the-cross-toolchains'>
-<title>Configuring the Cross-Toolchains</title>
- <para>
- The previous section, <xref linkend='configuring-the-cross-compiler-options'>
- “Configuring the Cross-Compiler Options”</xref>, set up the default project
- configurations.
- You can change these settings for a given project by following these steps:
- <orderedlist>
- <listitem><para>Select Project -> Invoke Yocto Tools -> Reconfigure Yocto.
- This brings up the project Yocto Settings Dialog.
- Settings are inherited from the default project configuration.
- The information in this dialogue is identical to that chosen earlier
- for the Cross Compiler Option (SDK Root Mode or Poky Tree Mode),
- the Target Architecture, and the Target Options.
- The settings are inherited from the Yocto Plug-in configuration performed
- after installing the plug-in.</para></listitem>
- <listitem><para>Select Project -> Reconfigure Project.
- This runs the <filename>autogen.sh</filename> in the workspace for your project.
- The script runs <filename>libtoolize</filename>, <filename>aclocal</filename>,
- <filename>autoconf</filename>, <filename>autoheader</filename>,
- <filename>automake &dash;&dash;a</filename>, and
- <filename>./configure</filename>.</para></listitem>
- </orderedlist>
- </para>
-</section>
-
-<section id='building-the-project'>
-<title>Building the Project</title>
- <para>
- To build the project, select Project -&gt; Build Project.
- You should see the console updated and you can note the cross-compiler you are using.
- </para>
-</section>
-
-<section id='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:
- <orderedlist>
- <listitem><para>Select Run -> External Tools -> External Tools Configurations...
- This selection brings up the External Tools Configurations Dialogue.</para></listitem>
- <listitem><para>Go to the left navigation area and expand ‘Program’.
- You should find the image listed.
- For example, qemu-x86_64-poky-linux.</para></listitem>
- <listitem><para>Click on the image.
- This brings up a new environment in the main area of the External
- Tools Configurations Dialogue.
- The Main tab is selected.</para></listitem>
- <listitem><para>Click “Run” next.
- This brings up a shell window.</para></listitem>
- <listitem><para>Enter your host root password in the shell window at the prompt.
- This sets up a Tap 0 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 need to determine the IP Address
- for the user-space NFS.
- You can do that by going to a terminal in the QEMU and entering the
- <filename>ipconfig</filename> command.</para></listitem>
- </orderedlist>
- </para>
-</section>
-
-<section id='deploying-and-debugging-the-application'>
-<title>Deploying and Debugging the Application</title>
- <para>
- Once QEMU is running you can deploy your application and use the emulator
- to perform debugging.
- Follow these steps to deploy the application.
- <orderedlist>
- <listitem><para>Select Run -> Debug Configurations...</para></listitem>
- <listitem><para>In the left area expand “C/C++Remote Application”.</para></listitem>
- <listitem><para>Locate your project and select it to bring up a new
- tabbed view in the Debug Configurations dialogue.</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:.
- For example, enter <filename>/usr/bin/&lt;programname&gt;</filename>.</para></listitem>
- <listitem><para>Click on the Debugger tab to see the cross-tool debugger
- you are using.</para></listitem>
- <listitem><para>Create a new connection to the QEMU instance
- by clicking on “new”.</para></listitem>
- <listitem><para>Select “TCF, 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>Click Finish to close the new connections dialogue.</para></listitem>
- <listitem><para>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>Accept the debug perspective.</para></listitem>
- </orderedlist>
- </para>
-</section>
-
-<section id='running-user-space-tools'>
-<title>Running User-Space Tools</title>
- <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 user-space tools from within the Yocto Eclipse
- Plug-in through the Window -> YoctoTools menu.
- </para>
- <para>
- Once you pick a tool you need to configure it for the remote target.
- Every tool needs to have the connection configured.
- You must select an existing TCF-based RSE connection to the remote target.
- If one does not exist, click "New" to create one.
- </para>
- <para>
- Here are some specifics about the remote tools:
- <itemizedlist>
- <listitem><para><emphasis>OProfile:</emphasis> Selecting this tool causes
- the oprofile-server on the remote target to launch on the local host machine.
- The oprofile-viewer must be installed on the local host machine and the
- oprofile-server must be installed on the remote target, respectively, in order
- to use.
- You can locate both the viewer and server from
- <ulink url='http://git.yoctoproject.org/cgit/cgit.cgi/oprofileui/'></ulink>.
- You need to compile and install the oprofile-viewer from the source code
- on your local host machine.
- The oprofile-server is installed by default in the image.</para></listitem>
- <listitem><para><emphasis>Lttng-ust:</emphasis> Selecting this tool runs
- "usttrace" on the remote target, transfers the output data back to the
- local host machine and uses "lttv-gui" to graphically display the output.
- The "lttv-gui" must be installed on the local host machine to use this tool.
- For information on how to use "lttng" to trace an application, see
- <ulink url='http://lttng.org/files/ust/manual/ust.html'></ulink>.</para>
- <para>For "Application" you must supply the absolute path name of the
- application to be traced by user mode lttng.
- For example, typing <filename>/path/to/foo</filename> triggers
- <filename>usttrace /path/to/foo</filename> on the remote target to trace the
- program <filename>/path/to/foo</filename>.</para>
- <para>"Argument" is passed to <filename>usttrace</filename>
- running on the remote target.</para></listitem>
- <listitem><para><emphasis>PowerTOP:</emphasis> Selecting this tool runs
- "PowerTOP" on the remote target machine and displays the results in a
- new view called "powertop".</para>
- <para>"Time to gather data(sec):" is the time passed in seconds before data
- is gathered from the remote target for analysis.</para>
- <para>"show pids in wakeups list:" corresponds to the -p argument
- passed to "powertop".</para></listitem>
- <listitem><para><emphasis>LatencyTOP and Perf:</emphasis> "LatencyTOP"
- identifies system latency, while "perf" monitors the system's
- performance counter registers.
- Selecting either of these tools causes an RSE terminal view to appear
- from which you can run the tools.
- Both tools refresh the entire screen to display results while they run.</para></listitem>
- </itemizedlist>
- </para>
-</section>
-
-</chapter>
-<!--
-vim: expandtab tw=80 ts=4
--->