summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/Makefile8
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml10
-rw-r--r--documentation/dev-manual/dev-manual-intro.xml17
-rw-r--r--documentation/dev-manual/dev-manual-model.xml1168
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml10
-rw-r--r--documentation/dev-manual/dev-manual-qemu.xml7
-rw-r--r--documentation/dev-manual/dev-manual-start.xml8
-rw-r--r--documentation/dev-manual/figures/app-dev-flow.pngbin53301 -> 0 bytes
-rw-r--r--documentation/mega-manual/figures/app-dev-flow.pngbin52670 -> 0 bytes
-rw-r--r--documentation/ref-manual/introduction.xml16
-rw-r--r--documentation/ref-manual/ref-classes.xml9
-rw-r--r--documentation/ref-manual/ref-features.xml4
-rw-r--r--documentation/ref-manual/ref-structure.xml4
-rw-r--r--documentation/ref-manual/ref-variables.xml13
-rw-r--r--documentation/ref-manual/technical-details.xml7
-rw-r--r--documentation/ref-manual/usingpoky.xml12
-rw-r--r--documentation/sdk-manual/sdk-intro.xml58
-rw-r--r--documentation/sdk-manual/sdk-using.xml1053
-rw-r--r--documentation/yocto-project-qs/yocto-project-qs.xml22
19 files changed, 1187 insertions, 1239 deletions
diff --git a/documentation/Makefile b/documentation/Makefile
index d201f98f4f..ec6566713a 100644
--- a/documentation/Makefile
+++ b/documentation/Makefile
@@ -128,7 +128,7 @@ TARFILES = dev-style.css dev-manual.html \
128 figures/wip.png 128 figures/wip.png
129 else 129 else
130TARFILES = dev-style.css dev-manual.html \ 130TARFILES = dev-style.css dev-manual.html \
131 figures/app-dev-flow.png figures/bsp-dev-flow.png \ 131 figures/bsp-dev-flow.png \
132 figures/dev-title.png figures/git-workflow.png \ 132 figures/dev-title.png figures/git-workflow.png \
133 figures/index-downloads.png figures/kernel-dev-flow.png \ 133 figures/index-downloads.png figures/kernel-dev-flow.png \
134 figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \ 134 figures/kernel-overview-1.png figures/kernel-overview-2-generic.png \
@@ -202,7 +202,7 @@ TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png \
202 figures/buildhistory-web.png \ 202 figures/buildhistory-web.png \
203 figures/adt-title.png figures/sdk-title.png figures/bsp-title.png \ 203 figures/adt-title.png figures/sdk-title.png figures/bsp-title.png \
204 figures/kernel-dev-title.png figures/kernel-architecture-overview.png \ 204 figures/kernel-dev-title.png figures/kernel-architecture-overview.png \
205 figures/app-dev-flow.png figures/bsp-dev-flow.png \ 205 figures/bsp-dev-flow.png \
206 figures/dev-title.png \ 206 figures/dev-title.png \
207 figures/git-workflow.png figures/index-downloads.png \ 207 figures/git-workflow.png figures/index-downloads.png \
208 figures/kernel-dev-flow.png \ 208 figures/kernel-dev-flow.png \
@@ -249,7 +249,7 @@ TARFILES = mega-manual.html mega-style.css figures/yocto-environment.png \
249 figures/compatible-layers.png figures/import-layer.png figures/new-project.png \ 249 figures/compatible-layers.png figures/import-layer.png figures/new-project.png \
250 figures/sdk-environment.png figures/sdk-installed-standard-sdk-directory.png \ 250 figures/sdk-environment.png figures/sdk-installed-standard-sdk-directory.png \
251 figures/sdk-devtool-add-flow.png figures/sdk-installed-extensible-sdk-directory.png \ 251 figures/sdk-devtool-add-flow.png figures/sdk-installed-extensible-sdk-directory.png \
252 figures/sdk-devtool-modify-flow.png 252 figures/sdk-devtool-modify-flow.png figures/sdk-eclipse-dev-flow.png
253 endif 253 endif
254 254
255MANUALS = $(DOC)/$(DOC).html 255MANUALS = $(DOC)/$(DOC).html
@@ -293,7 +293,7 @@ ALLPREQ = html eclipse tarball
293TARFILES = sdk-manual.html sdk-style.css figures/sdk-title.png \ 293TARFILES = sdk-manual.html sdk-style.css figures/sdk-title.png \
294 figures/sdk-environment.png figures/sdk-installed-standard-sdk-directory.png \ 294 figures/sdk-environment.png figures/sdk-installed-standard-sdk-directory.png \
295 figures/sdk-installed-extensible-sdk-directory.png figures/sdk-devtool-add-flow.png \ 295 figures/sdk-installed-extensible-sdk-directory.png figures/sdk-devtool-add-flow.png \
296 figures/sdk-devtool-modify-flow.png \ 296 figures/sdk-devtool-modify-flow.png figures/sdk-eclipse-dev-flow.png \
297 eclipse 297 eclipse
298MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse 298MANUALS = $(DOC)/$(DOC).html $(DOC)/eclipse
299FIGURES = figures 299FIGURES = figures
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 36c69396cf..199728d2b8 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -9160,11 +9160,8 @@
9160 Before you can initiate a remote debugging session, you need 9160 Before you can initiate a remote debugging session, you need
9161 to be sure you have set up the cross-development environment, 9161 to be sure you have set up the cross-development environment,
9162 toolchain, and sysroot. 9162 toolchain, and sysroot.
9163 The "<ulink url='&YOCTO_DOCS_ADT_URL;#adt-prepare'>Preparing for Application Development</ulink>" 9163 The <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>
9164 chapter of the Yocto Project Application Developer's Guide
9165 describes this process. 9164 describes this process.
9166 Be sure you have read that chapter and have set up
9167 your environment.
9168 </para> 9165 </para>
9169 </section> 9166 </section>
9170 9167
@@ -9273,9 +9270,8 @@
9273 location is at <filename>/opt/poky/&DISTRO;</filename> 9270 location is at <filename>/opt/poky/&DISTRO;</filename>
9274 and begins with the string "environment-setup". 9271 and begins with the string "environment-setup".
9275 For more information, see the 9272 For more information, see the
9276 "<ulink url='&YOCTO_DOCS_ADT_URL;#setting-up-the-cross-development-environment'>Setting Up the Cross-Development Environment</ulink>" 9273 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's
9277 section in the Yocto Project Application Developer's 9274 Guide</ulink>.
9278 Guide.
9279 </para> 9275 </para>
9280 9276
9281 <para> 9277 <para>
diff --git a/documentation/dev-manual/dev-manual-intro.xml b/documentation/dev-manual/dev-manual-intro.xml
index 5affa86ea3..21b85a5333 100644
--- a/documentation/dev-manual/dev-manual-intro.xml
+++ b/documentation/dev-manual/dev-manual-intro.xml
@@ -86,10 +86,9 @@
86 <itemizedlist> 86 <itemizedlist>
87 <listitem><para><emphasis>Step-by-step instructions when those instructions exist in other Yocto 87 <listitem><para><emphasis>Step-by-step instructions when those instructions exist in other Yocto
88 Project documentation:</emphasis> 88 Project documentation:</emphasis>
89 For example, the Yocto Project Application Developer's Guide contains detailed 89 For example, the Yocto Project Software Development Kit (SDK) Developer's Guide contains detailed
90 instructions on how to run the 90 instructions on how to install an SDK, which is used to
91 <ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>ADT Installer</ulink>, 91 develop applications for target hardware.</para></listitem>
92 which is used to set up a cross-development environment.</para></listitem>
93 <listitem><para><emphasis>Reference material:</emphasis> 92 <listitem><para><emphasis>Reference material:</emphasis>
94 This type of material resides in an appropriate reference manual. 93 This type of material resides in an appropriate reference manual.
95 For example, system variables are documented in the 94 For example, system variables are documented in the
@@ -126,10 +125,12 @@
126 The build system is sometimes referred to as "Poky". 125 The build system is sometimes referred to as "Poky".
127 </para></listitem> 126 </para></listitem>
128 <listitem><para><emphasis> 127 <listitem><para><emphasis>
129 <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project Application Developer's Guide</ulink>:</emphasis> 128 <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>:</emphasis>
130 This guide provides information that lets you get going with the Application 129 This guide provides information that lets you get going
131 Development Toolkit (ADT) and stand-alone cross-development toolchains to 130 with the standard or extensible SDK.
132 develop projects using the Yocto Project. 131 An SDK, with its cross-development toolchains, allows you
132 to develop projects inside or outside of the Yocto Project
133 environment.
133 </para></listitem> 134 </para></listitem>
134 <listitem><para><emphasis> 135 <listitem><para><emphasis>
135 <ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis> 136 <ulink url='&YOCTO_DOCS_BSP_URL;'>Yocto Project Board Support Package (BSP) Developer's Guide</ulink>:</emphasis>
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml
index 489547dae6..4fb1e61559 100644
--- a/documentation/dev-manual/dev-manual-model.xml
+++ b/documentation/dev-manual/dev-manual-model.xml
@@ -27,11 +27,10 @@
27 that you intend to run on target hardware. 27 that you intend to run on target hardware.
28 For information on how to set up your host development system for 28 For information on how to set up your host development system for
29 user-space application development, see the 29 user-space application development, see the
30 <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project Application Developer's Guide</ulink>. 30 <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
31 For a simple example of user-space application development using 31 For a simple example of user-space application development using
32 the <trademark class='trade'>Eclipse</trademark> IDE, see the 32 the <trademark class='trade'>Eclipse</trademark> IDE, see the
33 "<link linkend='application-development-workflow'>Application 33 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-developing-applications-using-eclipse'>Developing Applications Using <trademark class='trade'>Eclipse</trademark></ulink>" section.
34 Development Workflow</link>" section.
35 </para></listitem> 34 </para></listitem>
36 <listitem><para><emphasis>Temporary Source Code Modification:</emphasis> 35 <listitem><para><emphasis>Temporary Source Code Modification:</emphasis>
37 Direct modification of temporary source code is a convenient 36 Direct modification of temporary source code is a convenient
@@ -529,1161 +528,18 @@
529 </section> 528 </section>
530</section> 529</section>
531 530
532<section id='application-development-workflow'> 531<section id='application-development-workflow-using-an-sdk'>
533 <title>Application Development Workflow</title> 532 <title>Application Development Workflow Using an SDK</title>
534 533
535 <para> 534 <para>
536 Application development involves creating an application that you want 535 Standard and extensible Software Development Kits (SDK) make it easy
537 to run on your target hardware, which is running a kernel image created using the 536 to develop applications inside or outside of the Yocto Project
538 OpenEmbedded build system. 537 development environment.
539 The Yocto Project provides an 538 Tools exist to help the application developer during any phase
540 <ulink url='&YOCTO_DOCS_ADT_URL;#adt-intro'>Application Development Toolkit (ADT)</ulink> 539 of development.
541 and stand-alone 540 For information on how to install and use an SDK, see the
542 <ulink url='&YOCTO_DOCS_ADT_URL;#the-cross-development-toolchain'>cross-development toolchains</ulink> 541 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
543 that facilitate quick development and integration of your application into its runtime environment.
544 Using the ADT and toolchains, you can compile and link your application.
545 You can then deploy your application to the actual hardware or to the QEMU emulator for testing.
546 If you are familiar with the popular <trademark class='trade'>Eclipse</trademark> IDE,
547 you can use an Eclipse Yocto Plug-in to
548 allow you to develop, deploy, and test your application all from within Eclipse.
549 </para>
550
551 <para>
552 While we strongly suggest using the ADT to develop your application, this option might not
553 be best for you.
554 If this is the case, you can still use pieces of the Yocto Project for your development process.
555 However, because the process can vary greatly, this manual does not provide detail on the process.
556 </para> 542 </para>
557
558 <section id='workflow-using-the-adt-and-eclipse'>
559 <title>Workflow Using the ADT and <trademark class='trade'>Eclipse</trademark></title>
560
561 <para>
562 To help you understand how application development works using the ADT, this section
563 provides an overview of the general development process and a detailed example of the process
564 as it is used from within the Eclipse IDE.
565 </para>
566
567 <para>
568 The following illustration and list summarize the application development general workflow.
569 </para>
570
571 <para>
572 <imagedata fileref="figures/app-dev-flow.png"
573 width="7in" depth="8in" align="center" scale="100" />
574 </para>
575
576 <para>
577 <orderedlist>
578 <listitem><para><emphasis>Prepare the host system for the Yocto Project</emphasis>:
579 See
580 "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>"
581 and
582 "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" sections both
583 in the Yocto Project Reference Manual for requirements.
584 In particular, be sure your host system has the
585 <filename>xterm</filename> package installed.
586 </para></listitem>
587 <listitem><para><emphasis>Secure the Yocto Project kernel target image</emphasis>:
588 You must have a target kernel image that has been built using the OpenEmbedded
589 build system.</para>
590 <para>Depending on whether the Yocto Project has a pre-built image that matches your target
591 architecture and where you are going to run the image while you develop your application
592 (QEMU or real hardware), the area from which you get the image differs.
593 <itemizedlist>
594 <listitem><para>Download the image from
595 <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
596 if your target architecture is supported and you are going to develop
597 and test your application on actual hardware.</para></listitem>
598 <listitem><para>Download the image from
599 <ulink url='&YOCTO_QEMU_DL_URL;'>
600 <filename>machines/qemu</filename></ulink> if your target architecture is supported
601 and you are going to develop and test your application using the QEMU
602 emulator.</para></listitem>
603 <listitem><para>Build your image if you cannot find a pre-built image that matches
604 your target architecture.
605 If your target architecture is similar to a supported architecture, you can
606 modify the kernel image before you build it.
607 See the
608 "<link linkend='patching-the-kernel'>Patching the Kernel</link>"
609 section for an example.</para></listitem>
610 </itemizedlist></para>
611 <para>For information on pre-built kernel image naming schemes for images
612 that can run on the QEMU emulator, see the
613 "<ulink url='&YOCTO_DOCS_QS_URL;#downloading-the-pre-built-linux-kernel'>Downloading the Pre-Built Linux Kernel</ulink>"
614 section in the Yocto Project Application Developer's Guide.</para></listitem>
615 <listitem><para><emphasis>Install the ADT</emphasis>:
616 The ADT provides a target-specific cross-development toolchain, the root filesystem,
617 the QEMU emulator, and other tools that can help you develop your application.
618 While it is possible to get these pieces separately, the ADT Installer provides an
619 easy, inclusive method.
620 You can get these pieces by running an ADT installer script, which is configurable.
621 For information on how to install the ADT, see the
622 "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Using the ADT Installer</ulink>"
623 section
624 in the Yocto Project Application Developer's Guide.</para></listitem>
625 <listitem><para><emphasis>If applicable, secure the target root filesystem
626 and the Cross-development toolchain</emphasis>:
627 If you choose not to install the ADT using the ADT Installer,
628 you need to find and download the appropriate root filesystem and
629 the cross-development toolchain.</para>
630 <para>You can find the tarballs for the root filesystem in the same area used
631 for the kernel image.
632 Depending on the type of image you are running, the root filesystem you need differs.
633 For example, if you are developing an application that runs on an image that
634 supports Sato, you need to get a root filesystem that supports Sato.</para>
635 <para>You can find the cross-development toolchains at
636 <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'><filename>toolchains</filename></ulink>.
637 Be sure to get the correct toolchain for your development host and your
638 target architecture.
639 See the "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>"
640 section in the Yocto Project Application Developer's Guide for information
641 and the
642 "<ulink url='&YOCTO_DOCS_QS_URL;#installing-the-toolchain'>Installing the Toolchain</ulink>"
643 in the Yocto Project Application Developer's Guide for information on finding and installing
644 the correct toolchain based on your host development system and your target
645 architecture.
646 </para></listitem>
647 <listitem><para><emphasis>Create and build your application</emphasis>:
648 At this point, you need to have source files for your application.
649 Once you have the files, you can use the Eclipse IDE to import them and build the
650 project.
651 If you are not using Eclipse, you need to use the cross-development tools you have
652 installed to create the image.</para></listitem>
653 <listitem><para><emphasis>Deploy the image with the application</emphasis>:
654 If you are using the Eclipse IDE, you can deploy your image to the hardware or to
655 QEMU through the project's preferences.
656 If you are not using the Eclipse IDE, then you need to deploy the application
657 to the hardware using other methods.
658 Or, if you are using QEMU, you need to use that tool and
659 load your image in for testing.
660 See the
661 "<link linkend='dev-manual-qemu'>Using the Quick EMUlator (QEMU)</link>"
662 chapter for information on using QEMU.
663 </para></listitem>
664 <listitem><para><emphasis>Test and debug the application</emphasis>:
665 Once your application is deployed, you need to test it.
666 Within the Eclipse IDE, you can use the debugging environment along with the
667 set of user-space tools installed along with the ADT to debug your application.
668 Of course, the same user-space tools are available separately if you choose
669 not to use the Eclipse IDE.</para></listitem>
670 </orderedlist>
671 </para>
672 </section>
673
674 <section id='adt-eclipse'>
675 <title>Working Within Eclipse</title>
676
677 <para>
678 The Eclipse IDE is a popular development environment and it fully
679 supports development using the Yocto Project.
680 <note>
681 This release of the Yocto Project supports both the Luna
682 and Kepler versions of the Eclipse IDE.
683 Thus, the following information provides setup information for
684 both versions.
685 </note>
686 </para>
687
688 <para>
689 When you install and configure the Eclipse Yocto Project Plug-in
690 into the Eclipse IDE, you maximize your Yocto Project experience.
691 Installing and configuring the Plug-in results in an environment
692 that has extensions specifically designed to let you more easily
693 develop software.
694 These extensions allow for cross-compilation, deployment, and
695 execution of your output into a QEMU emulation session as well as
696 actual target hardware.
697 You can also perform cross-debugging and profiling.
698 The environment also supports a suite of tools that allows you
699 to perform remote profiling, tracing, collection of power data,
700 collection of latency data, and collection of performance data.
701 </para>
702
703 <para>
704 This section describes how to install and configure the Eclipse IDE
705 Yocto Plug-in and how to use it to develop your application.
706 </para>
707
708 <section id='setting-up-the-eclipse-ide'>
709 <title>Setting Up the Eclipse IDE</title>
710
711 <para>
712 To develop within the Eclipse IDE, you need to do the following:
713 <orderedlist>
714 <listitem><para>Install the optimal version of the Eclipse
715 IDE.</para></listitem>
716 <listitem><para>Configure the Eclipse IDE.
717 </para></listitem>
718 <listitem><para>Install the Eclipse Yocto Plug-in.
719 </para></listitem>
720 <listitem><para>Configure the Eclipse Yocto Plug-in.
721 </para></listitem>
722 </orderedlist>
723 <note>
724 Do not install Eclipse from your distribution's package
725 repository.
726 Be sure to install Eclipse from the official Eclipse
727 download site as directed in the next section.
728 </note>
729 </para>
730
731 <section id='installing-eclipse-ide'>
732 <title>Installing the Eclipse IDE</title>
733
734 <para>
735 It is recommended that you have the Luna SR2 (4.4.2)
736 version of the Eclipse IDE installed on your development
737 system.
738 However, if you currently have the Kepler 4.3.2 version
739 installed and you do not want to upgrade the IDE, you can
740 configure Kepler to work with the Yocto Project.
741 </para>
742
743 <para>
744 If you do not have the Luna SR2 (4.4.2) Eclipse IDE
745 installed, you can find the tarball at
746 <ulink url='&ECLIPSE_MAIN_URL;'></ulink>.
747 From that site, choose the appropriate download from the
748 "Eclipse IDE for C/C++ Developers".
749 This version contains the Eclipse Platform, the Java
750 Development Tools (JDT), and the Plug-in Development
751 Environment.
752 </para>
753
754 <para>
755 Once you have downloaded the tarball, extract it into a
756 clean directory.
757 For example, the following commands unpack and install the
758 downloaded Eclipse IDE tarball into a clean directory
759 using the default name <filename>eclipse</filename>:
760 <literallayout class='monospaced'>
761 $ cd ~
762 $ tar -xzvf ~/Downloads/eclipse-cpp-luna-SR2-linux-gtk-x86_64.tar.gz
763 </literallayout>
764 </para>
765 </section>
766
767 <section id='configuring-the-eclipse-ide'>
768 <title>Configuring the Eclipse IDE</title>
769
770 <para>
771 This section presents the steps needed to configure the
772 Eclipse IDE.
773 </para>
774
775 <para>
776 Before installing and configuring the Eclipse Yocto Plug-in,
777 you need to configure the Eclipse IDE.
778 Follow these general steps:
779 <orderedlist>
780 <listitem><para>Start the Eclipse IDE.</para></listitem>
781 <listitem><para>Make sure you are in your Workbench and
782 select "Install New Software" from the "Help"
783 pull-down menu.</para></listitem>
784 <listitem><para>Select
785 <filename>Luna - &ECLIPSE_LUNA_URL;</filename>
786 from the "Work with:" pull-down menu.
787 <note>
788 For Kepler, select
789 <filename>Kepler - &ECLIPSE_KEPLER_URL;</filename>
790 </note>
791 </para></listitem>
792 <listitem><para>Expand the box next to "Linux Tools"
793 and select the
794 <filename>Linux Tools LTTng Tracer Control</filename>,
795 <filename>Linux Tools LTTng Userspace Analysis</filename>,
796 and
797 <filename>LTTng Kernel Analysis</filename> boxes.
798 If these selections do not appear in the list,
799 that means the items are already installed.
800 <note>
801 For Kepler, select
802 <filename>LTTng - Linux Tracing Toolkit</filename>
803 box.
804 </note>
805 </para></listitem>
806 <listitem><para>Expand the box next to "Mobile and
807 Device Development" and select the following boxes.
808 Again, if any of the following items are not
809 available for selection, that means the items are
810 already installed:
811 <itemizedlist>
812 <listitem><para><filename>C/C++ Remote Launch (Requires RSE Remote System Explorer)</filename></para></listitem>
813 <listitem><para><filename>Remote System Explorer End-user Runtime</filename></para></listitem>
814 <listitem><para><filename>Remote System Explorer User Actions</filename></para></listitem>
815 <listitem><para><filename>Target Management Terminal (Core SDK)</filename></para></listitem>
816 <listitem><para><filename>TCF Remote System Explorer add-in</filename></para></listitem>
817 <listitem><para><filename>TCF Target Explorer</filename></para></listitem>
818 </itemizedlist></para></listitem>
819 <listitem><para>Expand the box next to "Programming
820 Languages" and select the
821 <filename>C/C++ Autotools Support</filename>
822 and <filename>C/C++ Development Tools</filename>
823 boxes.
824 For Luna, these items do not appear on the list
825 as they are already installed.
826 </para></listitem>
827 <listitem><para>Complete the installation and restart
828 the Eclipse IDE.</para></listitem>
829 </orderedlist>
830 </para>
831 </section>
832
833 <section id='installing-the-eclipse-yocto-plug-in'>
834 <title>Installing or Accessing the Eclipse Yocto Plug-in</title>
835
836 <para>
837 You can install the Eclipse Yocto Plug-in into the Eclipse
838 IDE one of two ways: use the Yocto Project's Eclipse
839 Update site to install the pre-built plug-in or build and
840 install the plug-in from the latest source code.
841 </para>
842
843 <section id='new-software'>
844 <title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update Site</title>
845
846 <para>
847 To install the Eclipse Yocto Plug-in from the update
848 site, follow these steps:
849 <orderedlist>
850 <listitem><para>Start up the Eclipse IDE.
851 </para></listitem>
852 <listitem><para>In Eclipse, select "Install New
853 Software" from the "Help" menu.
854 </para></listitem>
855 <listitem><para>Click "Add..." in the "Work with:"
856 area.</para></listitem>
857 <listitem><para>Enter
858 <filename>&ECLIPSE_DL_PLUGIN_URL;/luna</filename>
859 in the URL field and provide a meaningful name
860 in the "Name" field.
861 <note>
862 If you are using Kepler, use
863 <filename>&ECLIPSE_DL_PLUGIN_URL;/kepler</filename>
864 in the URL field.
865 </note></para></listitem>
866 <listitem><para>Click "OK" to have the entry added
867 to the "Work with:" drop-down list.
868 </para></listitem>
869 <listitem><para>Select the entry for the plug-in
870 from the "Work with:" drop-down list.
871 </para></listitem>
872 <listitem><para>Check the boxes next to
873 <filename>Yocto Project ADT Plug-in</filename>,
874 <filename>Yocto Project Bitbake Commander Plug-in</filename>,
875 and
876 <filename>Yocto Project Documentation plug-in</filename>.
877 </para></listitem>
878 <listitem><para>Complete the remaining software
879 installation steps and then restart the Eclipse
880 IDE to finish the installation of the plug-in.
881 <note>
882 You can click "OK" when prompted about
883 installing software that contains unsigned
884 content.
885 </note>
886 </para></listitem>
887 </orderedlist>
888 </para>
889 </section>
890
891 <section id='zip-file-method'>
892 <title>Installing the Plug-in Using the Latest Source Code</title>
893
894 <para>
895 To install the Eclipse Yocto Plug-in from the latest
896 source code, follow these steps:
897 <orderedlist>
898 <listitem><para>Be sure your development system
899 is not using OpenJDK to build the plug-in
900 by doing the following:
901 <orderedlist>
902 <listitem><para>Use the Oracle JDK.
903 If you don't have that, go to
904 <ulink url='http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html'></ulink>
905 and download the latest appropriate
906 Java SE Development Kit tarball for
907 your development system and
908 extract it into your home directory.
909 </para></listitem>
910 <listitem><para>In the shell you are going
911 to do your work, export the location of
912 the Oracle Java.
913 The previous step creates a new folder
914 for the extracted software.
915 You need to use the following
916 <filename>export</filename> command
917 and provide the specific location:
918 <literallayout class='monospaced'>
919 export PATH=~/<replaceable>extracted_jdk_location</replaceable>/bin:$PATH
920 </literallayout>
921 </para></listitem>
922 </orderedlist>
923 </para></listitem>
924 <listitem><para>In the same shell, create a Git
925 repository with:
926 <literallayout class='monospaced'>
927 $ cd ~
928 $ git clone git://git.yoctoproject.org/eclipse-poky
929 </literallayout>
930 </para></listitem>
931 <listitem><para>Be sure to checkout the correct
932 tag.
933 For example, if you are using Luna, do the
934 following:
935 <literallayout class='monospaced'>
936 $ git checkout luna/yocto-&DISTRO;
937 </literallayout>
938 This puts you in a detached HEAD state, which
939 is fine since you are only going to be building
940 and not developing.
941 <note>
942 If you are building kepler, checkout the
943 <filename>kepler/yocto-&DISTRO;</filename>
944 branch.
945 </note>
946 </para></listitem>
947 <listitem><para>Change to the
948 <filename>scripts</filename>
949 directory within the Git repository:
950 <literallayout class='monospaced'>
951 $ cd scripts
952 </literallayout>
953 </para></listitem>
954 <listitem><para>Set up the local build environment
955 by running the setup script:
956 <literallayout class='monospaced'>
957 $ ./setup.sh
958 </literallayout>
959 </para></listitem>
960 <listitem><para>When the script finishes execution,
961 it prompts you with instructions on how to run
962 the <filename>build.sh</filename> script, which
963 is also in the <filename>scripts</filename>
964 directory of the Git repository created
965 earlier.
966 </para></listitem>
967 <listitem><para>Run the <filename>build.sh</filename>
968 script as directed.
969 Be sure to provide the tag name, documentation
970 branch, and a release name.
971 Here is an example that uses the
972 <filename>luna/yocto-&DISTRO;</filename> tag, the
973 <filename>master</filename> documentation
974 branch, and
975 <filename>&DISTRO_NAME;</filename> for the
976 release name:
977 <literallayout class='monospaced'>
978 $ ECLIPSE_HOME=/home/scottrif/eclipse-poky/scripts/eclipse ./build.sh luna/yocto-&DISTRO; master &DISTRO_NAME; 2>&amp;1 | tee -a build.log
979 </literallayout>
980 After running the script, the file
981 <filename>org.yocto.sdk-</filename><replaceable>release</replaceable><filename>-</filename><replaceable>date</replaceable><filename>-archive.zip</filename>
982 is in the current directory.
983 </para></listitem>
984 <listitem><para>If necessary, start the Eclipse IDE
985 and be sure you are in the Workbench.
986 </para></listitem>
987 <listitem><para>Select "Install New Software" from
988 the "Help" pull-down menu.
989 </para></listitem>
990 <listitem><para>Click "Add".</para></listitem>
991 <listitem><para>Provide anything you want in the
992 "Name" field.
993 </para></listitem>
994 <listitem><para>Click "Archive" and browse to the
995 ZIP file you built in step eight.
996 This ZIP file should not be "unzipped", and must
997 be the <filename>*archive.zip</filename> file
998 created by running the
999 <filename>build.sh</filename> script.
1000 </para></listitem>
1001 <listitem><para>Click the "OK" button.
1002 </para></listitem>
1003 <listitem><para>Check the boxes that appear in
1004 the installation window to install the
1005 <filename>Yocto Project ADT Plug-in</filename>,
1006 <filename>Yocto Project Bitbake Commander Plug-in</filename>,
1007 and the
1008 <filename>Yocto Project Documentation plug-in</filename>.
1009 </para></listitem>
1010 <listitem><para>Finish the installation by clicking
1011 through the appropriate buttons.
1012 You can click "OK" when prompted about
1013 installing software that contains unsigned
1014 content.
1015 </para></listitem>
1016 <listitem><para>Restart the Eclipse IDE if
1017 necessary.
1018 </para></listitem>
1019 </orderedlist>
1020 </para>
1021
1022 <para>
1023 At this point you should be able to configure the
1024 Eclipse Yocto Plug-in as described in the
1025 "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>"
1026 section.</para>
1027 </section>
1028 </section>
1029
1030 <section id='configuring-the-eclipse-yocto-plug-in'>
1031 <title>Configuring the Eclipse Yocto Plug-in</title>
1032
1033 <para>
1034 Configuring the Eclipse Yocto Plug-in involves setting the
1035 Cross Compiler options and the Target options.
1036 The configurations you choose become the default settings
1037 for all projects.
1038 You do have opportunities to change them later when
1039 you configure the project (see the following section).
1040 </para>
1041
1042 <para>
1043 To start, you need to do the following from within the
1044 Eclipse IDE:
1045 <itemizedlist>
1046 <listitem><para>Choose "Preferences" from the
1047 "Window" menu to display the Preferences Dialog.
1048 </para></listitem>
1049 <listitem><para>Click "Yocto Project ADT" to display
1050 the configuration screen.
1051 </para></listitem>
1052 </itemizedlist>
1053 </para>
1054
1055 <section id='configuring-the-cross-compiler-options'>
1056 <title>Configuring the Cross-Compiler Options</title>
1057
1058 <para>
1059 To configure the Cross Compiler Options, you must select
1060 the type of toolchain, point to the toolchain, specify
1061 the sysroot location, and select the target
1062 architecture.
1063 <itemizedlist>
1064 <listitem><para><emphasis>Selecting the Toolchain Type:</emphasis>
1065 Choose between
1066 <filename>Standalone pre-built toolchain</filename>
1067 and
1068 <filename>Build system derived toolchain</filename>
1069 for Cross Compiler Options.
1070 <itemizedlist>
1071 <listitem><para><emphasis>
1072 <filename>Standalone Pre-built Toolchain:</filename></emphasis>
1073 Select this mode when you are using
1074 a stand-alone cross-toolchain.
1075 For example, suppose you are an
1076 application developer and do not
1077 need to build a target image.
1078 Instead, you just want to use an
1079 architecture-specific toolchain on
1080 an existing kernel and target root
1081 filesystem.</para></listitem>
1082 <listitem><para><emphasis>
1083 <filename>Build System Derived Toolchain:</filename></emphasis>
1084 Select this mode if the
1085 cross-toolchain has been installed
1086 and built as part of the
1087 <link linkend='build-directory'>Build Directory</link>.
1088 When you select
1089 <filename>Build system derived toolchain</filename>,
1090 you are using the toolchain bundled
1091 inside the Build Directory.
1092 </para></listitem>
1093 </itemizedlist>
1094 </para></listitem>
1095 <listitem><para><emphasis>Point to the Toolchain:</emphasis>
1096 If you are using a stand-alone pre-built
1097 toolchain, you should be pointing to where it is
1098 installed.
1099 If you used the ADT Installer script and
1100 accepted the default installation directory, the
1101 toolchain will be installed in the
1102 <filename>&YOCTO_ADTPATH_DIR;</filename>
1103 directory.
1104 Sections "<ulink url='&YOCTO_DOCS_ADT_URL;#configuring-and-running-the-adt-installer-script'>Configuring and Running the ADT Installer Script</ulink>"
1105 and
1106 "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>"
1107 in the Yocto Project Application Developer's
1108 Guide describe how to install a stand-alone
1109 cross-toolchain.</para>
1110 <para>If you are using a system-derived
1111 toolchain, the path you provide for the
1112 <filename>Toolchain Root Location</filename>
1113 field is the
1114 <link linkend='build-directory'>Build Directory</link>.
1115 See the
1116 "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree'>Using BitBake and the Build Directory</ulink>"
1117 section in the Yocto Project Application
1118 Developer's Guide for information on how to
1119 install the toolchain into the Build
1120 Directory.</para></listitem>
1121 <listitem><para><emphasis>Specify the Sysroot Location:</emphasis>
1122 This location is where the root filesystem for
1123 the target hardware resides.
1124 If you used the ADT Installer script and
1125 accepted the default installation directory,
1126 then the location in your home directory
1127 in a folder named
1128 <filename>test-yocto/</filename><replaceable>target_arch</replaceable>.
1129 Additionally, when you use the ADT Installer
1130 script, the
1131 <filename>/opt/poky/&DISTRO;/sysroots</filename>
1132 location is used for the QEMU
1133 user-space tools and the NFS boot process.
1134 </para>
1135 <para>If you used either of the other two
1136 methods to install the toolchain or did not
1137 accept the ADT Installer script's default
1138 installation directory, then the location of
1139 the sysroot filesystem depends on where you
1140 separately extracted and installed the
1141 filesystem.</para>
1142 <para>For information on how to install the
1143 toolchain and on how to extract and install the
1144 sysroot filesystem, see the
1145 "<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>"
1146 section in the Yocto Project Application
1147 Developer's Guide.
1148 </para></listitem>
1149 <listitem><para><emphasis>Select the Target Architecture:</emphasis>
1150 The target architecture is the type of hardware
1151 you are going to use or emulate.
1152 Use the pull-down
1153 <filename>Target Architecture</filename> menu
1154 to make your selection.
1155 The pull-down menu should have the supported
1156 architectures.
1157 If the architecture you need is not listed in
1158 the menu, you will need to build the image.
1159 See the
1160 "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
1161 section of the Yocto Project Quick Start for
1162 more information.</para></listitem>
1163 </itemizedlist>
1164 </para>
1165 </section>
1166
1167 <section id='configuring-the-target-options'>
1168 <title>Configuring the Target Options</title>
1169
1170 <para>
1171 You can choose to emulate hardware using the QEMU
1172 emulator, or you can choose to run your image on actual
1173 hardware.
1174 <itemizedlist>
1175 <listitem><para><emphasis>QEMU:</emphasis>
1176 Select this option if you will be using the
1177 QEMU emulator.
1178 If you are using the emulator, you also need to
1179 locate the kernel and specify any custom
1180 options.</para>
1181 <para>If you selected
1182 <filename>Build system derived toolchain</filename>,
1183 the target kernel you built will be located in
1184 the Build Directory in
1185 <filename>tmp/deploy/images/<replaceable>machine</replaceable></filename>
1186 directory.
1187 If you selected
1188 <filename>Standalone pre-built toolchain</filename>,
1189 the pre-built image you downloaded is located
1190 in the directory you specified when you
1191 downloaded the image.</para>
1192 <para>Most custom options are for advanced QEMU
1193 users to further customize their QEMU instance.
1194 These options are specified between paired
1195 angled brackets.
1196 Some options must be specified outside the
1197 brackets.
1198 In particular, the options
1199 <filename>serial</filename>,
1200 <filename>nographic</filename>, and
1201 <filename>kvm</filename> must all be outside the
1202 brackets.
1203 Use the <filename>man qemu</filename> command
1204 to get help on all the options and their use.
1205 The following is an example:
1206 <literallayout class='monospaced'>
1207 serial ‘&lt;-m 256 -full-screen&gt;’
1208 </literallayout></para>
1209 <para>
1210 Regardless of the mode, Sysroot is already
1211 defined as part of the Cross-Compiler Options
1212 configuration in the
1213 <filename>Sysroot Location:</filename> field.
1214 </para></listitem>
1215 <listitem><para><emphasis>External HW:</emphasis>
1216 Select this option if you will be using actual
1217 hardware.</para></listitem>
1218 </itemizedlist>
1219 </para>
1220
1221 <para>
1222 Click the "OK" to save your plug-in configurations.
1223 </para>
1224 </section>
1225 </section>
1226 </section>
1227
1228 <section id='creating-the-project'>
1229 <title>Creating the Project</title>
1230
1231 <para>
1232 You can create two types of projects: Autotools-based, or
1233 Makefile-based.
1234 This section describes how to create Autotools-based projects
1235 from within the Eclipse IDE.
1236 For information on creating Makefile-based projects in a
1237 terminal window, see the section
1238 "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-command-line'>Using the Command Line</ulink>"
1239 in the Yocto Project Application Developer's Guide.
1240 <note>
1241 Do not use special characters in project names
1242 (e.g. spaces, underscores, etc.). Doing so can
1243 cause configuration to fail.
1244 </note>
1245 </para>
1246
1247 <para>
1248 To create a project based on a Yocto template and then display
1249 the source code, follow these steps:
1250 <orderedlist>
1251 <listitem><para>Select "Project" from the "File -> New" menu.
1252 </para></listitem>
1253 <listitem><para>Double click <filename>CC++</filename>.
1254 </para></listitem>
1255 <listitem><para>Double click <filename>C Project</filename>
1256 to create the project.</para></listitem>
1257 <listitem><para>Expand <filename>Yocto Project ADT Autotools Project</filename>.
1258 </para></listitem>
1259 <listitem><para>Select <filename>Hello World ANSI C Autotools Project</filename>.
1260 This is an Autotools-based project based on a Yocto
1261 template.</para></listitem>
1262 <listitem><para>Put a name in the <filename>Project name:</filename>
1263 field.
1264 Do not use hyphens as part of the name.
1265 </para></listitem>
1266 <listitem><para>Click "Next".</para></listitem>
1267 <listitem><para>Add information in the
1268 <filename>Author</filename> and
1269 <filename>Copyright notice</filename> fields.
1270 </para></listitem>
1271 <listitem><para>Be sure the <filename>License</filename>
1272 field is correct.</para></listitem>
1273 <listitem><para>Click "Finish".</para></listitem>
1274 <listitem><para>If the "open perspective" prompt appears,
1275 click "Yes" so that you in the C/C++ perspective.
1276 </para></listitem>
1277 <listitem><para>The left-hand navigation pane shows your
1278 project.
1279 You can display your source by double clicking the
1280 project's source file.</para></listitem>
1281 </orderedlist>
1282 </para>
1283 </section>
1284
1285 <section id='configuring-the-cross-toolchains'>
1286 <title>Configuring the Cross-Toolchains</title>
1287
1288 <para>
1289 The earlier section,
1290 "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>",
1291 sets up the default project configurations.
1292 You can override these settings for a given project by following
1293 these steps:
1294 <orderedlist>
1295 <listitem><para>Select "Change Yocto Project Settings" from
1296 the "Project" menu.
1297 This selection brings up the Yocto Project Settings
1298 Dialog and allows you to make changes specific to an
1299 individual project.</para>
1300 <para>By default, the Cross Compiler Options and Target
1301 Options for a project are inherited from settings you
1302 provided using the Preferences Dialog as described
1303 earlier in the
1304 "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>" section.
1305 The Yocto Project Settings Dialog allows you to override
1306 those default settings for a given project.
1307 </para></listitem>
1308 <listitem><para>Make your configurations for the project
1309 and click "OK".
1310 </para></listitem>
1311 <listitem><para>Right-click in the navigation pane and
1312 select "Reconfigure Project" from the pop-up menu.
1313 This selection reconfigures the project by running
1314 <filename>autogen.sh</filename> in the workspace for
1315 your project.
1316 The script also runs <filename>libtoolize</filename>,
1317 <filename>aclocal</filename>,
1318 <filename>autoconf</filename>,
1319 <filename>autoheader</filename>,
1320 <filename>automake --a</filename>, and
1321 <filename>./configure</filename>.
1322 Click on the "Console" tab beneath your source code to
1323 see the results of reconfiguring your project.
1324 </para></listitem>
1325 </orderedlist>
1326 </para>
1327 </section>
1328
1329 <section id='building-the-project'>
1330 <title>Building the Project</title>
1331
1332 <para>
1333 To build the project select "Build Project" from the
1334 "Project" menu.
1335 The console should update and you can note the cross-compiler
1336 you are using.
1337 <note>
1338 When building "Yocto Project ADT Autotools" projects, the Eclipse
1339 IDE might display error messages for Functions/Symbols/Types
1340 that cannot be "resolved", even when the related include file
1341 is listed at the project navigator and when the project is
1342 able to build.
1343 For these cases only, it is recommended to add a new linked
1344 folder to the appropriate sysroot.
1345 Use these steps to add the linked folder:
1346 <orderedlist>
1347 <listitem><para>
1348 Select the project.
1349 </para></listitem>
1350 <listitem><para>
1351 Select "Folder" from the
1352 <filename>File > New</filename> menu.
1353 </para></listitem>
1354 <listitem><para>
1355 In the "New Folder" Dialog, select "Link to alternate
1356 location (linked folder)".
1357 </para></listitem>
1358 <listitem><para>
1359 Click "Browse" to navigate to the include folder inside
1360 the same sysroot location selected in the Yocto Project
1361 configuration preferences.
1362 </para></listitem>
1363 <listitem><para>
1364 Click "OK".
1365 </para></listitem>
1366 <listitem><para>
1367 Click "Finish" to save the linked folder.
1368 </para></listitem>
1369 </orderedlist>
1370 </note>
1371 </para>
1372 </section>
1373
1374 <section id='starting-qemu-in-user-space-nfs-mode'>
1375 <title>Starting QEMU in User-Space NFS Mode</title>
1376
1377 <para>
1378 To start the QEMU emulator from within Eclipse, follow these
1379 steps:
1380 <note>
1381 See the
1382 "<link linkend='dev-manual-qemu'>Using the Quick EMUlator (QEMU)</link>"
1383 chapter for more information on using QEMU.
1384 </note>
1385 <orderedlist>
1386 <listitem><para>Expose and select "External Tools" from
1387 the "Run" menu.
1388 Your image should appear as a selectable menu item.
1389 </para></listitem>
1390 <listitem><para>Select your image from the menu to launch
1391 the emulator in a new window.
1392 </para></listitem>
1393 <listitem><para>If needed, enter your host root password in
1394 the shell window at the prompt.
1395 This sets up a <filename>Tap 0</filename> connection
1396 needed for running in user-space NFS mode.
1397 </para></listitem>
1398 <listitem><para>Wait for QEMU to launch.</para></listitem>
1399 <listitem><para>Once QEMU launches, you can begin operating
1400 within that environment.
1401 One useful task at this point would be to determine the
1402 IP Address for the user-space NFS by using the
1403 <filename>ifconfig</filename> command.
1404 </para></listitem>
1405 </orderedlist>
1406 </para>
1407 </section>
1408
1409 <section id='deploying-and-debugging-the-application'>
1410 <title>Deploying and Debugging the Application</title>
1411
1412 <para>
1413 Once the QEMU emulator is running the image, you can deploy
1414 your application using the Eclipse IDE and then use
1415 the emulator to perform debugging.
1416 Follow these steps to deploy the application.
1417 <orderedlist>
1418 <listitem><para>Select "Debug Configurations..." from the
1419 "Run" menu.</para></listitem>
1420 <listitem><para>In the left area, expand
1421 <filename>C/C++Remote Application</filename>.
1422 </para></listitem>
1423 <listitem><para>Locate your project and select it to bring
1424 up a new tabbed view in the Debug Configurations Dialog.
1425 </para></listitem>
1426 <listitem><para>Enter the absolute path into which you want
1427 to deploy the application.
1428 Use the "Remote Absolute File Path for
1429 C/C++Application:" field.
1430 For example, enter
1431 <filename>/usr/bin/<replaceable>programname</replaceable></filename>.
1432 </para></listitem>
1433 <listitem><para>Click on the "Debugger" tab to see the
1434 cross-tool debugger you are using.</para></listitem>
1435 <listitem><para>Click on the "Main" tab.</para></listitem>
1436 <listitem><para>Create a new connection to the QEMU instance
1437 by clicking on "new".</para></listitem>
1438 <listitem><para>Select <filename>TCF</filename>, which means
1439 Target Communication Framework.</para></listitem>
1440 <listitem><para>Click "Next".</para></listitem>
1441 <listitem><para>Clear out the "host name" field and enter
1442 the IP Address determined earlier.</para></listitem>
1443 <listitem><para>Click "Finish" to close the
1444 New Connections Dialog.</para></listitem>
1445 <listitem><para>Use the drop-down menu now in the
1446 "Connection" field and pick the IP Address you entered.
1447 </para></listitem>
1448 <listitem><para>Click "Debug" to bring up a login screen
1449 and login.</para></listitem>
1450 <listitem><para>Accept the debug perspective.
1451 </para></listitem>
1452 </orderedlist>
1453 </para>
1454 </section>
1455
1456 <section id='running-user-space-tools'>
1457 <title>Running User-Space Tools</title>
1458
1459 <para>
1460 As mentioned earlier in the manual, several tools exist that
1461 enhance your development experience.
1462 These tools are aids in developing and debugging applications
1463 and images.
1464 You can run these user-space tools from within the Eclipse
1465 IDE through the "YoctoProjectTools" menu.
1466 </para>
1467
1468 <para>
1469 Once you pick a tool, you need to configure it for the remote
1470 target.
1471 Every tool needs to have the connection configured.
1472 You must select an existing TCF-based RSE connection to the
1473 remote target.
1474 If one does not exist, click "New" to create one.
1475 </para>
1476
1477 <para>
1478 Here are some specifics about the remote tools:
1479 <itemizedlist>
1480 <listitem><para><emphasis><filename>OProfile</filename>:</emphasis>
1481 Selecting this tool causes the
1482 <filename>oprofile-server</filename> on the remote
1483 target to launch on the local host machine.
1484 The <filename>oprofile-viewer</filename> must be
1485 installed on the local host machine and the
1486 <filename>oprofile-server</filename> must be installed
1487 on the remote target, respectively, in order to use.
1488 You must compile and install the
1489 <filename>oprofile-viewer</filename> from the source
1490 code on your local host machine.
1491 Furthermore, in order to convert the target's sample
1492 format data into a form that the host can use, you must
1493 have OProfile version 0.9.4 or greater installed on the
1494 host.</para>
1495 <para>You can locate both the viewer and server from
1496 <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/oprofileui/'></ulink>.
1497 You can also find more information on setting up and
1498 using this tool in the
1499 "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-oprofile'>oprofile</ulink>"
1500 section of the Yocto Project Profiling and Tracing
1501 Manual.
1502 <note>The <filename>oprofile-server</filename> is
1503 installed by default on the
1504 <filename>core-image-sato-sdk</filename> image.</note>
1505 </para></listitem>
1506 <listitem><para><emphasis><filename>Lttng2.0 trace import</filename>:</emphasis>
1507 Selecting this tool transfers the remote target's
1508 <filename>Lttng</filename> tracing data back to the
1509 local host machine and uses the Lttng Eclipse plug-in
1510 to graphically display the output.
1511 For information on how to use Lttng to trace an
1512 application,
1513 see <ulink url='http://lttng.org/documentation'></ulink>
1514 and the
1515 "<ulink url='&YOCTO_DOCS_PROF_URL;#lttng-linux-trace-toolkit-next-generation'>LTTng (Linux Trace Toolkit, next generation)</ulink>"
1516 section, which is in the Yocto Project Profiling and
1517 Tracing Manual.
1518 <note>Do not use
1519 <filename>Lttng-user space (legacy)</filename> tool.
1520 This tool no longer has any upstream support.</note>
1521 </para>
1522 <para>Before you use the
1523 <filename>Lttng2.0 trace import</filename> tool,
1524 you need to setup the Lttng Eclipse plug-in and create a
1525 Tracing project.
1526 Do the following:
1527 <orderedlist>
1528 <listitem><para>Select "Open Perspective" from the
1529 "Window" menu and then select "Other..." to
1530 bring up a menu of other perspectives.
1531 Choose "Tracing".
1532 </para></listitem>
1533 <listitem><para>Click "OK" to change the Eclipse
1534 perspective into the Tracing perspective.
1535 </para></listitem>
1536 <listitem><para>Create a new Tracing project by
1537 selecting "Project" from the "File -> New" menu.
1538 </para></listitem>
1539 <listitem><para>Choose "Tracing Project" from the
1540 "Tracing" menu and click "Next".
1541 </para></listitem>
1542 <listitem><para>Provide a name for your tracing
1543 project and click "Finish".
1544 </para></listitem>
1545 <listitem><para>Generate your tracing data on the
1546 remote target.</para></listitem>
1547 <listitem><para>Select "Lttng2.0 trace import"
1548 from the "Yocto Project Tools" menu to
1549 start the data import process.</para></listitem>
1550 <listitem><para>Specify your remote connection name.
1551 </para></listitem>
1552 <listitem><para>For the Ust directory path, specify
1553 the location of your remote tracing data.
1554 Make sure the location ends with
1555 <filename>ust</filename> (e.g.
1556 <filename>/usr/mysession/ust</filename>).
1557 </para></listitem>
1558 <listitem><para>Click "OK" to complete the import
1559 process.
1560 The data is now in the local tracing project
1561 you created.</para></listitem>
1562 <listitem><para>Right click on the data and then use
1563 the menu to Select "Generic CTF Trace" from the
1564 "Trace Type... -> Common Trace Format" menu to
1565 map the tracing type.</para></listitem>
1566 <listitem><para>Right click the mouse and select
1567 "Open" to bring up the Eclipse Lttng Trace
1568 Viewer so you view the tracing data.
1569 </para></listitem>
1570 </orderedlist></para></listitem>
1571 <listitem><para><emphasis><filename>PowerTOP</filename>:</emphasis>
1572 Selecting this tool runs PowerTOP on the remote target
1573 machine and displays the results in a new view called
1574 PowerTOP.</para>
1575 <para>The "Time to gather data(sec):" field is the time
1576 passed in seconds before data is gathered from the
1577 remote target for analysis.</para>
1578 <para>The "show pids in wakeups list:" field corresponds
1579 to the <filename>-p</filename> argument passed to
1580 <filename>PowerTOP</filename>.</para></listitem>
1581 <listitem><para><emphasis><filename>LatencyTOP and Perf</filename>:</emphasis>
1582 LatencyTOP identifies system latency, while
1583 Perf monitors the system's performance counter
1584 registers.
1585 Selecting either of these tools causes an RSE terminal
1586 view to appear from which you can run the tools.
1587 Both tools refresh the entire screen to display results
1588 while they run.
1589 For more information on setting up and using
1590 <filename>perf</filename>, see the
1591 "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-perf'>perf</ulink>"
1592 section in the Yocto Project Profiling and Tracing
1593 Manual.
1594 </para></listitem>
1595 <listitem><para><emphasis><filename>SystemTap</filename>:</emphasis>
1596 Systemtap is a tool that lets you create and reuse
1597 scripts to examine the activities of a live Linux
1598 system.
1599 You can easily extract, filter, and summarize data
1600 that helps you diagnose complex performance or
1601 functional problems.
1602 For more information on setting up and using
1603 <filename>SystemTap</filename>, see the
1604 <ulink url='https://sourceware.org/systemtap/documentation.html'>SystemTap Documentation</ulink>.
1605 </para></listitem>
1606 <listitem><para><emphasis><filename>yocto-bsp</filename>:</emphasis>
1607 The <filename>yocto-bsp</filename> tool lets you
1608 quickly set up a Board Support Package (BSP) layer.
1609 The tool requires a Metadata location, build location,
1610 BSP name, BSP output location, and a kernel
1611 architecture.
1612 For more information on the
1613 <filename>yocto-bsp</filename> tool outside of Eclipse,
1614 see the
1615 "<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a new BSP Layer Using the yocto-bsp Script</ulink>"
1616 section in the Yocto Project Board Support Package
1617 (BSP) Developer's Guide.
1618 </para></listitem>
1619 </itemizedlist>
1620 </para>
1621 </section>
1622 </section>
1623
1624 <section id='workflow-using-stand-alone-cross-development-toolchains'>
1625 <title>Workflow Using Stand-Alone Cross-Development Toolchains</title>
1626
1627 <para>
1628 If you want to develop an application without prior installation
1629 of the ADT, you still can employ the
1630 <link linkend='cross-development-toolchain'>Cross Development Toolchain</link>,
1631 the QEMU emulator, and a number of supported target image files.
1632 You just need to follow these general steps:
1633 <orderedlist>
1634 <listitem><para><emphasis>Install the cross-development
1635 toolchain for your target hardware:</emphasis>
1636 For information on how to install the toolchain, see the
1637 "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>"
1638 section in the Yocto Project Application Developer's
1639 Guide.</para></listitem>
1640 <listitem><para><emphasis>Download the Target Image:</emphasis>
1641 The Yocto Project supports several target architectures
1642 and has many pre-built kernel images and root filesystem
1643 images.</para>
1644 <para>If you are going to develop your application on
1645 hardware, go to the
1646 <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
1647 download area and choose a target machine area
1648 from which to download the kernel image and root filesystem.
1649 This download area could have several files in it that
1650 support development using actual hardware.
1651 For example, the area might contain
1652 <filename>.hddimg</filename> files that combine the
1653 kernel image with the filesystem, boot loaders, and
1654 so forth.
1655 Be sure to get the files you need for your particular
1656 development process.</para>
1657 <para>If you are going to develop your application and
1658 then run and test it using the QEMU emulator, go to the
1659 <ulink url='&YOCTO_QEMU_DL_URL;'><filename>machines/qemu</filename></ulink>
1660 download area.
1661 From this area, go down into the directory for your
1662 target architecture (e.g. <filename>qemux86_64</filename>
1663 for an <trademark class='registered'>Intel</trademark>-based
1664 64-bit architecture).
1665 Download kernel, root filesystem, and any other files you
1666 need for your process.
1667 <note>In order to use the root filesystem in QEMU, you
1668 need to extract it.
1669 See the
1670 "<ulink url='&YOCTO_DOCS_ADT_URL;#extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>"
1671 section for information on how to extract the root
1672 filesystem.</note></para></listitem>
1673 <listitem><para><emphasis>Develop and Test your
1674 Application:</emphasis> At this point, you have the tools
1675 to develop your application.
1676 If you need to separately install and use the QEMU
1677 emulator, you can go to
1678 <ulink url='http://wiki.qemu.org/Main_Page'>QEMU Home Page</ulink>
1679 to download and learn about the emulator.
1680 You can see the
1681 "<link linkend='dev-manual-qemu'>Using the Quick EMUlator (QEMU)</link>"
1682 chapter for information on using QEMU within the Yocto
1683 Project.</para></listitem>
1684 </orderedlist>
1685 </para>
1686 </section>
1687</section> 543</section>
1688 544
1689<section id="dev-modifying-source-code"> 545<section id="dev-modifying-source-code">
@@ -1713,7 +569,7 @@
1713 describes this workflow. 569 describes this workflow.
1714 If you want more information that showcases the workflow, click 570 If you want more information that showcases the workflow, click
1715 <ulink url='https://drive.google.com/a/linaro.org/file/d/0B3KGzY5fW7laTDVxUXo3UDRvd2s/view'>here</ulink> 571 <ulink url='https://drive.google.com/a/linaro.org/file/d/0B3KGzY5fW7laTDVxUXo3UDRvd2s/view'>here</ulink>
1716 for an excellent presentation by Trevor Woerner that 572 for a presentation by Trevor Woerner that, while somewhat dated,
1717 provides detailed background information and a complete 573 provides detailed background information and a complete
1718 working tutorial. 574 working tutorial.
1719 </para></listitem> 575 </para></listitem>
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml
index 70fa96975d..e81ec15f75 100644
--- a/documentation/dev-manual/dev-manual-newbie.xml
+++ b/documentation/dev-manual/dev-manual-newbie.xml
@@ -106,12 +106,9 @@
106 isolated applications.</para></listitem> 106 isolated applications.</para></listitem>
107 <listitem><para>When possible, use the Yocto Project 107 <listitem><para>When possible, use the Yocto Project
108 plug-in for the <trademark class='trade'>Eclipse</trademark> IDE 108 plug-in for the <trademark class='trade'>Eclipse</trademark> IDE
109 and other pieces of Application Development 109 and SDK development practices.
110 Technology (ADT).
111 For more information, see the 110 For more information, see the
112 "<link linkend='application-development-workflow'>Application 111 "<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>".
113 Development Workflow</link>" section as well as the
114 <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project Application Developer's Guide</ulink>.
115 </para></listitem> 112 </para></listitem>
116 <listitem><para>Keep your cross-development toolchains 113 <listitem><para>Keep your cross-development toolchains
117 updated. 114 updated.
@@ -650,8 +647,7 @@
650 section in the Yocto Project Reference Manual. 647 section in the Yocto Project Reference Manual.
651 You can also find more information on using the 648 You can also find more information on using the
652 relocatable toolchain in the 649 relocatable toolchain in the
653 <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project 650 <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
654 Application Developer's Guide</ulink>.
655 </para></listitem> 651 </para></listitem>
656 <listitem><para><emphasis>Image:</emphasis> 652 <listitem><para><emphasis>Image:</emphasis>
657 An image is an artifact of the BitBake build process given 653 An image is an artifact of the BitBake build process given
diff --git a/documentation/dev-manual/dev-manual-qemu.xml b/documentation/dev-manual/dev-manual-qemu.xml
index 903028f5cf..66ecf2d13f 100644
--- a/documentation/dev-manual/dev-manual-qemu.xml
+++ b/documentation/dev-manual/dev-manual-qemu.xml
@@ -47,11 +47,10 @@
47 47
48 <para> 48 <para>
49 QEMU is made available with the Yocto Project a number of ways. 49 QEMU is made available with the Yocto Project a number of ways.
50 The easiest and recommended method for getting QEMU is to run the 50 One method is to install a Software Development Kit (SDK).
51 ADT installer. For more information on how to make sure you have 51 For more information on how to make sure you have
52 QEMU available, see the 52 QEMU available, see the
53 "<ulink url='&YOCTO_DOCS_ADT_URL;#the-qemu-emulator'>The QEMU Emulator</ulink>" 53 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
54 section in the Yocto Project Application Developer's Guide.
55 </para> 54 </para>
56</section> 55</section>
57 56
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml
index 9f349adcdd..a9a0c797b4 100644
--- a/documentation/dev-manual/dev-manual-start.xml
+++ b/documentation/dev-manual/dev-manual-start.xml
@@ -279,8 +279,9 @@
279 applications using the Eclipse Integrated Development Environment (IDE), 279 applications using the Eclipse Integrated Development Environment (IDE),
280 you will need this plug-in. 280 you will need this plug-in.
281 See the 281 See the
282 "<link linkend='setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</link>" 282 "<ulink url='&YOCTO_DOCS_SDK_URL;#setting-up-the-eclipse-ide'>Setting up the Eclipse IDE</ulink>"
283 section for more information.</para></listitem> 283 section in the Yocto Project Software Development Kit (SDK)
284 Developer's Guide for more information.</para></listitem>
284 </itemizedlist> 285 </itemizedlist>
285 </para> 286 </para>
286</section> 287</section>
@@ -366,8 +367,7 @@
366 by sourcing an environment setup script. 367 by sourcing an environment setup script.
367 Finally, you start the QEMU emulator. 368 Finally, you start the QEMU emulator.
368 You can find details on all these steps in the 369 You can find details on all these steps in the
369 "<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Example Using Pre-Built Binaries and QEMU</ulink>" 370 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
370 section of the Yocto Project Application Developer's Guide.
371 You can learn more about using QEMU with the Yocto Project in the 371 You can learn more about using QEMU with the Yocto Project in the
372 "<link linkend='dev-manual-qemu'>Using the Quick EMUlator (QEMU)</link>" 372 "<link linkend='dev-manual-qemu'>Using the Quick EMUlator (QEMU)</link>"
373 section. 373 section.
diff --git a/documentation/dev-manual/figures/app-dev-flow.png b/documentation/dev-manual/figures/app-dev-flow.png
deleted file mode 100644
index ec93374ee7..0000000000
--- a/documentation/dev-manual/figures/app-dev-flow.png
+++ /dev/null
Binary files differ
diff --git a/documentation/mega-manual/figures/app-dev-flow.png b/documentation/mega-manual/figures/app-dev-flow.png
deleted file mode 100644
index 4927b93d67..0000000000
--- a/documentation/mega-manual/figures/app-dev-flow.png
+++ /dev/null
Binary files differ
diff --git a/documentation/ref-manual/introduction.xml b/documentation/ref-manual/introduction.xml
index e82f8340fb..ecabaaa421 100644
--- a/documentation/ref-manual/introduction.xml
+++ b/documentation/ref-manual/introduction.xml
@@ -245,9 +245,9 @@
245 <literallayout class='monospaced'> 245 <literallayout class='monospaced'>
246 $ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto 246 $ sudo apt-get install make xsltproc docbook-utils fop dblatex xmlto
247 </literallayout></para></listitem> 247 </literallayout></para></listitem>
248 <listitem><para><emphasis>ADT Installer Extras:</emphasis> 248 <listitem><para><emphasis>SDK Installer Extras:</emphasis>
249 Packages needed if you are going to be using the 249 Packages needed if you are going to be using the
250 <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>: 250 the standard or extensible SDK:
251 <literallayout class='monospaced'> 251 <literallayout class='monospaced'>
252 $ sudo apt-get install autoconf automake libtool libglib2.0-dev libarchive-dev 252 $ sudo apt-get install autoconf automake libtool libglib2.0-dev libarchive-dev
253 </literallayout></para></listitem> 253 </literallayout></para></listitem>
@@ -289,9 +289,9 @@
289 $ sudo dnf install make docbook-style-dsssl docbook-style-xsl \ 289 $ sudo dnf install make docbook-style-dsssl docbook-style-xsl \
290 docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc 290 docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
291 </literallayout></para></listitem> 291 </literallayout></para></listitem>
292 <listitem><para><emphasis>ADT Installer Extras:</emphasis> 292 <listitem><para><emphasis>SDK Installer Extras:</emphasis>
293 Packages needed if you are going to be using the 293 Packages needed if you are going to be using the
294 <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>: 294 standard or extensible SDK:
295 <literallayout class='monospaced'> 295 <literallayout class='monospaced'>
296 $ sudo dnf install autoconf automake libtool glib2-devel libarchive-devel 296 $ sudo dnf install autoconf automake libtool glib2-devel libarchive-devel
297 </literallayout></para></listitem> 297 </literallayout></para></listitem>
@@ -332,9 +332,9 @@
332 <literallayout class='monospaced'> 332 <literallayout class='monospaced'>
333 $ sudo zypper install make fop xsltproc dblatex xmlto 333 $ sudo zypper install make fop xsltproc dblatex xmlto
334 </literallayout></para></listitem> 334 </literallayout></para></listitem>
335 <listitem><para><emphasis>ADT Installer Extras:</emphasis> 335 <listitem><para><emphasis>SDK Installer Extras:</emphasis>
336 Packages needed if you are going to be using the 336 Packages needed if you are going to be using the
337 <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>: 337 standard or extensible SDK:
338 <literallayout class='monospaced'> 338 <literallayout class='monospaced'>
339 $ sudo zypper install autoconf automake libtool glib2-devel libarchive-devel 339 $ sudo zypper install autoconf automake libtool glib2-devel libarchive-devel
340 </literallayout></para></listitem> 340 </literallayout></para></listitem>
@@ -387,9 +387,9 @@
387 $ sudo yum install make docbook-style-dsssl docbook-style-xsl \ 387 $ sudo yum install make docbook-style-dsssl docbook-style-xsl \
388 docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc 388 docbook-dtds docbook-utils fop libxslt dblatex xmlto xsltproc
389 </literallayout></para></listitem> 389 </literallayout></para></listitem>
390 <listitem><para><emphasis>ADT Installer Extras:</emphasis> 390 <listitem><para><emphasis>SDK Installer Extras:</emphasis>
391 Packages needed if you are going to be using the 391 Packages needed if you are going to be using the
392 <ulink url='&YOCTO_DOCS_ADT_URL;#using-the-adt-installer'>Application Development Toolkit (ADT) Installer</ulink>: 392 standard or extensible SDK:
393 <literallayout class='monospaced'> 393 <literallayout class='monospaced'>
394 $ sudo yum install autoconf automake libtool glib2-devel libarchive-devel 394 $ sudo yum install autoconf automake libtool glib2-devel libarchive-devel
395 </literallayout></para></listitem> 395 </literallayout></para></listitem>
diff --git a/documentation/ref-manual/ref-classes.xml b/documentation/ref-manual/ref-classes.xml
index bf4e5a949b..96258949a0 100644
--- a/documentation/ref-manual/ref-classes.xml
+++ b/documentation/ref-manual/ref-classes.xml
@@ -2638,8 +2638,8 @@
2638 toolchain using the 2638 toolchain using the
2639 <link linkend='ref-tasks-populate_sdk'><filename>do_populate_sdk</filename></link> 2639 <link linkend='ref-tasks-populate_sdk'><filename>do_populate_sdk</filename></link>
2640 task, see the 2640 task, see the
2641 "<ulink url='&YOCTO_DOCS_ADT_URL;#optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>" 2641 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>"
2642 section in the Yocto Project Application Developer's Guide. 2642 section in the Yocto Project Software Development Kit (SDK) Developer's Guide.
2643 </para> 2643 </para>
2644</section> 2644</section>
2645 2645
@@ -2718,8 +2718,9 @@
2718 cross-development toolchain using the 2718 cross-development toolchain using the
2719 <link linkend='ref-tasks-populate_sdk'><filename>do_populate_sdk</filename></link> 2719 <link linkend='ref-tasks-populate_sdk'><filename>do_populate_sdk</filename></link>
2720 task, see the 2720 task, see the
2721 "<ulink url='&YOCTO_DOCS_ADT_URL;#optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>" 2721 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>"
2722 section in the Yocto Project Application Developer's Guide. 2722 section in the Yocto Project Software Development Kit (SDK) Developer's
2723 Guide.
2723 </para> 2724 </para>
2724</section> 2725</section>
2725 2726
diff --git a/documentation/ref-manual/ref-features.xml b/documentation/ref-manual/ref-features.xml
index 1499853608..56e1185681 100644
--- a/documentation/ref-manual/ref-features.xml
+++ b/documentation/ref-manual/ref-features.xml
@@ -333,9 +333,7 @@
333 <filename>oprofile</filename>, <filename>exmap</filename>, 333 <filename>oprofile</filename>, <filename>exmap</filename>,
334 and <filename>LTTng</filename>. 334 and <filename>LTTng</filename>.
335 For general information on user-space tools, see the 335 For general information on user-space tools, see the
336 "<ulink url='&YOCTO_DOCS_ADT_URL;#user-space-tools'>User-Space Tools</ulink>" 336 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
337 section in the Yocto Project Application Developer's
338 Guide.
339 </para></listitem> 337 </para></listitem>
340 <listitem><para><emphasis>tools-sdk:</emphasis> 338 <listitem><para><emphasis>tools-sdk:</emphasis>
341 Installs a full SDK that runs on the device. 339 Installs a full SDK that runs on the device.
diff --git a/documentation/ref-manual/ref-structure.xml b/documentation/ref-manual/ref-structure.xml
index 578b381e09..8be054ba08 100644
--- a/documentation/ref-manual/ref-structure.xml
+++ b/documentation/ref-manual/ref-structure.xml
@@ -766,8 +766,8 @@
766 toolchain installer scripts, which when executed, install the 766 toolchain installer scripts, which when executed, install the
767 sysroot that matches your target hardware. 767 sysroot that matches your target hardware.
768 You can find out more about these installers in the 768 You can find out more about these installers in the
769 "<ulink url='&YOCTO_DOCS_ADT_URL;#optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>" 769 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>"
770 section in the Yocto Project Application Developer's Guide. 770 section in the Yocto Project Software Development Kit (SDK) Developer's Guide.
771 </para> 771 </para>
772 </section> 772 </section>
773 773
diff --git a/documentation/ref-manual/ref-variables.xml b/documentation/ref-manual/ref-variables.xml
index 376cd9a9ee..ad87a63312 100644
--- a/documentation/ref-manual/ref-variables.xml
+++ b/documentation/ref-manual/ref-variables.xml
@@ -11140,14 +11140,13 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
11140 11140
11141 <glossentry id='var-SDKMACHINE'><glossterm>SDKMACHINE</glossterm> 11141 <glossentry id='var-SDKMACHINE'><glossterm>SDKMACHINE</glossterm>
11142 <info> 11142 <info>
11143 SDKMACHINE[doc] = "Specifies the architecture (i.e. i686 or x86_64) for which to build SDK and ADT items." 11143 SDKMACHINE[doc] = "Specifies the architecture (i.e. i686 or x86_64) for which to build SDK items."
11144 </info> 11144 </info>
11145 <glossdef> 11145 <glossdef>
11146 <para role="glossdeffirst"> 11146 <para role="glossdeffirst">
11147<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> --> 11147<!-- <para role="glossdeffirst"><imagedata fileref="figures/define-generic.png" /> -->
11148 The machine for which the Application Development Toolkit 11148 The machine for which the SDK is built.
11149 (ADT) or SDK is built. 11149 In other words, the SDK is built such that it
11150 In other words, the SDK or ADT is built such that it
11151 runs on the target you specify with the 11150 runs on the target you specify with the
11152 <filename>SDKMACHINE</filename> value. 11151 <filename>SDKMACHINE</filename> value.
11153 The value points to a corresponding 11152 The value points to a corresponding
@@ -13577,8 +13576,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
13577 section. 13576 section.
13578 For information on setting up a cross-development 13577 For information on setting up a cross-development
13579 environment, see the 13578 environment, see the
13580 "<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>" 13579 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
13581 section in the Yocto Project Application Developer's Guide.
13582 </para> 13580 </para>
13583 </glossdef> 13581 </glossdef>
13584 </glossentry> 13582 </glossentry>
@@ -13629,8 +13627,7 @@ recipes-graphics/xorg-font/font-alias_1.0.3.bb:PR = "${INC_PR}.3"
13629 section. 13627 section.
13630 For information on setting up a cross-development 13628 For information on setting up a cross-development
13631 environment, see the 13629 environment, see the
13632 "<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>" 13630 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
13633 section in the Yocto Project Application Developer's Guide.
13634 </para> 13631 </para>
13635 </glossdef> 13632 </glossdef>
13636 </glossentry> 13633 </glossentry>
diff --git a/documentation/ref-manual/technical-details.xml b/documentation/ref-manual/technical-details.xml
index 2098818d04..d99ff188ad 100644
--- a/documentation/ref-manual/technical-details.xml
+++ b/documentation/ref-manual/technical-details.xml
@@ -187,7 +187,7 @@
187 This section provides some technical background on how 187 This section provides some technical background on how
188 cross-development toolchains are created and used. 188 cross-development toolchains are created and used.
189 For more information on toolchains, you can also see the 189 For more information on toolchains, you can also see the
190 <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project Application Developer's Guide</ulink>. 190 <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
191 </para> 191 </para>
192 192
193 <para> 193 <para>
@@ -371,8 +371,9 @@
371 <note> 371 <note>
372 For information on advantages gained when building a 372 For information on advantages gained when building a
373 cross-development toolchain installer, see the 373 cross-development toolchain installer, see the
374 "<ulink url='&YOCTO_DOCS_ADT_URL;#optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>" 374 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</ulink>"
375 section in the Yocto Project Application Developer's Guide. 375 section in the Yocto Project Software Development Kit (SDK) Developer's
376 Guide.
376 </note> 377 </note>
377</section> 378</section>
378 379
diff --git a/documentation/ref-manual/usingpoky.xml b/documentation/ref-manual/usingpoky.xml
index d1a0a29eff..09ecaafda5 100644
--- a/documentation/ref-manual/usingpoky.xml
+++ b/documentation/ref-manual/usingpoky.xml
@@ -113,8 +113,7 @@
113 <filename class="directory">tmp/deploy/images</filename>. 113 <filename class="directory">tmp/deploy/images</filename>.
114 For information on how to run pre-built images such as <filename>qemux86</filename> 114 For information on how to run pre-built images such as <filename>qemux86</filename>
115 and <filename>qemuarm</filename>, see the 115 and <filename>qemuarm</filename>, see the
116 "<ulink url='&YOCTO_DOCS_QS_URL;#using-pre-built'>Example Using Pre-Built Binaries and QEMU</ulink>" 116 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
117 section in the Yocto Project Application Developer's Guide.
118 For information about how to install these images, see the documentation for your 117 For information about how to install these images, see the documentation for your
119 particular board or machine. 118 particular board or machine.
120 </para> 119 </para>
@@ -150,10 +149,11 @@
150 149
151 <para> 150 <para>
152 For discussions on debugging, see the 151 For discussions on debugging, see the
153 "<ulink url='&YOCTO_DOCS_DEV_URL;#platdev-gdb-remotedebug'>Debugging With the GNU Project Debugger (GDB) Remotely</ulink>" 152 "<ulink url='&YOCTO_DOCS_DEV_URL;#platdev-gdb-remotedebug'>Debugging With the GNU Project Debugger (GDB) Remotely</ulink>" section
154 and 153 in the Yocto Project Developer's Manual
155 "<ulink url='&YOCTO_DOCS_DEV_URL;#adt-eclipse'>Working within Eclipse</ulink>" 154 and the
156 sections in the Yocto Project Development Manual. 155 "<ulink url='&YOCTO_DOCS_SDK_URL;#adt-eclipse'>Working within Eclipse</ulink>"
156 section in the Yocto Project Software Development Kit (SDK) Developer's Guide.
157 </para> 157 </para>
158 158
159 <note> 159 <note>
diff --git a/documentation/sdk-manual/sdk-intro.xml b/documentation/sdk-manual/sdk-intro.xml
index 5b12fcff64..ccc71c8cf4 100644
--- a/documentation/sdk-manual/sdk-intro.xml
+++ b/documentation/sdk-manual/sdk-intro.xml
@@ -14,6 +14,9 @@
14 This manual provides information that lets you use both the standard 14 This manual provides information that lets you use both the standard
15 Yocto Project SDK and an extensible SDK to develop applications and 15 Yocto Project SDK and an extensible SDK to develop applications and
16 images using the Yocto Project. 16 images using the Yocto Project.
17 Additionally, the manual also provides information on how to use
18 the popular <trademark class='trade'>Eclipse</trademark> IDE as part
19 of your application development workflow.
17 </para> 20 </para>
18 21
19 <para> 22 <para>
@@ -64,6 +67,61 @@
64 </para> 67 </para>
65 68
66 <para> 69 <para>
70 You just need to follow these general steps:
71 <orderedlist>
72 <listitem><para><emphasis>Install the SDK for your target hardware:</emphasis>
73 For information on how to install the SDK, see the
74 "<link url='sdk-installing-the-sdk'>Installing the SDK</link>"
75 section.</para></listitem>
76 <listitem><para><emphasis>Download the Target Image:</emphasis>
77 The Yocto Project supports several target architectures
78 and has many pre-built kernel images and root filesystem
79 images.</para>
80 <para>If you are going to develop your application on
81 hardware, go to the
82 <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
83 download area and choose a target machine area
84 from which to download the kernel image and root filesystem.
85 This download area could have several files in it that
86 support development using actual hardware.
87 For example, the area might contain
88 <filename>.hddimg</filename> files that combine the
89 kernel image with the filesystem, boot loaders, and
90 so forth.
91 Be sure to get the files you need for your particular
92 development process.</para>
93 <para>If you are going to develop your application and
94 then run and test it using the QEMU emulator, go to the
95 <ulink url='&YOCTO_QEMU_DL_URL;'><filename>machines/qemu</filename></ulink>
96 download area.
97 From this area, go down into the directory for your
98 target architecture (e.g. <filename>qemux86_64</filename>
99 for an <trademark class='registered'>Intel</trademark>-based
100 64-bit architecture).
101 Download kernel, root filesystem, and any other files you
102 need for your process.
103 <note>In order to use the root filesystem in QEMU, you
104 need to extract it.
105 See the
106 "<link url='sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</link>"
107 section for information on how to extract the root
108 filesystem.</note></para></listitem>
109 <listitem><para><emphasis>Develop and Test your
110 Application:</emphasis> At this point, you have the tools
111 to develop your application.
112 If you need to separately install and use the QEMU
113 emulator, you can go to
114 <ulink url='http://wiki.qemu.org/Main_Page'>QEMU Home Page</ulink>
115 to download and learn about the emulator.
116 You can see the
117 "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator (QEMU)</ulink>"
118 chapter in the Yocto Project Development Manual
119 for information on using QEMU within the Yocto
120 Project.</para></listitem>
121 </orderedlist>
122 </para>
123
124 <para>
67 The remainder of this manual describes how to use both the standard 125 The remainder of this manual describes how to use both the standard
68 SDK and the extensible SDK. 126 SDK and the extensible SDK.
69 Information also exists in appendix form that describes how you can 127 Information also exists in appendix form that describes how you can
diff --git a/documentation/sdk-manual/sdk-using.xml b/documentation/sdk-manual/sdk-using.xml
index f2acaa7fc4..1403632db1 100644
--- a/documentation/sdk-manual/sdk-using.xml
+++ b/documentation/sdk-manual/sdk-using.xml
@@ -273,7 +273,7 @@
273 <listitem><para><emphasis>Source the cross-toolchain 273 <listitem><para><emphasis>Source the cross-toolchain
274 environment setup file:</emphasis> 274 environment setup file:</emphasis>
275 Installation of the cross-toolchain creates a cross-toolchain 275 Installation of the cross-toolchain creates a cross-toolchain
276 environment setup script in the directory that the ADT 276 environment setup script in the directory that the SDK
277 was installed. 277 was installed.
278 Before you can use the tools to develop your project, you must 278 Before you can use the tools to develop your project, you must
279 source this setup script. 279 source this setup script.
@@ -281,7 +281,7 @@
281 the machine architecture, which is followed by the string 281 the machine architecture, which is followed by the string
282 "poky-linux". 282 "poky-linux".
283 Here is an example that sources a script from the 283 Here is an example that sources a script from the
284 default ADT installation directory that uses the 284 default SDK installation directory that uses the
285 32-bit Intel x86 Architecture and the 285 32-bit Intel x86 Architecture and the
286 &DISTRO_NAME; Yocto Project release: 286 &DISTRO_NAME; Yocto Project release:
287 <literallayout class='monospaced'> 287 <literallayout class='monospaced'>
@@ -439,15 +439,1050 @@
439 </para> 439 </para>
440</section> 440</section>
441 441
442<section id='sdk-using-the-sdk-to-task-1'> 442<section id='sdk-developing-applications-using-eclipse'>
443 <title>Using the SDK to <replaceable>item 1</replaceable></title> 443 <title>Devloping Applications Using <trademark class='trade'>Eclipse</trademark></title>
444 444
445 <para role='writernotes'> 445 <para>
446 Describe the specific task you are going to accomplish with the SDK. 446 If you are familiar with the popular Eclipse IDE, you can use an
447 Provide a diagram showing the rough flow of the task. 447 Eclipse Yocto Plug-in to allow you to develop, deploy, and test your
448 Provide specific steps using a real example that works through the 448 application all from within Eclipse.
449 task. 449 This section describes general workflow using the SDK and Eclipse
450 and how to configure and set up Eclipse.
450 </para> 451 </para>
452
453 <section id='workflow-using-eclipse'>
454
455 <title>Workflow Using <trademark class='trade'>Eclipse</trademark></title>
456
457 <para>
458 The following figure and supporting list summarize the application
459 development general workflow that employs both the SDK Eclipse.
460 </para>
461
462 <para>
463 <imagedata fileref="figures/sdk-eclipse-dev-flow.png"
464 width="7in" depth="7in" align="center" scale="100" />
465 </para>
466
467 <para>
468 <orderedlist>
469 <listitem><para><emphasis>Prepare the host system for the Yocto Project</emphasis>:
470 See
471 "<ulink url='&YOCTO_DOCS_REF_URL;#detailed-supported-distros'>Supported Linux Distributions</ulink>"
472 and
473 "<ulink url='&YOCTO_DOCS_REF_URL;#required-packages-for-the-host-development-system'>Required Packages for the Host Development System</ulink>" sections both
474 in the Yocto Project Reference Manual for requirements.
475 In particular, be sure your host system has the
476 <filename>xterm</filename> package installed.
477 </para></listitem>
478 <listitem><para><emphasis>Secure the Yocto Project kernel target image</emphasis>:
479 You must have a target kernel image that has been built using the OpenEmbedded
480 build system.</para>
481 <para>Depending on whether the Yocto Project has a pre-built image that matches your target
482 architecture and where you are going to run the image while you develop your application
483 (QEMU or real hardware), the area from which you get the image differs.
484 <itemizedlist>
485 <listitem><para>Download the image from
486 <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
487 if your target architecture is supported and you are going to develop
488 and test your application on actual hardware.</para></listitem>
489 <listitem><para>Download the image from
490 <ulink url='&YOCTO_QEMU_DL_URL;'>
491 <filename>machines/qemu</filename></ulink> if your target architecture is supported
492 and you are going to develop and test your application using the QEMU
493 emulator.</para></listitem>
494 <listitem><para>Build your image if you cannot find a pre-built image that matches
495 your target architecture.
496 If your target architecture is similar to a supported architecture, you can
497 modify the kernel image before you build it.
498 See the
499 "<ulink url='&YOCTO_DOCS_DEV_URL;#patching-the-kernel'>Patching the Kernel</ulink>"
500 section in the Yocto Project Development
501 manual for an example.</para></listitem>
502 </itemizedlist></para>
503 <para>For information on pre-built kernel image naming schemes for images
504 that can run on the QEMU emulator, see the
505 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
506 </para></listitem>
507 <listitem><para><emphasis>Install the SDK</emphasis>:
508 The SDK provides a target-specific cross-development toolchain, the root filesystem,
509 the QEMU emulator, and other tools that can help you develop your application.
510 For information on how to install the SDK, see the
511 "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
512 section.
513 </para></listitem>
514 <listitem><para><emphasis>Secure the target root filesystem
515 and the Cross-development toolchain</emphasis>:
516 You need to find and download the appropriate root filesystem and
517 the cross-development toolchain.</para>
518 <para>You can find the tarballs for the root filesystem in the same area used
519 for the kernel image.
520 Depending on the type of image you are running, the root filesystem you need differs.
521 For example, if you are developing an application that runs on an image that
522 supports Sato, you need to get a root filesystem that supports Sato.</para>
523 <para>You can find the cross-development toolchains at
524 <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'><filename>toolchains</filename></ulink>.
525 Be sure to get the correct toolchain for your development host and your
526 target architecture.
527 See the "<link linkend='sdk-locating-pre-built-sdk-installers'>Locating Pre-Built SDK Installers</link>"
528 section for information and the
529 "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
530 section for installation information.
531 </para></listitem>
532 <listitem><para><emphasis>Create and build your application</emphasis>:
533 At this point, you need to have source files for your application.
534 Once you have the files, you can use the Eclipse IDE to import them and build the
535 project.
536 If you are not using Eclipse, you need to use the cross-development tools you have
537 installed to create the image.</para></listitem>
538 <listitem><para><emphasis>Deploy the image with the application</emphasis>:
539 If you are using the Eclipse IDE, you can deploy your image to the hardware or to
540 QEMU through the project's preferences.
541 If you are not using the Eclipse IDE, then you need to deploy the application
542 to the hardware using other methods.
543 Or, if you are using QEMU, you need to use that tool and
544 load your image in for testing.
545 See the
546 "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator (QEMU)</ulink>"
547 chapter in the Yocto Project Development Manual
548 for information on using QEMU.
549 </para></listitem>
550 <listitem><para><emphasis>Test and debug the application</emphasis>:
551 Once your application is deployed, you need to test it.
552 Within the Eclipse IDE, you can use the debugging environment along with the
553 set of installed user-space tools to debug your application.
554 Of course, the same user-space tools are available separately if you choose
555 not to use the Eclipse IDE.</para></listitem>
556 </orderedlist>
557 </para>
558 </section>
559
560 <section id='adt-eclipse'>
561 <title>Working Within Eclipse</title>
562
563 <para>
564 The Eclipse IDE is a popular development environment and it fully
565 supports development using the Yocto Project.
566 <note>
567 This release of the Yocto Project supports both the Luna
568 and Kepler versions of the Eclipse IDE.
569 Thus, the following information provides setup information for
570 both versions.
571 </note>
572 </para>
573
574 <para>
575 When you install and configure the Eclipse Yocto Project Plug-in
576 into the Eclipse IDE, you maximize your Yocto Project experience.
577 Installing and configuring the Plug-in results in an environment
578 that has extensions specifically designed to let you more easily
579 develop software.
580 These extensions allow for cross-compilation, deployment, and
581 execution of your output into a QEMU emulation session as well as
582 actual target hardware.
583 You can also perform cross-debugging and profiling.
584 The environment also supports a suite of tools that allows you
585 to perform remote profiling, tracing, collection of power data,
586 collection of latency data, and collection of performance data.
587 </para>
588
589 <para>
590 This section describes how to install and configure the Eclipse IDE
591 Yocto Plug-in and how to use it to develop your application.
592 </para>
593
594 <section id='setting-up-the-eclipse-ide'>
595 <title>Setting Up the Eclipse IDE</title>
596
597 <para>
598 To develop within the Eclipse IDE, you need to do the following:
599 <orderedlist>
600 <listitem><para>Install the optimal version of the Eclipse
601 IDE.</para></listitem>
602 <listitem><para>Configure the Eclipse IDE.
603 </para></listitem>
604 <listitem><para>Install the Eclipse Yocto Plug-in.
605 </para></listitem>
606 <listitem><para>Configure the Eclipse Yocto Plug-in.
607 </para></listitem>
608 </orderedlist>
609 <note>
610 Do not install Eclipse from your distribution's package
611 repository.
612 Be sure to install Eclipse from the official Eclipse
613 download site as directed in the next section.
614 </note>
615 </para>
616
617 <section id='installing-eclipse-ide'>
618 <title>Installing the Eclipse IDE</title>
619
620 <para>
621 It is recommended that you have the Luna SR2 (4.4.2)
622 version of the Eclipse IDE installed on your development
623 system.
624 However, if you currently have the Kepler 4.3.2 version
625 installed and you do not want to upgrade the IDE, you can
626 configure Kepler to work with the Yocto Project.
627 </para>
628
629 <para>
630 If you do not have the Luna SR2 (4.4.2) Eclipse IDE
631 installed, you can find the tarball at
632 <ulink url='&ECLIPSE_MAIN_URL;'></ulink>.
633 From that site, choose the appropriate download from the
634 "Eclipse IDE for C/C++ Developers".
635 This version contains the Eclipse Platform, the Java
636 Development Tools (JDT), and the Plug-in Development
637 Environment.
638 </para>
639
640 <para>
641 Once you have downloaded the tarball, extract it into a
642 clean directory.
643 For example, the following commands unpack and install the
644 downloaded Eclipse IDE tarball into a clean directory
645 using the default name <filename>eclipse</filename>:
646 <literallayout class='monospaced'>
647 $ cd ~
648 $ tar -xzvf ~/Downloads/eclipse-cpp-luna-SR2-linux-gtk-x86_64.tar.gz
649 </literallayout>
650 </para>
651 </section>
652
653 <section id='configuring-the-eclipse-ide'>
654 <title>Configuring the Eclipse IDE</title>
655
656 <para>
657 This section presents the steps needed to configure the
658 Eclipse IDE.
659 </para>
660
661 <para>
662 Before installing and configuring the Eclipse Yocto Plug-in,
663 you need to configure the Eclipse IDE.
664 Follow these general steps:
665 <orderedlist>
666 <listitem><para>Start the Eclipse IDE.</para></listitem>
667 <listitem><para>Make sure you are in your Workbench and
668 select "Install New Software" from the "Help"
669 pull-down menu.</para></listitem>
670 <listitem><para>Select
671 <filename>Luna - &ECLIPSE_LUNA_URL;</filename>
672 from the "Work with:" pull-down menu.
673 <note>
674 For Kepler, select
675 <filename>Kepler - &ECLIPSE_KEPLER_URL;</filename>
676 </note>
677 </para></listitem>
678 <listitem><para>Expand the box next to "Linux Tools"
679 and select the
680 <filename>Linux Tools LTTng Tracer Control</filename>,
681 <filename>Linux Tools LTTng Userspace Analysis</filename>,
682 and
683 <filename>LTTng Kernel Analysis</filename> boxes.
684 If these selections do not appear in the list,
685 that means the items are already installed.
686 <note>
687 For Kepler, select
688 <filename>LTTng - Linux Tracing Toolkit</filename>
689 box.
690 </note>
691 </para></listitem>
692 <listitem><para>Expand the box next to "Mobile and
693 Device Development" and select the following boxes.
694 Again, if any of the following items are not
695 available for selection, that means the items are
696 already installed:
697 <itemizedlist>
698 <listitem><para><filename>C/C++ Remote Launch (Requires RSE Remote System Explorer)</filename></para></listitem>
699 <listitem><para><filename>Remote System Explorer End-user Runtime</filename></para></listitem>
700 <listitem><para><filename>Remote System Explorer User Actions</filename></para></listitem>
701 <listitem><para><filename>Target Management Terminal (Core SDK)</filename></para></listitem>
702 <listitem><para><filename>TCF Remote System Explorer add-in</filename></para></listitem>
703 <listitem><para><filename>TCF Target Explorer</filename></para></listitem>
704 </itemizedlist></para></listitem>
705 <listitem><para>Expand the box next to "Programming
706 Languages" and select the
707 <filename>C/C++ Autotools Support</filename>
708 and <filename>C/C++ Development Tools</filename>
709 boxes.
710 For Luna, these items do not appear on the list
711 as they are already installed.
712 </para></listitem>
713 <listitem><para>Complete the installation and restart
714 the Eclipse IDE.</para></listitem>
715 </orderedlist>
716 </para>
717 </section>
718
719 <section id='installing-the-eclipse-yocto-plug-in'>
720 <title>Installing or Accessing the Eclipse Yocto Plug-in</title>
721
722 <para>
723 You can install the Eclipse Yocto Plug-in into the Eclipse
724 IDE one of two ways: use the Yocto Project's Eclipse
725 Update site to install the pre-built plug-in or build and
726 install the plug-in from the latest source code.
727 </para>
728
729 <section id='new-software'>
730 <title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update Site</title>
731
732 <para>
733 To install the Eclipse Yocto Plug-in from the update
734 site, follow these steps:
735 <orderedlist>
736 <listitem><para>Start up the Eclipse IDE.
737 </para></listitem>
738 <listitem><para>In Eclipse, select "Install New
739 Software" from the "Help" menu.
740 </para></listitem>
741 <listitem><para>Click "Add..." in the "Work with:"
742 area.</para></listitem>
743 <listitem><para>Enter
744 <filename>&ECLIPSE_DL_PLUGIN_URL;/luna</filename>
745 in the URL field and provide a meaningful name
746 in the "Name" field.
747 <note>
748 If you are using Kepler, use
749 <filename>&ECLIPSE_DL_PLUGIN_URL;/kepler</filename>
750 in the URL field.
751 </note></para></listitem>
752 <listitem><para>Click "OK" to have the entry added
753 to the "Work with:" drop-down list.
754 </para></listitem>
755 <listitem><para>Select the entry for the plug-in
756 from the "Work with:" drop-down list.
757 </para></listitem>
758 <listitem><para>Check the boxes next to
759 <filename>Yocto Project ADT Plug-in</filename>,
760 <filename>Yocto Project Bitbake Commander Plug-in</filename>,
761 and
762 <filename>Yocto Project Documentation plug-in</filename>.
763 </para></listitem>
764 <listitem><para>Complete the remaining software
765 installation steps and then restart the Eclipse
766 IDE to finish the installation of the plug-in.
767 <note>
768 You can click "OK" when prompted about
769 installing software that contains unsigned
770 content.
771 </note>
772 </para></listitem>
773 </orderedlist>
774 </para>
775 </section>
776
777 <section id='zip-file-method'>
778 <title>Installing the Plug-in Using the Latest Source Code</title>
779
780 <para>
781 To install the Eclipse Yocto Plug-in from the latest
782 source code, follow these steps:
783 <orderedlist>
784 <listitem><para>Be sure your development system
785 is not using OpenJDK to build the plug-in
786 by doing the following:
787 <orderedlist>
788 <listitem><para>Use the Oracle JDK.
789 If you don't have that, go to
790 <ulink url='http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html'></ulink>
791 and download the latest appropriate
792 Java SE Development Kit tarball for
793 your development system and
794 extract it into your home directory.
795 </para></listitem>
796 <listitem><para>In the shell you are going
797 to do your work, export the location of
798 the Oracle Java.
799 The previous step creates a new folder
800 for the extracted software.
801 You need to use the following
802 <filename>export</filename> command
803 and provide the specific location:
804 <literallayout class='monospaced'>
805 export PATH=~/<replaceable>extracted_jdk_location</replaceable>/bin:$PATH
806 </literallayout>
807 </para></listitem>
808 </orderedlist>
809 </para></listitem>
810 <listitem><para>In the same shell, create a Git
811 repository with:
812 <literallayout class='monospaced'>
813 $ cd ~
814 $ git clone git://git.yoctoproject.org/eclipse-poky
815 </literallayout>
816 </para></listitem>
817 <listitem><para>Be sure to checkout the correct
818 tag.
819 For example, if you are using Luna, do the
820 following:
821 <literallayout class='monospaced'>
822 $ git checkout luna/yocto-&DISTRO;
823 </literallayout>
824 This puts you in a detached HEAD state, which
825 is fine since you are only going to be building
826 and not developing.
827 <note>
828 If you are building kepler, checkout the
829 <filename>kepler/yocto-&DISTRO;</filename>
830 branch.
831 </note>
832 </para></listitem>
833 <listitem><para>Change to the
834 <filename>scripts</filename>
835 directory within the Git repository:
836 <literallayout class='monospaced'>
837 $ cd scripts
838 </literallayout>
839 </para></listitem>
840 <listitem><para>Set up the local build environment
841 by running the setup script:
842 <literallayout class='monospaced'>
843 $ ./setup.sh
844 </literallayout>
845 </para></listitem>
846 <listitem><para>When the script finishes execution,
847 it prompts you with instructions on how to run
848 the <filename>build.sh</filename> script, which
849 is also in the <filename>scripts</filename>
850 directory of the Git repository created
851 earlier.
852 </para></listitem>
853 <listitem><para>Run the <filename>build.sh</filename>
854 script as directed.
855 Be sure to provide the tag name, documentation
856 branch, and a release name.
857 Here is an example that uses the
858 <filename>luna/yocto-&DISTRO;</filename> tag, the
859 <filename>master</filename> documentation
860 branch, and
861 <filename>&DISTRO_NAME;</filename> for the
862 release name:
863 <literallayout class='monospaced'>
864 $ ECLIPSE_HOME=/home/scottrif/eclipse-poky/scripts/eclipse ./build.sh luna/yocto-&DISTRO; master &DISTRO_NAME; 2>&amp;1 | tee -a build.log
865 </literallayout>
866 After running the script, the file
867 <filename>org.yocto.sdk-</filename><replaceable>release</replaceable><filename>-</filename><replaceable>date</replaceable><filename>-archive.zip</filename>
868 is in the current directory.
869 </para></listitem>
870 <listitem><para>If necessary, start the Eclipse IDE
871 and be sure you are in the Workbench.
872 </para></listitem>
873 <listitem><para>Select "Install New Software" from
874 the "Help" pull-down menu.
875 </para></listitem>
876 <listitem><para>Click "Add".</para></listitem>
877 <listitem><para>Provide anything you want in the
878 "Name" field.
879 </para></listitem>
880 <listitem><para>Click "Archive" and browse to the
881 ZIP file you built in step eight.
882 This ZIP file should not be "unzipped", and must
883 be the <filename>*archive.zip</filename> file
884 created by running the
885 <filename>build.sh</filename> script.
886 </para></listitem>
887 <listitem><para>Click the "OK" button.
888 </para></listitem>
889 <listitem><para>Check the boxes that appear in
890 the installation window to install the
891 <filename>Yocto Project ADT Plug-in</filename>,
892 <filename>Yocto Project Bitbake Commander Plug-in</filename>,
893 and the
894 <filename>Yocto Project Documentation plug-in</filename>.
895 </para></listitem>
896 <listitem><para>Finish the installation by clicking
897 through the appropriate buttons.
898 You can click "OK" when prompted about
899 installing software that contains unsigned
900 content.
901 </para></listitem>
902 <listitem><para>Restart the Eclipse IDE if
903 necessary.
904 </para></listitem>
905 </orderedlist>
906 </para>
907
908 <para>
909 At this point you should be able to configure the
910 Eclipse Yocto Plug-in as described in the
911 "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>"
912 section.</para>
913 </section>
914 </section>
915
916 <section id='configuring-the-eclipse-yocto-plug-in'>
917 <title>Configuring the Eclipse Yocto Plug-in</title>
918
919 <para>
920 Configuring the Eclipse Yocto Plug-in involves setting the
921 Cross Compiler options and the Target options.
922 The configurations you choose become the default settings
923 for all projects.
924 You do have opportunities to change them later when
925 you configure the project (see the following section).
926 </para>
927
928 <para>
929 To start, you need to do the following from within the
930 Eclipse IDE:
931 <itemizedlist>
932 <listitem><para>Choose "Preferences" from the
933 "Window" menu to display the Preferences Dialog.
934 </para></listitem>
935 <listitem><para>Click "Yocto Project ADT" to display
936 the configuration screen.
937 </para></listitem>
938 </itemizedlist>
939 </para>
940
941 <section id='configuring-the-cross-compiler-options'>
942 <title>Configuring the Cross-Compiler Options</title>
943
944 <para>
945 To configure the Cross Compiler Options, you must select
946 the type of toolchain, point to the toolchain, specify
947 the sysroot location, and select the target
948 architecture.
949 <itemizedlist>
950 <listitem><para><emphasis>Selecting the Toolchain Type:</emphasis>
951 Choose between
952 <filename>Standalone pre-built toolchain</filename>
953 and
954 <filename>Build system derived toolchain</filename>
955 for Cross Compiler Options.
956 <itemizedlist>
957 <listitem><para><emphasis>
958 <filename>Standalone Pre-built Toolchain:</filename></emphasis>
959 Select this mode when you are using
960 a stand-alone cross-toolchain.
961 For example, suppose you are an
962 application developer and do not
963 need to build a target image.
964 Instead, you just want to use an
965 architecture-specific toolchain on
966 an existing kernel and target root
967 filesystem.</para></listitem>
968 <listitem><para><emphasis>
969 <filename>Build System Derived Toolchain:</filename></emphasis>
970 Select this mode if the
971 cross-toolchain has been installed
972 and built as part of the
973 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
974 When you select
975 <filename>Build system derived toolchain</filename>,
976 you are using the toolchain bundled
977 inside the Build Directory.
978 </para></listitem>
979 </itemizedlist>
980 </para></listitem>
981 <listitem><para><emphasis>Point to the Toolchain:</emphasis>
982 If you are using a stand-alone pre-built
983 toolchain, you should be pointing to where it is
984 installed.
985 See the
986 "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
987 section for information about how the SDK is
988 installed.</para>
989 <para>If you are using a system-derived
990 toolchain, the path you provide for the
991 <filename>Toolchain Root Location</filename>
992 field is the
993 <ulink url='&YOCTO_DOCS_DEV_URL;#build-directory'>Build Directory</ulink>.
994 See the
995 "<link linkend='sdk-optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</link>"
996 section.</para></listitem>
997 <listitem><para><emphasis>Specify the Sysroot Location:</emphasis>
998 This location is where the root filesystem for
999 the target hardware resides.
1000 </para>
1001 <para>The location of
1002 the sysroot filesystem depends on where you
1003 separately extracted and installed the
1004 filesystem.</para>
1005 <para>For information on how to install the
1006 toolchain and on how to extract and install the
1007 sysroot filesystem, see the
1008 "<link linkend='sdk-optionally-building-a-toolchain-installer'>Optionally Building a Toolchain Installer</link>"
1009 section.
1010 </para></listitem>
1011 <listitem><para><emphasis>Select the Target Architecture:</emphasis>
1012 The target architecture is the type of hardware
1013 you are going to use or emulate.
1014 Use the pull-down
1015 <filename>Target Architecture</filename> menu
1016 to make your selection.
1017 The pull-down menu should have the supported
1018 architectures.
1019 If the architecture you need is not listed in
1020 the menu, you will need to build the image.
1021 See the
1022 "<ulink url='&YOCTO_DOCS_QS_URL;#qs-building-images'>Building Images</ulink>"
1023 section of the Yocto Project Quick Start for
1024 more information.</para></listitem>
1025 </itemizedlist>
1026 </para>
1027 </section>
1028
1029 <section id='configuring-the-target-options'>
1030 <title>Configuring the Target Options</title>
1031
1032 <para>
1033 You can choose to emulate hardware using the QEMU
1034 emulator, or you can choose to run your image on actual
1035 hardware.
1036 <itemizedlist>
1037 <listitem><para><emphasis>QEMU:</emphasis>
1038 Select this option if you will be using the
1039 QEMU emulator.
1040 If you are using the emulator, you also need to
1041 locate the kernel and specify any custom
1042 options.</para>
1043 <para>If you selected
1044 <filename>Build system derived toolchain</filename>,
1045 the target kernel you built will be located in
1046 the Build Directory in
1047 <filename>tmp/deploy/images/<replaceable>machine</replaceable></filename>
1048 directory.
1049 If you selected
1050 <filename>Standalone pre-built toolchain</filename>,
1051 the pre-built image you downloaded is located
1052 in the directory you specified when you
1053 downloaded the image.</para>
1054 <para>Most custom options are for advanced QEMU
1055 users to further customize their QEMU instance.
1056 These options are specified between paired
1057 angled brackets.
1058 Some options must be specified outside the
1059 brackets.
1060 In particular, the options
1061 <filename>serial</filename>,
1062 <filename>nographic</filename>, and
1063 <filename>kvm</filename> must all be outside the
1064 brackets.
1065 Use the <filename>man qemu</filename> command
1066 to get help on all the options and their use.
1067 The following is an example:
1068 <literallayout class='monospaced'>
1069 serial ‘&lt;-m 256 -full-screen&gt;’
1070 </literallayout></para>
1071 <para>
1072 Regardless of the mode, Sysroot is already
1073 defined as part of the Cross-Compiler Options
1074 configuration in the
1075 <filename>Sysroot Location:</filename> field.
1076 </para></listitem>
1077 <listitem><para><emphasis>External HW:</emphasis>
1078 Select this option if you will be using actual
1079 hardware.</para></listitem>
1080 </itemizedlist>
1081 </para>
1082
1083 <para>
1084 Click the "OK" to save your plug-in configurations.
1085 </para>
1086 </section>
1087 </section>
1088 </section>
1089
1090 <section id='creating-the-project'>
1091 <title>Creating the Project</title>
1092
1093 <para>
1094 You can create two types of projects: Autotools-based, or
1095 Makefile-based.
1096 This section describes how to create Autotools-based projects
1097 from within the Eclipse IDE.
1098 For information on creating Makefile-based projects in a
1099 terminal window, see the
1100 "<link linkend='makefile-based-projects'>Makefile-Based Projects</link>"
1101 section.
1102 <note>
1103 Do not use special characters in project names
1104 (e.g. spaces, underscores, etc.). Doing so can
1105 cause configuration to fail.
1106 </note>
1107 </para>
1108
1109 <para>
1110 To create a project based on a Yocto template and then display
1111 the source code, follow these steps:
1112 <orderedlist>
1113 <listitem><para>Select "Project" from the "File -> New" menu.
1114 </para></listitem>
1115 <listitem><para>Double click <filename>CC++</filename>.
1116 </para></listitem>
1117 <listitem><para>Double click <filename>C Project</filename>
1118 to create the project.</para></listitem>
1119 <listitem><para>Expand <filename>Yocto Project ADT Autotools Project</filename>.
1120 </para></listitem>
1121 <listitem><para>Select <filename>Hello World ANSI C Autotools Project</filename>.
1122 This is an Autotools-based project based on a Yocto
1123 template.</para></listitem>
1124 <listitem><para>Put a name in the <filename>Project name:</filename>
1125 field.
1126 Do not use hyphens as part of the name.
1127 </para></listitem>
1128 <listitem><para>Click "Next".</para></listitem>
1129 <listitem><para>Add information in the
1130 <filename>Author</filename> and
1131 <filename>Copyright notice</filename> fields.
1132 </para></listitem>
1133 <listitem><para>Be sure the <filename>License</filename>
1134 field is correct.</para></listitem>
1135 <listitem><para>Click "Finish".</para></listitem>
1136 <listitem><para>If the "open perspective" prompt appears,
1137 click "Yes" so that you in the C/C++ perspective.
1138 </para></listitem>
1139 <listitem><para>The left-hand navigation pane shows your
1140 project.
1141 You can display your source by double clicking the
1142 project's source file.</para></listitem>
1143 </orderedlist>
1144 </para>
1145 </section>
1146
1147 <section id='configuring-the-cross-toolchains'>
1148 <title>Configuring the Cross-Toolchains</title>
1149
1150 <para>
1151 The earlier section,
1152 "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>",
1153 sets up the default project configurations.
1154 You can override these settings for a given project by following
1155 these steps:
1156 <orderedlist>
1157 <listitem><para>Select "Change Yocto Project Settings" from
1158 the "Project" menu.
1159 This selection brings up the Yocto Project Settings
1160 Dialog and allows you to make changes specific to an
1161 individual project.</para>
1162 <para>By default, the Cross Compiler Options and Target
1163 Options for a project are inherited from settings you
1164 provided using the Preferences Dialog as described
1165 earlier in the
1166 "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>" section.
1167 The Yocto Project Settings Dialog allows you to override
1168 those default settings for a given project.
1169 </para></listitem>
1170 <listitem><para>Make your configurations for the project
1171 and click "OK".
1172 </para></listitem>
1173 <listitem><para>Right-click in the navigation pane and
1174 select "Reconfigure Project" from the pop-up menu.
1175 This selection reconfigures the project by running
1176 <filename>autogen.sh</filename> in the workspace for
1177 your project.
1178 The script also runs <filename>libtoolize</filename>,
1179 <filename>aclocal</filename>,
1180 <filename>autoconf</filename>,
1181 <filename>autoheader</filename>,
1182 <filename>automake --a</filename>, and
1183 <filename>./configure</filename>.
1184 Click on the "Console" tab beneath your source code to
1185 see the results of reconfiguring your project.
1186 </para></listitem>
1187 </orderedlist>
1188 </para>
1189 </section>
1190
1191 <section id='building-the-project'>
1192 <title>Building the Project</title>
1193
1194 <para>
1195 To build the project select "Build Project" from the
1196 "Project" menu.
1197 The console should update and you can note the cross-compiler
1198 you are using.
1199 <note>
1200 When building "Yocto Project ADT Autotools" projects, the Eclipse
1201 IDE might display error messages for Functions/Symbols/Types
1202 that cannot be "resolved", even when the related include file
1203 is listed at the project navigator and when the project is
1204 able to build.
1205 For these cases only, it is recommended to add a new linked
1206 folder to the appropriate sysroot.
1207 Use these steps to add the linked folder:
1208 <orderedlist>
1209 <listitem><para>
1210 Select the project.
1211 </para></listitem>
1212 <listitem><para>
1213 Select "Folder" from the
1214 <filename>File > New</filename> menu.
1215 </para></listitem>
1216 <listitem><para>
1217 In the "New Folder" Dialog, select "Link to alternate
1218 location (linked folder)".
1219 </para></listitem>
1220 <listitem><para>
1221 Click "Browse" to navigate to the include folder inside
1222 the same sysroot location selected in the Yocto Project
1223 configuration preferences.
1224 </para></listitem>
1225 <listitem><para>
1226 Click "OK".
1227 </para></listitem>
1228 <listitem><para>
1229 Click "Finish" to save the linked folder.
1230 </para></listitem>
1231 </orderedlist>
1232 </note>
1233 </para>
1234 </section>
1235
1236 <section id='starting-qemu-in-user-space-nfs-mode'>
1237 <title>Starting QEMU in User-Space NFS Mode</title>
1238
1239 <para>
1240 To start the QEMU emulator from within Eclipse, follow these
1241 steps:
1242 <note>
1243 See the
1244 "<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator (QEMU)</ulink>"
1245 chapter in the Yocto Project Development Manual
1246 for more information on using QEMU.
1247 </note>
1248 <orderedlist>
1249 <listitem><para>Expose and select "External Tools" from
1250 the "Run" menu.
1251 Your image should appear as a selectable menu item.
1252 </para></listitem>
1253 <listitem><para>Select your image from the menu to launch
1254 the emulator in a new window.
1255 </para></listitem>
1256 <listitem><para>If needed, enter your host root password in
1257 the shell window at the prompt.
1258 This sets up a <filename>Tap 0</filename> connection
1259 needed for running in user-space NFS mode.
1260 </para></listitem>
1261 <listitem><para>Wait for QEMU to launch.</para></listitem>
1262 <listitem><para>Once QEMU launches, you can begin operating
1263 within that environment.
1264 One useful task at this point would be to determine the
1265 IP Address for the user-space NFS by using the
1266 <filename>ifconfig</filename> command.
1267 </para></listitem>
1268 </orderedlist>
1269 </para>
1270 </section>
1271
1272 <section id='deploying-and-debugging-the-application'>
1273 <title>Deploying and Debugging the Application</title>
1274
1275 <para>
1276 Once the QEMU emulator is running the image, you can deploy
1277 your application using the Eclipse IDE and then use
1278 the emulator to perform debugging.
1279 Follow these steps to deploy the application.
1280 <orderedlist>
1281 <listitem><para>Select "Debug Configurations..." from the
1282 "Run" menu.</para></listitem>
1283 <listitem><para>In the left area, expand
1284 <filename>C/C++Remote Application</filename>.
1285 </para></listitem>
1286 <listitem><para>Locate your project and select it to bring
1287 up a new tabbed view in the Debug Configurations Dialog.
1288 </para></listitem>
1289 <listitem><para>Enter the absolute path into which you want
1290 to deploy the application.
1291 Use the "Remote Absolute File Path for
1292 C/C++Application:" field.
1293 For example, enter
1294 <filename>/usr/bin/<replaceable>programname</replaceable></filename>.
1295 </para></listitem>
1296 <listitem><para>Click on the "Debugger" tab to see the
1297 cross-tool debugger you are using.</para></listitem>
1298 <listitem><para>Click on the "Main" tab.</para></listitem>
1299 <listitem><para>Create a new connection to the QEMU instance
1300 by clicking on "new".</para></listitem>
1301 <listitem><para>Select <filename>TCF</filename>, which means
1302 Target Communication Framework.</para></listitem>
1303 <listitem><para>Click "Next".</para></listitem>
1304 <listitem><para>Clear out the "host name" field and enter
1305 the IP Address determined earlier.</para></listitem>
1306 <listitem><para>Click "Finish" to close the
1307 New Connections Dialog.</para></listitem>
1308 <listitem><para>Use the drop-down menu now in the
1309 "Connection" field and pick the IP Address you entered.
1310 </para></listitem>
1311 <listitem><para>Click "Debug" to bring up a login screen
1312 and login.</para></listitem>
1313 <listitem><para>Accept the debug perspective.
1314 </para></listitem>
1315 </orderedlist>
1316 </para>
1317 </section>
1318
1319 <section id='running-user-space-tools'>
1320 <title>Running User-Space Tools</title>
1321
1322 <para>
1323 As mentioned earlier in the manual, several tools exist that
1324 enhance your development experience.
1325 These tools are aids in developing and debugging applications
1326 and images.
1327 You can run these user-space tools from within the Eclipse
1328 IDE through the "YoctoProjectTools" menu.
1329 </para>
1330
1331 <para>
1332 Once you pick a tool, you need to configure it for the remote
1333 target.
1334 Every tool needs to have the connection configured.
1335 You must select an existing TCF-based RSE connection to the
1336 remote target.
1337 If one does not exist, click "New" to create one.
1338 </para>
1339
1340 <para>
1341 Here are some specifics about the remote tools:
1342 <itemizedlist>
1343 <listitem><para><emphasis><filename>OProfile</filename>:</emphasis>
1344 Selecting this tool causes the
1345 <filename>oprofile-server</filename> on the remote
1346 target to launch on the local host machine.
1347 The <filename>oprofile-viewer</filename> must be
1348 installed on the local host machine and the
1349 <filename>oprofile-server</filename> must be installed
1350 on the remote target, respectively, in order to use.
1351 You must compile and install the
1352 <filename>oprofile-viewer</filename> from the source
1353 code on your local host machine.
1354 Furthermore, in order to convert the target's sample
1355 format data into a form that the host can use, you must
1356 have OProfile version 0.9.4 or greater installed on the
1357 host.</para>
1358 <para>You can locate both the viewer and server from
1359 <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/oprofileui/'></ulink>.
1360 You can also find more information on setting up and
1361 using this tool in the
1362 "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-oprofile'>oprofile</ulink>"
1363 section of the Yocto Project Profiling and Tracing
1364 Manual.
1365 <note>The <filename>oprofile-server</filename> is
1366 installed by default on the
1367 <filename>core-image-sato-sdk</filename> image.</note>
1368 </para></listitem>
1369 <listitem><para><emphasis><filename>Lttng2.0 trace import</filename>:</emphasis>
1370 Selecting this tool transfers the remote target's
1371 <filename>Lttng</filename> tracing data back to the
1372 local host machine and uses the Lttng Eclipse plug-in
1373 to graphically display the output.
1374 For information on how to use Lttng to trace an
1375 application,
1376 see <ulink url='http://lttng.org/documentation'></ulink>
1377 and the
1378 "<ulink url='&YOCTO_DOCS_PROF_URL;#lttng-linux-trace-toolkit-next-generation'>LTTng (Linux Trace Toolkit, next generation)</ulink>"
1379 section, which is in the Yocto Project Profiling and
1380 Tracing Manual.
1381 <note>Do not use
1382 <filename>Lttng-user space (legacy)</filename> tool.
1383 This tool no longer has any upstream support.</note>
1384 </para>
1385 <para>Before you use the
1386 <filename>Lttng2.0 trace import</filename> tool,
1387 you need to setup the Lttng Eclipse plug-in and create a
1388 Tracing project.
1389 Do the following:
1390 <orderedlist>
1391 <listitem><para>Select "Open Perspective" from the
1392 "Window" menu and then select "Other..." to
1393 bring up a menu of other perspectives.
1394 Choose "Tracing".
1395 </para></listitem>
1396 <listitem><para>Click "OK" to change the Eclipse
1397 perspective into the Tracing perspective.
1398 </para></listitem>
1399 <listitem><para>Create a new Tracing project by
1400 selecting "Project" from the "File -> New" menu.
1401 </para></listitem>
1402 <listitem><para>Choose "Tracing Project" from the
1403 "Tracing" menu and click "Next".
1404 </para></listitem>
1405 <listitem><para>Provide a name for your tracing
1406 project and click "Finish".
1407 </para></listitem>
1408 <listitem><para>Generate your tracing data on the
1409 remote target.</para></listitem>
1410 <listitem><para>Select "Lttng2.0 trace import"
1411 from the "Yocto Project Tools" menu to
1412 start the data import process.</para></listitem>
1413 <listitem><para>Specify your remote connection name.
1414 </para></listitem>
1415 <listitem><para>For the Ust directory path, specify
1416 the location of your remote tracing data.
1417 Make sure the location ends with
1418 <filename>ust</filename> (e.g.
1419 <filename>/usr/mysession/ust</filename>).
1420 </para></listitem>
1421 <listitem><para>Click "OK" to complete the import
1422 process.
1423 The data is now in the local tracing project
1424 you created.</para></listitem>
1425 <listitem><para>Right click on the data and then use
1426 the menu to Select "Generic CTF Trace" from the
1427 "Trace Type... -> Common Trace Format" menu to
1428 map the tracing type.</para></listitem>
1429 <listitem><para>Right click the mouse and select
1430 "Open" to bring up the Eclipse Lttng Trace
1431 Viewer so you view the tracing data.
1432 </para></listitem>
1433 </orderedlist></para></listitem>
1434 <listitem><para><emphasis><filename>PowerTOP</filename>:</emphasis>
1435 Selecting this tool runs PowerTOP on the remote target
1436 machine and displays the results in a new view called
1437 PowerTOP.</para>
1438 <para>The "Time to gather data(sec):" field is the time
1439 passed in seconds before data is gathered from the
1440 remote target for analysis.</para>
1441 <para>The "show pids in wakeups list:" field corresponds
1442 to the <filename>-p</filename> argument passed to
1443 <filename>PowerTOP</filename>.</para></listitem>
1444 <listitem><para><emphasis><filename>LatencyTOP and Perf</filename>:</emphasis>
1445 LatencyTOP identifies system latency, while
1446 Perf monitors the system's performance counter
1447 registers.
1448 Selecting either of these tools causes an RSE terminal
1449 view to appear from which you can run the tools.
1450 Both tools refresh the entire screen to display results
1451 while they run.
1452 For more information on setting up and using
1453 <filename>perf</filename>, see the
1454 "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-perf'>perf</ulink>"
1455 section in the Yocto Project Profiling and Tracing
1456 Manual.
1457 </para></listitem>
1458 <listitem><para><emphasis><filename>SystemTap</filename>:</emphasis>
1459 Systemtap is a tool that lets you create and reuse
1460 scripts to examine the activities of a live Linux
1461 system.
1462 You can easily extract, filter, and summarize data
1463 that helps you diagnose complex performance or
1464 functional problems.
1465 For more information on setting up and using
1466 <filename>SystemTap</filename>, see the
1467 <ulink url='https://sourceware.org/systemtap/documentation.html'>SystemTap Documentation</ulink>.
1468 </para></listitem>
1469 <listitem><para><emphasis><filename>yocto-bsp</filename>:</emphasis>
1470 The <filename>yocto-bsp</filename> tool lets you
1471 quickly set up a Board Support Package (BSP) layer.
1472 The tool requires a Metadata location, build location,
1473 BSP name, BSP output location, and a kernel
1474 architecture.
1475 For more information on the
1476 <filename>yocto-bsp</filename> tool outside of Eclipse,
1477 see the
1478 "<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a new BSP Layer Using the yocto-bsp Script</ulink>"
1479 section in the Yocto Project Board Support Package
1480 (BSP) Developer's Guide.
1481 </para></listitem>
1482 </itemizedlist>
1483 </para>
1484 </section>
1485 </section>
451</section> 1486</section>
452 1487
453<section id='sdk-using-the-sdk-to-task-2'> 1488<section id='sdk-using-the-sdk-to-task-2'>
diff --git a/documentation/yocto-project-qs/yocto-project-qs.xml b/documentation/yocto-project-qs/yocto-project-qs.xml
index 0d6e15292a..5aabb43af4 100644
--- a/documentation/yocto-project-qs/yocto-project-qs.xml
+++ b/documentation/yocto-project-qs/yocto-project-qs.xml
@@ -758,11 +758,9 @@
758 Project. 758 Project.
759 The manual contains conceptual and procedural information 759 The manual contains conceptual and procedural information
760 that covers 760 that covers
761 <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-model'>common development models</ulink>, 761 <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-model'>common development models</ulink>
762 introduces 762 and introduces
763 <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-newbie'>the Yocto Project open source development environment</ulink>, 763 <ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-newbie'>the Yocto Project open source development environment</ulink>.
764 and describes the
765 <ulink url='&YOCTO_DOCS_DEV_URL;#workflow-using-the-adt-and-eclipse'>workflow using Eclipse™</ulink>.
766 The manual also contains several targeted sections that 764 The manual also contains several targeted sections that
767 cover specific 765 cover specific
768 <ulink url='&YOCTO_DOCS_DEV_URL;#extendpoky'>common tasks</ulink> 766 <ulink url='&YOCTO_DOCS_DEV_URL;#extendpoky'>common tasks</ulink>
@@ -770,10 +768,22 @@
770 images, writing new recipes, working with libraries, and 768 images, writing new recipes, working with libraries, and
771 configuring and patching the kernel. 769 configuring and patching the kernel.
772 </para></listitem> 770 </para></listitem>
771 <listitem><para><emphasis>Look Through the Yocto Project Software Development Kit (SDK) Developer's Guide:</emphasis>
772 The
773 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>
774 describes how to use both the standard SDK and the
775 extensible SDK.
776 This manual also provides an example workflow that uses
777 the popular <trademark class='trade'>Eclipse</trademark>
778 development environment.
779 See the
780 "<ulink url='&YOCTO_DOCS_SDK_URL;#workflow-using-eclipse'>Workflow using Eclipse™</ulink>"
781 section.
782 </para></listitem>
773 <listitem><para><emphasis>Learn About Application Development:</emphasis> 783 <listitem><para><emphasis>Learn About Application Development:</emphasis>
774 If your primary interests lie in developing applications, 784 If your primary interests lie in developing applications,
775 you can reference the 785 you can reference the
776 <ulink url='&YOCTO_DOCS_ADT_URL;#adt-manual-intro'>Yocto Project Application Developer's Guide</ulink>. 786 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
777 </para></listitem> 787 </para></listitem>
778 <listitem><para><emphasis>Learn About Board Support Packages (BSPs):</emphasis> 788 <listitem><para><emphasis>Learn About Board Support Packages (BSPs):</emphasis>
779 If you want to learn about BSPs, see the 789 If you want to learn about BSPs, see the