diff options
-rw-r--r-- | documentation/dev-manual/dev-manual-model.xml | 1089 |
1 files changed, 613 insertions, 476 deletions
diff --git a/documentation/dev-manual/dev-manual-model.xml b/documentation/dev-manual/dev-manual-model.xml index efa50b05ff..3474d05546 100644 --- a/documentation/dev-manual/dev-manual-model.xml +++ b/documentation/dev-manual/dev-manual-model.xml | |||
@@ -131,7 +131,7 @@ | |||
131 | <ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></ulink> script</emphasis>: | 131 | <ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'><filename>yocto-bsp</filename></ulink> script</emphasis>: |
132 | Layers are ideal for | 132 | Layers are ideal for |
133 | isolating and storing work for a given piece of hardware. | 133 | isolating and storing work for a given piece of hardware. |
134 | A layer is really just a location or area in which you place | 134 | A layer is really just a location or area in which you place |
135 | the recipes and configurations for your BSP. | 135 | the recipes and configurations for your BSP. |
136 | In fact, a BSP is, in itself, a special type of layer. | 136 | In fact, a BSP is, in itself, a special type of layer. |
137 | The simplest way to create a new BSP layer that is compliant with the | 137 | The simplest way to create a new BSP layer that is compliant with the |
@@ -165,7 +165,7 @@ | |||
165 | Romley, sys940x, Sugar Bay, and tlk exist in their own separate layers | 165 | Romley, sys940x, Sugar Bay, and tlk exist in their own separate layers |
166 | within the larger <filename>meta-intel</filename> layer.</note> | 166 | within the larger <filename>meta-intel</filename> layer.</note> |
167 | <para>When you set up a layer for a new BSP, you should follow a standard layout. | 167 | <para>When you set up a layer for a new BSP, you should follow a standard layout. |
168 | This layout is described in the | 168 | This layout is described in the |
169 | "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>" | 169 | "<ulink url='&YOCTO_DOCS_BSP_URL;#bsp-filelayout'>Example Filesystem Layout</ulink>" |
170 | section of the Board Support Package (BSP) Development Guide. | 170 | section of the Board Support Package (BSP) Development Guide. |
171 | In the standard layout, you will notice a suggested structure for recipes and | 171 | In the standard layout, you will notice a suggested structure for recipes and |
@@ -343,10 +343,10 @@ | |||
343 | If you are working in the kernel all the time, you probably would want | 343 | If you are working in the kernel all the time, you probably would want |
344 | to set up your own local Git repository of the kernel tree. | 344 | to set up your own local Git repository of the kernel tree. |
345 | If you just need to make some patches to the kernel, you can access | 345 | If you just need to make some patches to the kernel, you can access |
346 | temporary kernel source files that were extracted and used | 346 | temporary kernel source files that were extracted and used |
347 | during a build. | 347 | during a build. |
348 | We will just talk about working with the temporary source code. | 348 | We will just talk about working with the temporary source code. |
349 | For more information on how to get kernel source code onto your | 349 | For more information on how to get kernel source code onto your |
350 | host system, see the | 350 | host system, see the |
351 | "<link linkend='local-kernel-files'>Yocto Project Kernel</link>" | 351 | "<link linkend='local-kernel-files'>Yocto Project Kernel</link>" |
352 | bulleted item earlier in the manual. | 352 | bulleted item earlier in the manual. |
@@ -411,7 +411,7 @@ | |||
411 | "<link linkend='local-yp-release'>Yocto Project Release</link>" earlier in this manual. | 411 | "<link linkend='local-yp-release'>Yocto Project Release</link>" earlier in this manual. |
412 | </para></listitem> | 412 | </para></listitem> |
413 | <listitem><para><emphasis>Establish the temporary kernel source files</emphasis>: | 413 | <listitem><para><emphasis>Establish the temporary kernel source files</emphasis>: |
414 | Temporary kernel source files are kept in the | 414 | Temporary kernel source files are kept in the |
415 | <link linkend='build-directory'>Build Directory</link> | 415 | <link linkend='build-directory'>Build Directory</link> |
416 | created by the | 416 | created by the |
417 | OpenEmbedded build system when you run BitBake. | 417 | OpenEmbedded build system when you run BitBake. |
@@ -474,7 +474,7 @@ | |||
474 | Application development involves creating an application that you want | 474 | Application development involves creating an application that you want |
475 | to run on your target hardware, which is running a kernel image created using the | 475 | to run on your target hardware, which is running a kernel image created using the |
476 | OpenEmbedded build system. | 476 | OpenEmbedded build system. |
477 | The Yocto Project provides an | 477 | The Yocto Project provides an |
478 | <ulink url='&YOCTO_DOCS_ADT_URL;#adt-intro-section'>Application Development Toolkit (ADT)</ulink> | 478 | <ulink url='&YOCTO_DOCS_ADT_URL;#adt-intro-section'>Application Development Toolkit (ADT)</ulink> |
479 | and stand-alone | 479 | and stand-alone |
480 | <ulink url='&YOCTO_DOCS_ADT_URL;#the-cross-development-toolchain'>cross-development toolchains</ulink> | 480 | <ulink url='&YOCTO_DOCS_ADT_URL;#the-cross-development-toolchain'>cross-development toolchains</ulink> |
@@ -605,26 +605,29 @@ | |||
605 | <title>Working Within Eclipse</title> | 605 | <title>Working Within Eclipse</title> |
606 | 606 | ||
607 | <para> | 607 | <para> |
608 | The Eclipse IDE is a popular development environment and it fully supports | 608 | The Eclipse IDE is a popular development environment and it fully |
609 | development using the Yocto Project. | 609 | supports development using the Yocto Project. |
610 | <note>This release of the Yocto Project supports both the Juno and Indigo versions | 610 | <note> |
611 | of the Eclipse IDE. | 611 | This release of the Yocto Project supports both the Kepler |
612 | Thus, the following information provides setup information for both versions. | 612 | and Juno versions of the Eclipse IDE. |
613 | Thus, the following information provides setup information for | ||
614 | both versions. | ||
613 | </note> | 615 | </note> |
614 | </para> | 616 | </para> |
615 | 617 | ||
616 | <para> | 618 | <para> |
617 | When you install and configure the Eclipse Yocto Project Plug-in into | 619 | When you install and configure the Eclipse Yocto Project Plug-in |
618 | the Eclipse IDE, you maximize your Yocto Project experience. | 620 | into the Eclipse IDE, you maximize your Yocto Project experience. |
619 | Installing and configuring the Plug-in results in an environment that | 621 | Installing and configuring the Plug-in results in an environment |
620 | has extensions specifically designed to let you more easily develop software. | 622 | that has extensions specifically designed to let you more easily |
621 | These extensions allow for cross-compilation, deployment, and execution of | 623 | develop software. |
622 | your output into a QEMU emulation session as well as actual target | 624 | These extensions allow for cross-compilation, deployment, and |
623 | hardware. | 625 | execution of your output into a QEMU emulation session as well as |
626 | actual target hardware. | ||
624 | You can also perform cross-debugging and profiling. | 627 | You can also perform cross-debugging and profiling. |
625 | The environment also supports a suite of tools that allows you to perform | 628 | The environment also supports a suite of tools that allows you |
626 | remote profiling, tracing, collection of power data, collection of | 629 | to perform remote profiling, tracing, collection of power data, |
627 | latency data, and collection of performance data. | 630 | collection of latency data, and collection of performance data. |
628 | </para> | 631 | </para> |
629 | 632 | ||
630 | <para> | 633 | <para> |
@@ -638,15 +641,20 @@ | |||
638 | <para> | 641 | <para> |
639 | To develop within the Eclipse IDE, you need to do the following: | 642 | To develop within the Eclipse IDE, you need to do the following: |
640 | <orderedlist> | 643 | <orderedlist> |
641 | <listitem><para>Install the optimal version of the Eclipse IDE.</para></listitem> | 644 | <listitem><para>Install the optimal version of the Eclipse |
642 | <listitem><para>Configure the Eclipse IDE.</para></listitem> | 645 | IDE.</para></listitem> |
643 | <listitem><para>Install the Eclipse Yocto Plug-in.</para></listitem> | 646 | <listitem><para>Configure the Eclipse IDE. |
644 | <listitem><para>Configure the Eclipse Yocto Plug-in.</para></listitem> | 647 | </para></listitem> |
648 | <listitem><para>Install the Eclipse Yocto Plug-in. | ||
649 | </para></listitem> | ||
650 | <listitem><para>Configure the Eclipse Yocto Plug-in. | ||
651 | </para></listitem> | ||
645 | </orderedlist> | 652 | </orderedlist> |
646 | <note> | 653 | <note> |
647 | Do not install Eclipse from your distribution's package repository. | 654 | Do not install Eclipse from your distribution's package |
648 | Be sure to install Eclipse from the official Eclipse download site as directed | 655 | repository. |
649 | in the next section. | 656 | Be sure to install Eclipse from the official Eclipse |
657 | download site as directed in the next section. | ||
650 | </note> | 658 | </note> |
651 | </para> | 659 | </para> |
652 | 660 | ||
@@ -654,89 +662,69 @@ | |||
654 | <title>Installing the Eclipse IDE</title> | 662 | <title>Installing the Eclipse IDE</title> |
655 | 663 | ||
656 | <para> | 664 | <para> |
657 | It is recommended that you have the Juno 4.2 version of the | 665 | It is recommended that you have the Kepler 4.3 version of |
658 | Eclipse IDE installed on your development system. | 666 | the Eclipse IDE installed on your development system. |
659 | However, if you currently have the Indigo 3.7.2 version installed and you do | 667 | However, if you currently have the Juno 4.2 version |
660 | not want to upgrade the IDE, you can configure Indigo to work with the | 668 | installed and you do not want to upgrade the IDE, you can |
661 | Yocto Project. | 669 | configure Juno to work with the Yocto Project. |
662 | See the | 670 | See the |
663 | "<link linkend='configuring-the-eclipse-ide-indigo'>Configuring the Eclipse IDE (Indigo)</link>" | 671 | "<link linkend='configuring-the-eclipse-ide-juno'>Configuring the Eclipse IDE (Juno)</link>" |
664 | section. | 672 | section. |
665 | </para> | 673 | </para> |
666 | 674 | ||
667 | <para> | 675 | <para> |
668 | If you do not have the Juno 4.2 Eclipse IDE installed, you can find the tarball at | 676 | If you do not have the Kepler 4.3 Eclipse IDE installed, you |
677 | can find the tarball at | ||
669 | <ulink url='&ECLIPSE_MAIN_URL;'></ulink>. | 678 | <ulink url='&ECLIPSE_MAIN_URL;'></ulink>. |
670 | From that site, choose the Eclipse Classic version particular to your development | 679 | From that site, choose the Eclipse Standard 4.3 version |
671 | host. | 680 | particular to your development host. |
672 | This version contains the Eclipse Platform, the Java Development | 681 | This version contains the Eclipse Platform, the Java |
673 | Tools (JDT), and the Plug-in Development Environment. | 682 | Development Tools (JDT), and the Plug-in Development |
683 | Environment. | ||
674 | </para> | 684 | </para> |
675 | 685 | ||
676 | <para> | 686 | <para> |
677 | Once you have downloaded the tarball, extract it into a clean | 687 | Once you have downloaded the tarball, extract it into a |
678 | directory. | 688 | clean directory. |
679 | For example, the following commands unpack and install the | 689 | For example, the following commands unpack and install the |
680 | downloaded Eclipse IDE tarball into a clean directory | 690 | downloaded Eclipse IDE tarball into a clean directory |
681 | using the default name <filename>eclipse</filename>: | 691 | using the default name <filename>eclipse</filename>: |
682 | <literallayout class='monospaced'> | 692 | <literallayout class='monospaced'> |
683 | $ cd ~ | 693 | $ cd ~ |
684 | $ tar -xzvf ~/Downloads/eclipse-SDK-4.2-linux-gtk-x86_64.tar.gz | 694 | $ tar -xzvf ~/Downloads/eclipse-standard-kepler-R-linux-gtk-x86_64.tar.gz |
685 | </literallayout> | ||
686 | </para> | ||
687 | |||
688 | <para> | ||
689 | If you have the Indigo 3.7.2 Eclipse IDE already installed and you want to use that | ||
690 | version, one issue exists that you need to be aware of regarding the Java | ||
691 | Virtual machine’s garbage collection (GC) process. | ||
692 | The GC process does not clean up the permanent generation | ||
693 | space (PermGen). | ||
694 | This space stores metadata descriptions of classes. | ||
695 | The default value is set too small and it could trigger an | ||
696 | out-of-memory error such as the following: | ||
697 | <literallayout class='monospaced'> | ||
698 | Java.lang.OutOfMemoryError: PermGen space | ||
699 | </literallayout> | ||
700 | </para> | ||
701 | |||
702 | <para> | ||
703 | This error causes the application to hang. | ||
704 | </para> | ||
705 | |||
706 | <para> | ||
707 | To fix this issue, you can use the <filename>--vmargs</filename> | ||
708 | option when you start the Indigo 3.7.2 Eclipse IDE | ||
709 | to increase the size of the permanent generation space: | ||
710 | <literallayout class='monospaced'> | ||
711 | eclipse --vmargs --XX:PermSize=256M | ||
712 | </literallayout> | 695 | </literallayout> |
713 | </para> | 696 | </para> |
714 | </section> | 697 | </section> |
715 | 698 | ||
716 | <section id='configuring-the-eclipse-ide-juno'> | 699 | <section id='configuring-the-eclipse-ide-kepler'> |
717 | <title>Configuring the Eclipse IDE (Juno)</title> | 700 | <title>Configuring the Eclipse IDE (Kepler)</title> |
718 | 701 | ||
719 | <para> | 702 | <para> |
720 | This section presents the steps needed to configure the Juno 4.2 Eclipse IDE. | 703 | This section presents the steps needed to configure the |
721 | If you are using Indigo 3.7.2, see the | 704 | Kepler 4.3 Eclipse IDE. |
722 | "<link linkend='configuring-the-eclipse-ide-indigo'>Configuring the Eclipse IDE (Indigo)</link>". | 705 | If you are using Juno 4.2, see the |
706 | "<link linkend='configuring-the-eclipse-ide-juno'>Configuring the Eclipse IDE (Juno)</link>". | ||
723 | </para> | 707 | </para> |
724 | 708 | ||
725 | <para> | 709 | <para> |
726 | Before installing and configuring the Eclipse Yocto Plug-in, you need to configure | 710 | Before installing and configuring the Eclipse Yocto Plug-in, |
727 | the Juno 4.2 Eclipse IDE. | 711 | you need to configure the Kepler 4.3 Eclipse IDE. |
728 | Follow these general steps: | 712 | Follow these general steps: |
729 | <orderedlist> | 713 | <orderedlist> |
730 | <listitem><para>Start the Eclipse IDE.</para></listitem> | 714 | <listitem><para>Start the Eclipse IDE.</para></listitem> |
731 | <listitem><para>Make sure you are in your Workbench and select | 715 | <listitem><para>Make sure you are in your Workbench and |
732 | "Install New Software" from the "Help" pull-down menu. | 716 | select "Install New Software" from the "Help" |
717 | pull-down menu.</para></listitem> | ||
718 | <listitem><para>Select | ||
719 | <filename>Juno - &ECLIPSE_JUNO_URL;</filename> | ||
720 | from the "Work with:" pull-down menu. | ||
733 | </para></listitem> | 721 | </para></listitem> |
734 | <listitem><para>Select <filename>Juno - &ECLIPSE_JUNO_URL;</filename> | 722 | <listitem><para>Expand the box next to "Linux Tools" |
735 | from the "Work with:" pull-down menu.</para></listitem> | 723 | and select the |
736 | <listitem><para>Expand the box next to "Linux Tools" and select the | 724 | <filename>LTTng - Linux Tracing Toolkit</filename> |
737 | <filename>LTTng - Linux Tracing Toolkit</filename> boxes.</para></listitem> | 725 | boxes.</para></listitem> |
738 | <listitem><para>Expand the box next to "Mobile and Device Development" and select the | 726 | <listitem><para>Expand the box next to "Mobile and |
739 | following boxes: | 727 | Device Development" and select the following boxes: |
740 | <itemizedlist> | 728 | <itemizedlist> |
741 | <listitem><para><filename>C/C++ Remote Launch</filename></para></listitem> | 729 | <listitem><para><filename>C/C++ Remote Launch</filename></para></listitem> |
742 | <listitem><para><filename>Remote System Explorer End-user Runtime</filename></para></listitem> | 730 | <listitem><para><filename>Remote System Explorer End-user Runtime</filename></para></listitem> |
@@ -745,70 +733,59 @@ | |||
745 | <listitem><para><filename>TCF Remote System Explorer add-in</filename></para></listitem> | 733 | <listitem><para><filename>TCF Remote System Explorer add-in</filename></para></listitem> |
746 | <listitem><para><filename>TCF Target Explorer</filename></para></listitem> | 734 | <listitem><para><filename>TCF Target Explorer</filename></para></listitem> |
747 | </itemizedlist></para></listitem> | 735 | </itemizedlist></para></listitem> |
748 | <listitem><para>Expand the box next to "Programming Languages" | 736 | <listitem><para>Expand the box next to "Programming |
749 | and select the <filename>Autotools Support for CDT</filename> | 737 | Languages" and select the |
750 | and <filename>C/C++ Development Tools</filename> boxes.</para></listitem> | 738 | <filename>Autotools Support for CDT</filename> |
751 | <listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem> | 739 | and <filename>C/C++ Development Tools</filename> |
740 | boxes.</para></listitem> | ||
741 | <listitem><para>Complete the installation and restart | ||
742 | the Eclipse IDE.</para></listitem> | ||
752 | </orderedlist> | 743 | </orderedlist> |
753 | </para> | 744 | </para> |
754 | </section> | 745 | </section> |
755 | 746 | ||
756 | <section id='configuring-the-eclipse-ide-indigo'> | 747 | <section id='configuring-the-eclipse-ide-juno'> |
757 | <title>Configuring the Eclipse IDE (Indigo)</title> | 748 | <title>Configuring the Eclipse IDE (Juno)</title> |
758 | 749 | ||
759 | <para> | 750 | <para> |
760 | This section presents the steps needed to configure the Indigo 3.7.2 Eclipse IDE. | 751 | This section presents the steps needed to configure the |
761 | If you are using Juno 4.2, see the | 752 | Juno 4.2 Eclipse IDE. |
762 | "<link linkend='configuring-the-eclipse-ide-juno'>Configuring the Eclipse IDE (Juno)</link>". | ||
763 | </para> | 753 | </para> |
764 | 754 | ||
765 | <para> | 755 | <para> |
766 | Before installing and configuring the Eclipse Yocto Plug-in, you need to configure | 756 | Before installing and configuring the Eclipse Yocto Plug-in, |
767 | the Indigo 3.7.2 Eclipse IDE. | 757 | you need to configure the Juno 4.2 Eclipse IDE. |
768 | Follow these general steps: | 758 | Follow these general steps: |
769 | <orderedlist> | 759 | <orderedlist> |
770 | <listitem><para>Start the Eclipse IDE.</para></listitem> | 760 | <listitem><para>Start the Eclipse IDE.</para></listitem> |
771 | <listitem><para>Make sure you are in your Workbench and select | 761 | <listitem><para>Make sure you are in your Workbench and |
772 | "Install New Software" from the "Help" pull-down menu. | 762 | select "Install New Software" from the "Help" |
773 | </para></listitem> | 763 | pull-down menu.</para></listitem> |
774 | <listitem><para>Select <filename>indigo - &ECLIPSE_INDIGO_URL;</filename> | 764 | <listitem><para>Select |
775 | from the "Work with:" pull-down menu.</para></listitem> | 765 | <filename>Juno - &ECLIPSE_JUNO_URL;</filename> |
776 | <listitem><para>Expand the box next to "Programming Languages" | 766 | from the "Work with:" pull-down menu. |
777 | and select the <filename>Autotools Support for CDT (incubation)</filename> | ||
778 | and <filename>C/C++ Development Tools</filename> boxes.</para></listitem> | ||
779 | <listitem><para>Expand the box next to "Linux Tools" and select the | ||
780 | <filename>LTTng - Linux Tracing Toolkit(incubation)</filename> | ||
781 | boxes.</para></listitem> | ||
782 | <listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem> | ||
783 | <listitem><para>After the Eclipse IDE restarts and from the Workbench, select | ||
784 | "Install New Software" from the "Help" pull-down menu.</para></listitem> | ||
785 | <listitem><para>Click the | ||
786 | "Available Software Sites" link.</para></listitem> | ||
787 | <listitem><para>Check the box next to | ||
788 | <filename>&ECLIPSE_UPDATES_URL;</filename> | ||
789 | and click "OK".</para></listitem> | ||
790 | <listitem><para>Select <filename>&ECLIPSE_UPDATES_URL;</filename> | ||
791 | from the "Work with:" pull-down menu.</para></listitem> | ||
792 | <listitem><para>Check the box next to <filename>TM and RSE Main Features</filename>. | ||
793 | </para></listitem> | 767 | </para></listitem> |
794 | <listitem><para>Expand the box next to <filename>TM and RSE Optional Add-ons</filename> | 768 | <listitem><para>Expand the box next to "Linux Tools" |
795 | and select every item except <filename>RSE Unit Tests</filename> and | 769 | and select the |
796 | <filename>RSE WinCE Services (incubation)</filename>.</para></listitem> | 770 | <filename>LTTng - Linux Tracing Toolkit</filename> boxes. |
797 | <listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem> | ||
798 | <listitem><para>If necessary, select | ||
799 | "Install New Software" from the "Help" pull-down menu so you can click the | ||
800 | "Available Software Sites" link again.</para></listitem> | ||
801 | <listitem><para>After clicking "Available Software Sites", check the box next to | ||
802 | <filename>http://download.eclipse.org/tools/cdt/releases/indigo</filename> | ||
803 | and click "OK".</para></listitem> | ||
804 | <listitem><para>Select <filename>&ECLIPSE_INDIGO_CDT_URL;</filename> | ||
805 | from the "Work with:" pull-down menu.</para></listitem> | ||
806 | <listitem><para>Check the box next to <filename>CDT Main Features</filename>. | ||
807 | </para></listitem> | 771 | </para></listitem> |
808 | <listitem><para>Expand the box next to "CDT Optional Features" | 772 | <listitem><para>Expand the box next to "Mobile and |
809 | and select <filename>C/C++ Remote Launch</filename> and | 773 | Device Development" and select the following boxes: |
810 | <filename>Target Communication Framework (incubation)</filename>.</para></listitem> | 774 | <itemizedlist> |
811 | <listitem><para>Complete the installation and restart the Eclipse IDE.</para></listitem> | 775 | <listitem><para><filename>C/C++ Remote Launch</filename></para></listitem> |
776 | <listitem><para><filename>Remote System Explorer End-user Runtime</filename></para></listitem> | ||
777 | <listitem><para><filename>Remote System Explorer User Actions</filename></para></listitem> | ||
778 | <listitem><para><filename>Target Management Terminal</filename></para></listitem> | ||
779 | <listitem><para><filename>TCF Remote System Explorer add-in</filename></para></listitem> | ||
780 | <listitem><para><filename>TCF Target Explorer</filename></para></listitem> | ||
781 | </itemizedlist></para></listitem> | ||
782 | <listitem><para>Expand the box next to "Programming | ||
783 | Languages" and select the | ||
784 | <filename>Autotools Support for CDT</filename> | ||
785 | and <filename>C/C++ Development Tools</filename> | ||
786 | boxes.</para></listitem> | ||
787 | <listitem><para>Complete the installation and restart | ||
788 | the Eclipse IDE.</para></listitem> | ||
812 | </orderedlist> | 789 | </orderedlist> |
813 | </para> | 790 | </para> |
814 | </section> | 791 | </section> |
@@ -817,35 +794,46 @@ | |||
817 | <title>Installing or Accessing the Eclipse Yocto Plug-in</title> | 794 | <title>Installing or Accessing the Eclipse Yocto Plug-in</title> |
818 | 795 | ||
819 | <para> | 796 | <para> |
820 | You can install the Eclipse Yocto Plug-in into the Eclipse IDE | 797 | You can install the Eclipse Yocto Plug-in into the Eclipse |
821 | one of two ways: use the Yocto Project's Eclipse Update site to install the pre-built plug-in, | 798 | IDE one of two ways: use the Yocto Project's Eclipse |
822 | or build and install the plug-in from the latest source code. | 799 | Update site to install the pre-built plug-in, or build and |
823 | If you do not want to permanently install the plug-in but just want to try it out | 800 | install the plug-in from the latest source code. |
824 | within the Eclipse environment, you can import the plug-in project from the | 801 | If you do not want to permanently install the plug-in but |
825 | Yocto Project's Source Repositories. | 802 | just want to try it out within the Eclipse environment, |
803 | you can import the plug-in project from the Yocto Project's | ||
804 | Source Repositories. | ||
826 | </para> | 805 | </para> |
827 | 806 | ||
828 | <section id='new-software'> | 807 | <section id='new-software'> |
829 | <title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update Site</title> | 808 | <title>Installing the Pre-built Plug-in from the Yocto Project Eclipse Update Site</title> |
830 | 809 | ||
831 | <para> | 810 | <para> |
832 | To install the Eclipse Yocto Plug-in from the update site, | 811 | To install the Eclipse Yocto Plug-in from the update |
833 | follow these steps: | 812 | site, follow these steps: |
834 | <orderedlist> | 813 | <orderedlist> |
835 | <listitem><para>Start up the Eclipse IDE.</para></listitem> | 814 | <listitem><para>Start up the Eclipse IDE. |
836 | <listitem><para>In Eclipse, select "Install New Software" from the "Help" menu.</para></listitem> | 815 | </para></listitem> |
837 | <listitem><para>Click "Add..." in the "Work with:" area.</para></listitem> | 816 | <listitem><para>In Eclipse, select "Install New |
817 | Software" from the "Help" menu. | ||
818 | </para></listitem> | ||
819 | <listitem><para>Click "Add..." in the "Work with:" | ||
820 | area.</para></listitem> | ||
838 | <listitem><para>Enter | 821 | <listitem><para>Enter |
839 | <filename>&ECLIPSE_DL_PLUGIN_URL;</filename> | 822 | <filename>&ECLIPSE_DL_PLUGIN_URL;</filename> |
840 | in the URL field and provide a meaningful name in the "Name" field.</para></listitem> | 823 | in the URL field and provide a meaningful name |
841 | <listitem><para>Click "OK" to have the entry added to the "Work with:" | 824 | in the "Name" field.</para></listitem> |
842 | drop-down list.</para></listitem> | 825 | <listitem><para>Click "OK" to have the entry added |
843 | <listitem><para>Select the entry for the plug-in from the "Work with:" drop-down | 826 | to the "Work with:" drop-down list. |
844 | list.</para></listitem> | 827 | </para></listitem> |
845 | <listitem><para>Check the box next to <filename>Development tools and SDKs for Yocto Linux</filename>. | 828 | <listitem><para>Select the entry for the plug-in |
829 | from the "Work with:" drop-down list. | ||
846 | </para></listitem> | 830 | </para></listitem> |
847 | <listitem><para>Complete the remaining software installation steps and | 831 | <listitem><para>Check the box next to |
848 | then restart the Eclipse IDE to finish the installation of the plug-in. | 832 | <filename>Development tools and SDKs for Yocto Linux</filename>. |
833 | </para></listitem> | ||
834 | <listitem><para>Complete the remaining software | ||
835 | installation steps and then restart the Eclipse | ||
836 | IDE to finish the installation of the plug-in. | ||
849 | </para></listitem> | 837 | </para></listitem> |
850 | </orderedlist> | 838 | </orderedlist> |
851 | </para> | 839 | </para> |
@@ -855,71 +843,87 @@ | |||
855 | <title>Installing the Plug-in Using the Latest Source Code</title> | 843 | <title>Installing the Plug-in Using the Latest Source Code</title> |
856 | 844 | ||
857 | <para> | 845 | <para> |
858 | To install the Eclipse Yocto Plug-in from the latest source code, follow these steps: | 846 | To install the Eclipse Yocto Plug-in from the latest |
847 | source code, follow these steps: | ||
859 | <orderedlist> | 848 | <orderedlist> |
860 | <listitem><para>Open a shell and create a Git repository with: | 849 | <listitem><para>Open a shell and create a Git |
850 | repository with: | ||
861 | <literallayout class='monospaced'> | 851 | <literallayout class='monospaced'> |
862 | $ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse | 852 | $ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse |
863 | </literallayout> | 853 | </literallayout> |
864 | For this example, the repository is named | 854 | For this example, the repository is named |
865 | <filename>~/yocto-eclipse</filename>.</para></listitem> | 855 | <filename>~/yocto-eclipse</filename>. |
866 | <listitem><para>Change to the directory where you set up | 856 | </para></listitem> |
867 | the Git repository: | 857 | <listitem><para>Change to the directory where you |
858 | set up the Git repository: | ||
868 | <literallayout class='monospaced'> | 859 | <literallayout class='monospaced'> |
869 | $ cd ~/yocto-eclipse | 860 | $ cd ~/yocto-eclipse |
870 | </literallayout></para></listitem> | 861 | </literallayout></para></listitem> |
871 | <listitem><para>Be sure you are in the right branch for your Git repository. | 862 | <listitem><para>Be sure you are in the right branch |
872 | For this release set the branch to <filename>&DISTRO_NAME;</filename>: | 863 | for your Git repository. |
864 | For this release set the branch to | ||
865 | <filename>&DISTRO_NAME;</filename>: | ||
873 | <literallayout class='monospaced'> | 866 | <literallayout class='monospaced'> |
874 | $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME; | 867 | $ git checkout -b &DISTRO_NAME; origin/&DISTRO_NAME; |
875 | </literallayout></para></listitem> | 868 | </literallayout></para></listitem> |
876 | <listitem><para>Change to the <filename>scripts</filename> | 869 | <listitem><para>Change to the |
870 | <filename>scripts</filename> | ||
877 | directory within the Git repository: | 871 | directory within the Git repository: |
878 | <literallayout class='monospaced'> | 872 | <literallayout class='monospaced'> |
879 | $ cd scripts | 873 | $ cd scripts |
880 | </literallayout></para></listitem> | 874 | </literallayout></para></listitem> |
881 | <listitem><para>Set up the local build environment by running the | 875 | <listitem><para>Set up the local build environment |
882 | setup script: | 876 | by running the setup script: |
883 | <literallayout class='monospaced'> | 877 | <literallayout class='monospaced'> |
884 | $ ./setup.sh | 878 | $ ./setup.sh |
885 | </literallayout></para></listitem> | 879 | </literallayout></para></listitem> |
886 | <listitem><para>When the script finishes execution, it prompts | 880 | <listitem><para>When the script finishes execution, |
887 | you with instructions on how to run the | 881 | it prompts you with instructions on how to run |
888 | <filename>build.sh</filename> script, which is also in | 882 | the <filename>build.sh</filename> script, which |
889 | the <filename>scripts</filename> of the | 883 | is also in the <filename>scripts</filename> of |
890 | Git repository created earlier. | 884 | the Git repository created earlier. |
891 | </para></listitem> | 885 | </para></listitem> |
892 | <listitem><para>Run the <filename>build.sh</filename> script | 886 | <listitem><para>Run the <filename>build.sh</filename> script |
893 | as directed. | 887 | as directed. |
894 | Be sure to provide the name of the Git branch along with the | 888 | Be sure to provide the name of the Git branch |
895 | Yocto Project release you are using. | 889 | along with the Yocto Project release you are |
896 | Here is an example that uses the <filename>&DISTRO_NAME;</filename> branch: | 890 | using. |
891 | Here is an example that uses the | ||
892 | <filename>&DISTRO_NAME;</filename> branch: | ||
897 | <literallayout class='monospaced'> | 893 | <literallayout class='monospaced'> |
898 | $ ECLIPSE_HOME=/home/scottrif/yocto-eclipse/scripts/eclipse ./build.sh &DISTRO_NAME; &DISTRO_NAME; | 894 | $ ECLIPSE_HOME=/home/scottrif/yocto-eclipse/scripts/eclipse ./build.sh &DISTRO_NAME; &DISTRO_NAME; |
899 | </literallayout> | 895 | </literallayout> |
900 | After running the script, the file | 896 | After running the script, the file |
901 | <filename>org.yocto.sdk-<release>-<date>-archive.zip</filename> | 897 | <filename>org.yocto.sdk-<release>-<date>-archive.zip</filename> |
902 | is in the current directory.</para></listitem> | 898 | is in the current directory.</para></listitem> |
903 | <listitem><para>If necessary, start the Eclipse IDE and be sure you are in the | 899 | <listitem><para>If necessary, start the Eclipse IDE |
904 | Workbench.</para></listitem> | 900 | and be sure you are in the Workbench. |
901 | </para></listitem> | ||
905 | <listitem><para>Select "Install New Software" from the "Help" pull-down menu. | 902 | <listitem><para>Select "Install New Software" from the "Help" pull-down menu. |
906 | </para></listitem> | 903 | </para></listitem> |
907 | <listitem><para>Click "Add".</para></listitem> | 904 | <listitem><para>Click "Add".</para></listitem> |
908 | <listitem><para>Provide anything you want in the "Name" field.</para></listitem> | 905 | <listitem><para>Provide anything you want in the |
909 | <listitem><para>Click "Archive" and browse to the ZIP file you built | 906 | "Name" field.</para></listitem> |
910 | in step seven. | 907 | <listitem><para>Click "Archive" and browse to the |
911 | This ZIP file should not be "unzipped", and must be the | 908 | ZIP file you built in step seven. |
912 | <filename>*archive.zip</filename> file created by running the | 909 | This ZIP file should not be "unzipped", and must |
913 | <filename>build.sh</filename> script.</para></listitem> | 910 | be the <filename>*archive.zip</filename> file |
914 | <listitem><para>Click through the "Okay" buttons.</para></listitem> | 911 | created by running the |
915 | <listitem><para>Check the box next to the new entry in the installation window and complete | 912 | <filename>build.sh</filename> script. |
916 | the installation.</para></listitem> | 913 | </para></listitem> |
917 | <listitem><para>Restart the Eclipse IDE if necessary.</para></listitem> | 914 | <listitem><para>Click through the "Okay" buttons. |
915 | </para></listitem> | ||
916 | <listitem><para>Check the box next to the new entry | ||
917 | in the installation window and complete | ||
918 | the installation.</para></listitem> | ||
919 | <listitem><para>Restart the Eclipse IDE if | ||
920 | necessary.</para></listitem> | ||
918 | </orderedlist> | 921 | </orderedlist> |
919 | </para> | 922 | </para> |
920 | 923 | ||
921 | <para> | 924 | <para> |
922 | At this point you should be able to configure the Eclipse Yocto Plug-in as described in the | 925 | At this point you should be able to configure the |
926 | Eclipse Yocto Plug-in as described in the | ||
923 | "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>" | 927 | "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>" |
924 | section.</para> | 928 | section.</para> |
925 | </section> | 929 | </section> |
@@ -928,29 +932,37 @@ | |||
928 | <title>Importing the Plug-in Project into the Eclipse Environment</title> | 932 | <title>Importing the Plug-in Project into the Eclipse Environment</title> |
929 | 933 | ||
930 | <para> | 934 | <para> |
931 | Importing the Eclipse Yocto Plug-in project from the Yocto Project source repositories | 935 | Importing the Eclipse Yocto Plug-in project from the |
932 | is useful when you want to try out the latest plug-in from the tip of plug-in's | 936 | Yocto Project source repositories is useful when you |
933 | development tree. | 937 | want to try out the latest plug-in from the tip of |
934 | It is important to understand when you import the plug-in you are not installing | 938 | plug-in's development tree. |
935 | it into the Eclipse application. | 939 | It is important to understand when you import the |
940 | plug-in you are not installing it into the Eclipse | ||
941 | application. | ||
936 | Rather, you are importing the project and just using it. | 942 | Rather, you are importing the project and just using it. |
937 | </para> | 943 | </para> |
938 | 944 | ||
939 | <para> | 945 | <para> |
940 | To import the plug-in project, follow these steps: | 946 | To import the plug-in project, follow these steps: |
941 | <orderedlist> | 947 | <orderedlist> |
942 | <listitem><para>Open a shell and create a Git repository with: | 948 | <listitem><para>Open a shell and create a Git |
949 | repository with: | ||
943 | <literallayout class='monospaced'> | 950 | <literallayout class='monospaced'> |
944 | $ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse | 951 | $ git clone git://git.yoctoproject.org/eclipse-poky yocto-eclipse |
945 | </literallayout> | 952 | </literallayout> |
946 | For this example, the repository is named | 953 | For this example, the repository is named |
947 | <filename>~/yocto-eclipse</filename>.</para></listitem> | 954 | <filename>~/yocto-eclipse</filename>. |
948 | <listitem><para>In Eclipse, select "Import" from the "File" menu.</para></listitem> | 955 | </para></listitem> |
949 | <listitem><para>Expand the "General" box and select "existing projects into workspace" | 956 | <listitem><para>In Eclipse, select "Import" from |
950 | and then click "Next".</para></listitem> | 957 | the "File" menu.</para></listitem> |
951 | <listitem><para>Select the root directory and browse to | 958 | <listitem><para>Expand the "General" box and select |
952 | <filename>~/yocto-eclipse/plugins</filename>.</para></listitem> | 959 | "existing projects into workspace" and then |
953 | <listitem><para>Three plug-ins exist: | 960 | click "Next".</para></listitem> |
961 | <listitem><para>Select the root directory and | ||
962 | browse to | ||
963 | <filename>~/yocto-eclipse/plugins</filename>. | ||
964 | </para></listitem> | ||
965 | <listitem><para>Three plug-ins exist: | ||
954 | <filename>org.yocto.bc.ui</filename>, | 966 | <filename>org.yocto.bc.ui</filename>, |
955 | <filename>org.yocto.sdk.ide</filename>, and | 967 | <filename>org.yocto.sdk.ide</filename>, and |
956 | <filename>org.yocto.sdk.remotetools</filename>. | 968 | <filename>org.yocto.sdk.remotetools</filename>. |
@@ -959,9 +971,11 @@ | |||
959 | </para> | 971 | </para> |
960 | 972 | ||
961 | <para> | 973 | <para> |
962 | The left navigation pane in the Eclipse application shows the default projects. | 974 | The left navigation pane in the Eclipse application |
963 | Right-click on one of these projects and run it as an Eclipse application | 975 | shows the default projects. |
964 | to bring up a second instance of Eclipse IDE that has the Yocto Plug-in. | 976 | Right-click on one of these projects and run it as an |
977 | Eclipse application to bring up a second instance of | ||
978 | Eclipse IDE that has the Yocto Plug-in. | ||
965 | </para> | 979 | </para> |
966 | </section> | 980 | </section> |
967 | </section> | 981 | </section> |
@@ -970,20 +984,23 @@ | |||
970 | <title>Configuring the Eclipse Yocto Plug-in</title> | 984 | <title>Configuring the Eclipse Yocto Plug-in</title> |
971 | 985 | ||
972 | <para> | 986 | <para> |
973 | Configuring the Eclipse Yocto Plug-in involves setting the Cross | 987 | Configuring the Eclipse Yocto Plug-in involves setting the |
974 | Compiler options and the Target options. | 988 | Cross Compiler options and the Target options. |
975 | The configurations you choose become the default settings for all projects. | 989 | The configurations you choose become the default settings |
990 | for all projects. | ||
976 | You do have opportunities to change them later when | 991 | You do have opportunities to change them later when |
977 | you configure the project (see the following section). | 992 | you configure the project (see the following section). |
978 | </para> | 993 | </para> |
979 | 994 | ||
980 | <para> | 995 | <para> |
981 | To start, you need to do the following from within the Eclipse IDE: | 996 | To start, you need to do the following from within the |
997 | Eclipse IDE: | ||
982 | <itemizedlist> | 998 | <itemizedlist> |
983 | <listitem><para>Choose "Preferences" from the | 999 | <listitem><para>Choose "Preferences" from the |
984 | "Windows" menu to display | 1000 | "Windows" menu to display the Preferences Dialog. |
985 | the Preferences Dialog</para></listitem> | 1001 | </para></listitem> |
986 | <listitem><para>Click "Yocto Project ADT"</para></listitem> | 1002 | <listitem><para>Click "Yocto Project ADT". |
1003 | </para></listitem> | ||
987 | </itemizedlist> | 1004 | </itemizedlist> |
988 | </para> | 1005 | </para> |
989 | 1006 | ||
@@ -991,78 +1008,105 @@ | |||
991 | <title>Configuring the Cross-Compiler Options</title> | 1008 | <title>Configuring the Cross-Compiler Options</title> |
992 | 1009 | ||
993 | <para> | 1010 | <para> |
994 | To configure the Cross Compiler Options, you must select the type of toolchain, | 1011 | To configure the Cross Compiler Options, you must select |
995 | point to the toolchain, specify the sysroot location, and select the target architecture. | 1012 | the type of toolchain, point to the toolchain, specify |
1013 | the sysroot location, and select the target | ||
1014 | architecture. | ||
996 | <itemizedlist> | 1015 | <itemizedlist> |
997 | <listitem><para><emphasis>Selecting the Toolchain Type:</emphasis> | 1016 | <listitem><para><emphasis>Selecting the Toolchain Type:</emphasis> |
998 | Choose between <filename>Standalone pre-built toolchain</filename> | 1017 | Choose between |
999 | and <filename>Build system derived toolchain</filename> for Cross | 1018 | <filename>Standalone pre-built toolchain</filename> |
1000 | Compiler Options. | 1019 | and |
1020 | <filename>Build system derived toolchain</filename> | ||
1021 | for Cross Compiler Options. | ||
1001 | <itemizedlist> | 1022 | <itemizedlist> |
1002 | <listitem><para><emphasis> | 1023 | <listitem><para><emphasis> |
1003 | <filename>Standalone Pre-built Toolchain:</filename></emphasis> | 1024 | <filename>Standalone Pre-built Toolchain:</filename></emphasis> |
1004 | Select this mode when you are using a stand-alone cross-toolchain. | 1025 | Select this mode when you are using |
1005 | For example, suppose you are an application developer and do not | 1026 | a stand-alone cross-toolchain. |
1027 | For example, suppose you are an | ||
1028 | application developer and do not | ||
1006 | need to build a target image. | 1029 | need to build a target image. |
1007 | Instead, you just want to use an architecture-specific toolchain on an | 1030 | Instead, you just want to use an |
1008 | existing kernel and target root filesystem. | 1031 | architecture-specific toolchain on |
1009 | </para></listitem> | 1032 | an existing kernel and target root |
1033 | filesystem.</para></listitem> | ||
1010 | <listitem><para><emphasis> | 1034 | <listitem><para><emphasis> |
1011 | <filename>Build System Derived Toolchain:</filename></emphasis> | 1035 | <filename>Build System Derived Toolchain:</filename></emphasis> |
1012 | Select this mode if the cross-toolchain has been installed and built | 1036 | Select this mode if the |
1013 | as part of the | 1037 | cross-toolchain has been installed |
1038 | and built as part of the | ||
1014 | <link linkend='build-directory'>Build Directory</link>. | 1039 | <link linkend='build-directory'>Build Directory</link>. |
1015 | When you select <filename>Build system derived toolchain</filename>, | 1040 | When you select |
1041 | <filename>Build system derived toolchain</filename>, | ||
1016 | you are using the toolchain bundled | 1042 | you are using the toolchain bundled |
1017 | inside the Build Directory. | 1043 | inside the Build Directory. |
1018 | </para></listitem> | 1044 | </para></listitem> |
1019 | </itemizedlist> | 1045 | </itemizedlist> |
1020 | </para></listitem> | 1046 | </para></listitem> |
1021 | <listitem><para><emphasis>Point to the Toolchain:</emphasis> | 1047 | <listitem><para><emphasis>Point to the Toolchain:</emphasis> |
1022 | If you are using a stand-alone pre-built toolchain, you should be pointing to the | 1048 | If you are using a stand-alone pre-built |
1023 | where it is installed. | 1049 | toolchain, you should be pointing to where it is |
1024 | If you used the ADT Installer script and accepted the default | 1050 | installed. |
1025 | installation directory, the toolchain will be installed in | 1051 | If you used the ADT Installer script and |
1026 | the <filename>&YOCTO_ADTPATH_DIR;</filename> directory. | 1052 | accepted the default installation directory, the |
1027 | Sections "<ulink url='&YOCTO_DOCS_ADT_URL;#configuring-and-running-the-adt-installer-script'>Configuring | 1053 | toolchain will be installed in the |
1028 | and Running the ADT Installer Script</ulink>" and | 1054 | <filename>&YOCTO_ADTPATH_DIR;</filename> |
1055 | directory. | ||
1056 | Sections "<ulink url='&YOCTO_DOCS_ADT_URL;#configuring-and-running-the-adt-installer-script'>Configuring and Running the ADT Installer Script</ulink>" | ||
1057 | and | ||
1029 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" | 1058 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" |
1030 | in the Yocto Project Application Developer's Guide | 1059 | in the Yocto Project Application Developer's |
1031 | describe how to install a stand-alone cross-toolchain.</para> | 1060 | Guide describe how to install a stand-alone |
1032 | <para>If you are using a system-derived toolchain, the path you provide | 1061 | cross-toolchain.</para> |
1033 | for the <filename>Toolchain Root Location</filename> | 1062 | <para>If you are using a system-derived |
1034 | field is the <link linkend='build-directory'>Build Directory</link>. | 1063 | toolchain, the path you provide for the |
1035 | See the "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree'>Using | 1064 | <filename>Toolchain Root Location</filename> |
1036 | BitBake and the Build Directory</ulink>" section in the Yocto Project Application | 1065 | field is the |
1037 | Developer's Guide for information on how to install | 1066 | <link linkend='build-directory'>Build Directory</link>. |
1038 | the toolchain into the Build Directory.</para></listitem> | 1067 | See the |
1068 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-toolchain-from-within-the-build-tree'>Using BitBake and the Build Directory</ulink>" | ||
1069 | section in the Yocto Project Application | ||
1070 | Developer's Guide for information on how to | ||
1071 | install the toolchain into the Build | ||
1072 | Directory.</para></listitem> | ||
1039 | <listitem><para><emphasis>Specify the Sysroot Location:</emphasis> | 1073 | <listitem><para><emphasis>Specify the Sysroot Location:</emphasis> |
1040 | This location is where the root filesystem for the target hardware resides. | 1074 | This location is where the root filesystem for |
1041 | If you used the ADT Installer script and accepted the | 1075 | the target hardware resides. |
1042 | default installation directory, then the location is | 1076 | If you used the ADT Installer script and |
1077 | accepted the default installation directory, | ||
1078 | then the location is | ||
1043 | <filename>/opt/poky/<release></filename>. | 1079 | <filename>/opt/poky/<release></filename>. |
1044 | Additionally, when you use the ADT Installer script, | 1080 | Additionally, when you use the ADT Installer |
1045 | the same location is used for | 1081 | script, the same location is used for the QEMU |
1046 | the QEMU user-space tools and the NFS boot process.</para> | 1082 | user-space tools and the NFS boot process. |
1047 | <para>If you used either of the other two methods to | 1083 | </para> |
1048 | install the toolchain or did not accept the ADT Installer | 1084 | <para>If you used either of the other two |
1049 | script's default installation directory, then the | 1085 | methods to install the toolchain or did not |
1050 | location of the sysroot filesystem depends on where you separately | 1086 | accept the ADT Installer script's default |
1051 | extracted and installed the filesystem.</para> | 1087 | installation directory, then the location of |
1052 | <para>For information on how to install the toolchain and on how to extract | 1088 | the sysroot filesystem depends on where you |
1053 | and install the sysroot filesystem, see the | 1089 | separately extracted and installed the |
1090 | filesystem.</para> | ||
1091 | <para>For information on how to install the | ||
1092 | toolchain and on how to extract and install the | ||
1093 | sysroot filesystem, see the | ||
1054 | "<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>" section. | 1094 | "<ulink url='&YOCTO_DOCS_ADT_URL;#installing-the-adt'>Installing the ADT and Toolchains</ulink>" section. |
1055 | </para></listitem> | 1095 | </para></listitem> |
1056 | <listitem><para><emphasis>Select the Target Architecture:</emphasis> | 1096 | <listitem><para><emphasis>Select the Target Architecture:</emphasis> |
1057 | The target architecture is the type of hardware you are | 1097 | The target architecture is the type of hardware |
1058 | going to use or emulate. | 1098 | you are going to use or emulate. |
1059 | Use the pull-down <filename>Target Architecture</filename> menu to make | 1099 | Use the pull-down |
1060 | your selection. | 1100 | <filename>Target Architecture</filename> menu |
1061 | The pull-down menu should have the supported architectures. | 1101 | to make your selection. |
1062 | If the architecture you need is not listed in the menu, you | 1102 | The pull-down menu should have the supported |
1063 | will need to build the image. | 1103 | architectures. |
1064 | See the "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" section | 1104 | If the architecture you need is not listed in |
1065 | of the Yocto Project Quick Start for more information.</para></listitem> | 1105 | the menu, you will need to build the image. |
1106 | See the | ||
1107 | "<ulink url='&YOCTO_DOCS_QS_URL;#building-image'>Building an Image</ulink>" | ||
1108 | section of the Yocto Project Quick Start for | ||
1109 | more information.</para></listitem> | ||
1066 | </itemizedlist> | 1110 | </itemizedlist> |
1067 | </para> | 1111 | </para> |
1068 | </section> | 1112 | </section> |
@@ -1071,38 +1115,53 @@ | |||
1071 | <title>Configuring the Target Options</title> | 1115 | <title>Configuring the Target Options</title> |
1072 | 1116 | ||
1073 | <para> | 1117 | <para> |
1074 | You can choose to emulate hardware using the QEMU emulator, or you | 1118 | You can choose to emulate hardware using the QEMU |
1075 | can choose to run your image on actual hardware. | 1119 | emulator, or you can choose to run your image on actual |
1120 | hardware. | ||
1076 | <itemizedlist> | 1121 | <itemizedlist> |
1077 | <listitem><para><emphasis><filename>QEMU:</filename></emphasis> Select this option if | 1122 | <listitem><para><emphasis><filename>QEMU:</filename></emphasis> |
1078 | you will be using the QEMU emulator. | 1123 | Select this option if you will be using the |
1079 | If you are using the emulator, you also need to locate the kernel | 1124 | QEMU emulator. |
1080 | and specify any custom options.</para> | 1125 | If you are using the emulator, you also need to |
1081 | <para>If you selected <filename>Build system derived toolchain</filename>, | 1126 | locate the kernel and specify any custom |
1082 | the target kernel you built will be located in the | 1127 | options.</para> |
1083 | Build Directory in <filename>tmp/deploy/images</filename> directory. | 1128 | <para>If you selected |
1084 | If you selected <filename>Standalone pre-built toolchain</filename>, the | 1129 | <filename>Build system derived toolchain</filename>, |
1085 | pre-built image you downloaded is located | 1130 | the target kernel you built will be located in |
1086 | in the directory you specified when you downloaded the image.</para> | 1131 | the Build Directory in |
1087 | <para>Most custom options are for advanced QEMU users to further | 1132 | <filename>tmp/deploy/images</filename> |
1088 | customize their QEMU instance. | 1133 | directory. |
1089 | These options are specified between paired angled brackets. | 1134 | If you selected |
1090 | Some options must be specified outside the brackets. | 1135 | <filename>Standalone pre-built toolchain</filename>, |
1091 | In particular, the options <filename>serial</filename>, | 1136 | the pre-built image you downloaded is located |
1092 | <filename>nographic</filename>, and <filename>kvm</filename> must all | 1137 | in the directory you specified when you |
1093 | be outside the brackets. | 1138 | downloaded the image.</para> |
1094 | Use the <filename>man qemu</filename> command to get help on all the options | 1139 | <para>Most custom options are for advanced QEMU |
1095 | and their use. | 1140 | users to further customize their QEMU instance. |
1141 | These options are specified between paired | ||
1142 | angled brackets. | ||
1143 | Some options must be specified outside the | ||
1144 | brackets. | ||
1145 | In particular, the options | ||
1146 | <filename>serial</filename>, | ||
1147 | <filename>nographic</filename>, and | ||
1148 | <filename>kvm</filename> must all be outside the | ||
1149 | brackets. | ||
1150 | Use the <filename>man qemu</filename> command | ||
1151 | to get help on all the options and their use. | ||
1096 | The following is an example: | 1152 | The following is an example: |
1097 | <literallayout class='monospaced'> | 1153 | <literallayout class='monospaced'> |
1098 | serial ‘<-m 256 -full-screen>’ | 1154 | serial ‘<-m 256 -full-screen>’ |
1099 | </literallayout></para> | 1155 | </literallayout></para> |
1100 | <para> | 1156 | <para> |
1101 | Regardless of the mode, Sysroot is already defined as part of the | 1157 | Regardless of the mode, Sysroot is already |
1102 | Cross-Compiler Options configuration in the | 1158 | defined as part of the Cross-Compiler Options |
1103 | <filename>Sysroot Location:</filename> field.</para></listitem> | 1159 | configuration in the |
1104 | <listitem><para><emphasis><filename>External HW:</filename></emphasis> Select this option | 1160 | <filename>Sysroot Location:</filename> field. |
1105 | if you will be using actual hardware.</para></listitem> | 1161 | </para></listitem> |
1162 | <listitem><para><emphasis><filename>External HW:</filename></emphasis> | ||
1163 | Select this option if you will be using actual | ||
1164 | hardware.</para></listitem> | ||
1106 | </itemizedlist> | 1165 | </itemizedlist> |
1107 | </para> | 1166 | </para> |
1108 | 1167 | ||
@@ -1117,36 +1176,50 @@ | |||
1117 | <title>Creating the Project</title> | 1176 | <title>Creating the Project</title> |
1118 | 1177 | ||
1119 | <para> | 1178 | <para> |
1120 | You can create two types of projects: Autotools-based, or Makefile-based. | 1179 | You can create two types of projects: Autotools-based, or |
1121 | This section describes how to create Autotools-based projects from within | 1180 | Makefile-based. |
1122 | the Eclipse IDE. | 1181 | This section describes how to create Autotools-based projects |
1123 | For information on creating Makefile-based projects in a terminal window, see the section | 1182 | from within the Eclipse IDE. |
1183 | For information on creating Makefile-based projects in a | ||
1184 | terminal window, see the section | ||
1124 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-command-line'>Using the Command Line</ulink>" | 1185 | "<ulink url='&YOCTO_DOCS_ADT_URL;#using-the-command-line'>Using the Command Line</ulink>" |
1125 | in the Yocto Project Application Developer's Guide. | 1186 | in the Yocto Project Application Developer's Guide. |
1126 | </para> | 1187 | </para> |
1127 | 1188 | ||
1128 | <para> | 1189 | <para> |
1129 | To create a project based on a Yocto template and then display the source code, | 1190 | To create a project based on a Yocto template and then display |
1130 | follow these steps: | 1191 | the source code, follow these steps: |
1131 | <orderedlist> | 1192 | <orderedlist> |
1132 | <listitem><para>Select "Project" from the "File -> New" menu.</para></listitem> | 1193 | <listitem><para>Select "Project" from the "File -> New" menu. |
1133 | <listitem><para>Double click <filename>CC++</filename>.</para></listitem> | 1194 | </para></listitem> |
1134 | <listitem><para>Double click <filename>C Project</filename> to create the project.</para></listitem> | 1195 | <listitem><para>Double click <filename>CC++</filename>. |
1135 | <listitem><para>Expand <filename>Yocto Project ADT Project</filename>.</para></listitem> | 1196 | </para></listitem> |
1197 | <listitem><para>Double click <filename>C Project</filename> | ||
1198 | to create the project.</para></listitem> | ||
1199 | <listitem><para>Expand <filename>Yocto Project ADT Project</filename>. | ||
1200 | </para></listitem> | ||
1136 | <listitem><para>Select <filename>Hello World ANSI C Autotools Project</filename>. | 1201 | <listitem><para>Select <filename>Hello World ANSI C Autotools Project</filename>. |
1137 | This is an Autotools-based project based on a Yocto template.</para></listitem> | 1202 | This is an Autotools-based project based on a Yocto |
1138 | <listitem><para>Put a name in the <filename>Project name:</filename> field. | 1203 | template.</para></listitem> |
1139 | Do not use hyphens as part of the name.</para></listitem> | 1204 | <listitem><para>Put a name in the <filename>Project name:</filename> |
1205 | field. | ||
1206 | Do not use hyphens as part of the name. | ||
1207 | </para></listitem> | ||
1140 | <listitem><para>Click "Next".</para></listitem> | 1208 | <listitem><para>Click "Next".</para></listitem> |
1141 | <listitem><para>Add information in the <filename>Author</filename> and | 1209 | <listitem><para>Add information in the |
1142 | <filename>Copyright notice</filename> fields.</para></listitem> | 1210 | <filename>Author</filename> and |
1143 | <listitem><para>Be sure the <filename>License</filename> field is correct.</para></listitem> | 1211 | <filename>Copyright notice</filename> fields. |
1212 | </para></listitem> | ||
1213 | <listitem><para>Be sure the <filename>License</filename> | ||
1214 | field is correct.</para></listitem> | ||
1144 | <listitem><para>Click "Finish".</para></listitem> | 1215 | <listitem><para>Click "Finish".</para></listitem> |
1145 | <listitem><para>If the "open perspective" prompt appears, click "Yes" so that you | 1216 | <listitem><para>If the "open perspective" prompt appears, |
1146 | in the C/C++ perspective.</para></listitem> | 1217 | click "Yes" so that you in the C/C++ perspective. |
1147 | <listitem><para>The left-hand navigation pane shows your project. | ||
1148 | You can display your source by double clicking the project's source file. | ||
1149 | </para></listitem> | 1218 | </para></listitem> |
1219 | <listitem><para>The left-hand navigation pane shows your | ||
1220 | project. | ||
1221 | You can display your source by double clicking the | ||
1222 | project's source file.</para></listitem> | ||
1150 | </orderedlist> | 1223 | </orderedlist> |
1151 | </para> | 1224 | </para> |
1152 | </section> | 1225 | </section> |
@@ -1155,38 +1228,47 @@ | |||
1155 | <title>Configuring the Cross-Toolchains</title> | 1228 | <title>Configuring the Cross-Toolchains</title> |
1156 | 1229 | ||
1157 | <para> | 1230 | <para> |
1158 | The earlier section, "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring | 1231 | The earlier section, |
1159 | the Eclipse Yocto Plug-in</link>", sets up the default project | 1232 | "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>", |
1160 | configurations. | 1233 | sets up the default project configurations. |
1161 | You can override these settings for a given project by following these steps: | 1234 | You can override these settings for a given project by following |
1235 | these steps: | ||
1162 | <orderedlist> | 1236 | <orderedlist> |
1163 | <listitem><para>Select "Change Yocto Project Settings" from the | 1237 | <listitem><para>Select "Change Yocto Project Settings" from |
1164 | "Project" menu. | 1238 | the "Project" menu. |
1165 | This selection brings up the Yocto Project Settings Dialog | 1239 | This selection brings up the Yocto Project Settings |
1166 | and allows you to make changes specific to an individual project. | 1240 | Dialog and allows you to make changes specific to an |
1167 | </para> | 1241 | individual project.</para> |
1168 | <para>By default, the Cross Compiler Options and Target Options for a project | 1242 | <para>By default, the Cross Compiler Options and Target |
1169 | are inherited from settings you provide using the Preferences | 1243 | Options for a project are inherited from settings you |
1170 | Dialog as described earlier | 1244 | provide using the Preferences Dialog as described |
1171 | in the "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse | 1245 | earlier in the |
1172 | Yocto Plug-in</link>" section. | 1246 | "<link linkend='configuring-the-eclipse-yocto-plug-in'>Configuring the Eclipse Yocto Plug-in</link>" section. |
1173 | The Yocto Project Settings Dialog allows you to override | 1247 | The Yocto Project Settings Dialog allows you to override |
1174 | those default settings for a given project.</para></listitem> | 1248 | those default settings for a given project. |
1175 | <listitem><para>Make your configurations for the project and click "OK". | 1249 | </para></listitem> |
1176 | If you are running the Juno version of Eclipse, you can skip down to the next | 1250 | <listitem><para>Make your configurations for the project |
1177 | section where you build the project. | 1251 | and click "OK". |
1178 | If you are not working with Juno, you need to reconfigure the project as | 1252 | If you are running the Juno version of Eclipse, you can |
1179 | described in the next step.</para></listitem> | 1253 | skip down to the next section where you build the |
1180 | <listitem><para>Select "Reconfigure Project" from the | 1254 | project. |
1255 | If you are not working with Juno, you need to reconfigure the | ||
1256 | project as described in the next step. | ||
1257 | </para></listitem> | ||
1258 | <listitem><para>Select "Reconfigure Project" from the | ||
1181 | "Project" menu. | 1259 | "Project" menu. |
1182 | This selection reconfigures the project by running | 1260 | This selection reconfigures the project by running |
1183 | <filename>autogen.sh</filename> in the workspace for your project. | 1261 | <filename>autogen.sh</filename> in the workspace for |
1184 | The script also runs <filename>libtoolize</filename>, <filename>aclocal</filename>, | 1262 | your project. |
1185 | <filename>autoconf</filename>, <filename>autoheader</filename>, | 1263 | The script also runs <filename>libtoolize</filename>, |
1264 | <filename>aclocal</filename>, | ||
1265 | <filename>autoconf</filename>, | ||
1266 | <filename>autoheader</filename>, | ||
1186 | <filename>automake --a</filename>, and | 1267 | <filename>automake --a</filename>, and |
1187 | <filename>./configure</filename>. | 1268 | <filename>./configure</filename>. |
1188 | Click on the "Console" tab beneath your source code to | 1269 | Click on the "Console" tab beneath your source code to |
1189 | see the results of reconfiguring your project.</para></listitem> | 1270 | see the results of reconfiguring your project. |
1271 | </para></listitem> | ||
1190 | </orderedlist> | 1272 | </orderedlist> |
1191 | </para> | 1273 | </para> |
1192 | </section> | 1274 | </section> |
@@ -1195,11 +1277,12 @@ | |||
1195 | <title>Building the Project</title> | 1277 | <title>Building the Project</title> |
1196 | 1278 | ||
1197 | <para> | 1279 | <para> |
1198 | To build the project in Juno, right click on the project in the navigator pane and select | 1280 | To build the project in Juno, right click on the project in |
1199 | "Build Project". | 1281 | the navigator pane and select "Build Project". |
1200 | If you are not running Juno, select "Build Project" from the | 1282 | If you are not running Juno, select "Build Project" from the |
1201 | "Project" menu. | 1283 | "Project" menu. |
1202 | The console should update and you can note the cross-compiler you are using. | 1284 | The console should update and you can note the cross-compiler |
1285 | you are using. | ||
1203 | </para> | 1286 | </para> |
1204 | </section> | 1287 | </section> |
1205 | 1288 | ||
@@ -1207,23 +1290,26 @@ | |||
1207 | <title>Starting QEMU in User-Space NFS Mode</title> | 1290 | <title>Starting QEMU in User-Space NFS Mode</title> |
1208 | 1291 | ||
1209 | <para> | 1292 | <para> |
1210 | To start the QEMU emulator from within Eclipse, follow these steps: | 1293 | To start the QEMU emulator from within Eclipse, follow these |
1294 | steps: | ||
1211 | <orderedlist> | 1295 | <orderedlist> |
1212 | <listitem><para>Expose and select "External Tools" from | 1296 | <listitem><para>Expose and select "External Tools" from |
1213 | the "Run" menu. | 1297 | the "Run" menu. |
1214 | Your image should appear as a selectable menu item. | 1298 | Your image should appear as a selectable menu item. |
1215 | </para></listitem> | 1299 | </para></listitem> |
1216 | <listitem><para>Select your image from the menu to launch the | 1300 | <listitem><para>Select your image from the menu to launch |
1217 | emulator in a new window.</para></listitem> | 1301 | the emulator in a new window.</para></listitem> |
1218 | <listitem><para>If needed, enter your host root password in the shell window at the prompt. | 1302 | <listitem><para>If needed, enter your host root password in |
1219 | This sets up a <filename>Tap 0</filename> connection needed for running in user-space | 1303 | the shell window at the prompt. |
1220 | NFS mode.</para></listitem> | 1304 | This sets up a <filename>Tap 0</filename> connection |
1305 | needed for running in user-space NFS mode. | ||
1306 | </para></listitem> | ||
1221 | <listitem><para>Wait for QEMU to launch.</para></listitem> | 1307 | <listitem><para>Wait for QEMU to launch.</para></listitem> |
1222 | <listitem><para>Once QEMU launches, you can begin operating within that | 1308 | <listitem><para>Once QEMU launches, you can begin operating |
1223 | environment. | 1309 | within that environment. |
1224 | For example, you could determine the IP Address | 1310 | For example, you could determine the IP Address |
1225 | for the user-space NFS by using the <filename>ifconfig</filename> command. | 1311 | for the user-space NFS by using the |
1226 | </para></listitem> | 1312 | <filename>ifconfig</filename> command.</para></listitem> |
1227 | </orderedlist> | 1313 | </orderedlist> |
1228 | </para> | 1314 | </para> |
1229 | </section> | 1315 | </section> |
@@ -1232,38 +1318,45 @@ | |||
1232 | <title>Deploying and Debugging the Application</title> | 1318 | <title>Deploying and Debugging the Application</title> |
1233 | 1319 | ||
1234 | <para> | 1320 | <para> |
1235 | Once the QEMU emulator is running the image, you can deploy | 1321 | Once the QEMU emulator is running the image, you can deploy |
1236 | your application using the Eclipse IDE and use then use | 1322 | your application using the Eclipse IDE and use then use |
1237 | the emulator to perform debugging. | 1323 | the emulator to perform debugging. |
1238 | Follow these steps to deploy the application. | 1324 | Follow these steps to deploy the application. |
1239 | <orderedlist> | 1325 | <orderedlist> |
1240 | <listitem><para>Select "Debug Configurations..." from the | 1326 | <listitem><para>Select "Debug Configurations..." from the |
1241 | "Run" menu.</para></listitem> | 1327 | "Run" menu.</para></listitem> |
1242 | <listitem><para>In the left area, expand <filename>C/C++Remote Application</filename>.</para></listitem> | 1328 | <listitem><para>In the left area, expand |
1243 | <listitem><para>Locate your project and select it to bring up a new | 1329 | <filename>C/C++Remote Application</filename>. |
1244 | tabbed view in the Debug Configurations Dialog.</para></listitem> | 1330 | </para></listitem> |
1245 | <listitem><para>Enter the absolute path into which you want to deploy | 1331 | <listitem><para>Locate your project and select it to bring |
1246 | the application. | 1332 | up a new tabbed view in the Debug Configurations Dialog. |
1247 | Use the "Remote Absolute File Path for C/C++Application:" field. | 1333 | </para></listitem> |
1248 | For example, enter <filename>/usr/bin/<programname></filename>.</para></listitem> | 1334 | <listitem><para>Enter the absolute path into which you want |
1249 | <listitem><para>Click on the "Debugger" tab to see the cross-tool debugger | 1335 | to deploy the application. |
1250 | you are using.</para></listitem> | 1336 | Use the "Remote Absolute File Path for |
1337 | C/C++Application:" field. | ||
1338 | For example, enter | ||
1339 | <filename>/usr/bin/<programname></filename>. | ||
1340 | </para></listitem> | ||
1341 | <listitem><para>Click on the "Debugger" tab to see the | ||
1342 | cross-tool debugger you are using.</para></listitem> | ||
1251 | <listitem><para>Click on the "Main" tab.</para></listitem> | 1343 | <listitem><para>Click on the "Main" tab.</para></listitem> |
1252 | <listitem><para>Create a new connection to the QEMU instance | 1344 | <listitem><para>Create a new connection to the QEMU instance |
1253 | by clicking on "new".</para></listitem> | 1345 | by clicking on "new".</para></listitem> |
1254 | <listitem><para>Select <filename>TCF</filename>, which means Target Communication | 1346 | <listitem><para>Select <filename>TCF</filename>, which means |
1255 | Framework.</para></listitem> | 1347 | Target Communication Framework.</para></listitem> |
1256 | <listitem><para>Click "Next".</para></listitem> | 1348 | <listitem><para>Click "Next".</para></listitem> |
1257 | <listitem><para>Clear out the "host name" field and enter the IP Address | 1349 | <listitem><para>Clear out the "host name" field and enter |
1258 | determined earlier.</para></listitem> | 1350 | the IP Address determined earlier.</para></listitem> |
1259 | <listitem><para>Click "Finish" to close the | 1351 | <listitem><para>Click "Finish" to close the |
1260 | New Connections Dialog.</para></listitem> | 1352 | New Connections Dialog.</para></listitem> |
1261 | <listitem><para>Use the drop-down menu now in the | 1353 | <listitem><para>Use the drop-down menu now in the |
1262 | "Connection" field and pick the IP Address you entered. | 1354 | "Connection" field and pick the IP Address you entered. |
1263 | </para></listitem> | 1355 | </para></listitem> |
1264 | <listitem><para>Click "Run" to bring up a login screen | 1356 | <listitem><para>Click "Run" to bring up a login screen |
1265 | and login.</para></listitem> | 1357 | and login.</para></listitem> |
1266 | <listitem><para>Accept the debug perspective.</para></listitem> | 1358 | <listitem><para>Accept the debug perspective. |
1359 | </para></listitem> | ||
1267 | </orderedlist> | 1360 | </orderedlist> |
1268 | </para> | 1361 | </para> |
1269 | </section> | 1362 | </section> |
@@ -1272,107 +1365,135 @@ | |||
1272 | <title>Running User-Space Tools</title> | 1365 | <title>Running User-Space Tools</title> |
1273 | 1366 | ||
1274 | <para> | 1367 | <para> |
1275 | As mentioned earlier in the manual, several tools exist that enhance | 1368 | As mentioned earlier in the manual, several tools exist that |
1276 | your development experience. | 1369 | enhance your development experience. |
1277 | These tools are aids in developing and debugging applications and images. | 1370 | These tools are aids in developing and debugging applications |
1278 | You can run these user-space tools from within the Eclipse IDE through the | 1371 | and images. |
1279 | "YoctoTools" menu. | 1372 | You can run these user-space tools from within the Eclipse |
1373 | IDE through the "YoctoTools" menu. | ||
1280 | </para> | 1374 | </para> |
1281 | 1375 | ||
1282 | <para> | 1376 | <para> |
1283 | Once you pick a tool, you need to configure it for the remote target. | 1377 | Once you pick a tool, you need to configure it for the remote |
1378 | target. | ||
1284 | Every tool needs to have the connection configured. | 1379 | Every tool needs to have the connection configured. |
1285 | You must select an existing TCF-based RSE connection to the remote target. | 1380 | You must select an existing TCF-based RSE connection to the |
1381 | remote target. | ||
1286 | If one does not exist, click "New" to create one. | 1382 | If one does not exist, click "New" to create one. |
1287 | </para> | 1383 | </para> |
1288 | 1384 | ||
1289 | <para> | 1385 | <para> |
1290 | Here are some specifics about the remote tools: | 1386 | Here are some specifics about the remote tools: |
1291 | <itemizedlist> | 1387 | <itemizedlist> |
1292 | <listitem><para><emphasis><filename>OProfile</filename>:</emphasis> Selecting this tool causes | 1388 | <listitem><para><emphasis><filename>OProfile</filename>:</emphasis> |
1293 | the <filename>oprofile-server</filename> on the remote target to launch on | 1389 | Selecting this tool causes the |
1294 | the local host machine. | 1390 | <filename>oprofile-server</filename> on the remote |
1295 | The <filename>oprofile-viewer</filename> must be installed on the local host machine and the | 1391 | target to launch on the local host machine. |
1296 | <filename>oprofile-server</filename> must be installed on the remote target, | 1392 | The <filename>oprofile-viewer</filename> must be |
1297 | respectively, in order to use. | 1393 | installed on the local host machine and the |
1298 | You must compile and install the <filename>oprofile-viewer</filename> from the source code | 1394 | <filename>oprofile-server</filename> must be installed |
1299 | on your local host machine. | 1395 | on the remote target, respectively, in order to use. |
1300 | Furthermore, in order to convert the target's sample format data into a form that the | 1396 | You must compile and install the |
1301 | host can use, you must have OProfile version 0.9.4 or | 1397 | <filename>oprofile-viewer</filename> from the source |
1302 | greater installed on the host.</para> | 1398 | code on your local host machine. |
1399 | Furthermore, in order to convert the target's sample | ||
1400 | format data into a form that the host can use, you must | ||
1401 | have OProfile version 0.9.4 or greater installed on the | ||
1402 | host.</para> | ||
1303 | <para>You can locate both the viewer and server from | 1403 | <para>You can locate both the viewer and server from |
1304 | <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/oprofileui/'></ulink>. | 1404 | <ulink url='&YOCTO_GIT_URL;/cgit/cgit.cgi/oprofileui/'></ulink>. |
1305 | You can also find more information on setting up and | 1405 | You can also find more information on setting up and |
1306 | using this tool in the | 1406 | using this tool in the |
1307 | "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-oprofile'>OProfile</ulink>" | 1407 | "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-oprofile'>OProfile</ulink>" |
1308 | section of the Yocto Project Profiling and Tracing Manual. | 1408 | section of the Yocto Project Profiling and Tracing |
1309 | <note>The <filename>oprofile-server</filename> is installed by default on | 1409 | Manual. |
1310 | the <filename>core-image-sato-sdk</filename> image.</note></para></listitem> | 1410 | <note>The <filename>oprofile-server</filename> is |
1411 | installed by default on the | ||
1412 | <filename>core-image-sato-sdk</filename> image.</note> | ||
1413 | </para></listitem> | ||
1311 | <listitem><para><emphasis><filename>Lttng2.0 ust trace import</filename>:</emphasis> | 1414 | <listitem><para><emphasis><filename>Lttng2.0 ust trace import</filename>:</emphasis> |
1312 | Selecting this tool transfers the remote target's | 1415 | Selecting this tool transfers the remote target's |
1313 | <filename>Lttng</filename> tracing data back to the local host machine | 1416 | <filename>Lttng</filename> tracing data back to the |
1314 | and uses the Lttng Eclipse plug-in to graphically | 1417 | local host machine and uses the Lttng Eclipse plug-in |
1315 | display the output. | 1418 | to graphically display the output. |
1316 | For information on how to use Lttng to trace an application, | 1419 | For information on how to use Lttng to trace an |
1420 | application, | ||
1317 | see <ulink url='http://lttng.org/documentation'></ulink> | 1421 | see <ulink url='http://lttng.org/documentation'></ulink> |
1318 | and the | 1422 | and the |
1319 | "<ulink url='&YOCTO_DOCS_PROF_URL;#lttng-linux-trace-toolkit-next-generation'>LTTng (Linux Trace Toolkit, next generation)</ulink>" | 1423 | "<ulink url='&YOCTO_DOCS_PROF_URL;#lttng-linux-trace-toolkit-next-generation'>LTTng (Linux Trace Toolkit, next generation)</ulink>" |
1320 | section, which is in the Yocto Project Profiling and Tracing Manual. | 1424 | section, which is in the Yocto Project Profiling and |
1321 | <note>Do not use <filename>Lttng-user space (legacy)</filename> tool. | 1425 | Tracing Manual. |
1426 | <note>Do not use | ||
1427 | <filename>Lttng-user space (legacy)</filename> tool. | ||
1322 | This tool no longer has any upstream support.</note> | 1428 | This tool no longer has any upstream support.</note> |
1323 | </para> | 1429 | </para> |
1324 | <para>Before you use the <filename>Lttng2.0 ust trace import</filename> tool, | 1430 | <para>Before you use the |
1431 | <filename>Lttng2.0 ust trace import</filename> tool, | ||
1325 | you need to setup the Lttng Eclipse plug-in and create a | 1432 | you need to setup the Lttng Eclipse plug-in and create a |
1326 | Tracing project. | 1433 | Tracing project. |
1327 | Do the following: | 1434 | Do the following: |
1328 | <orderedlist> | 1435 | <orderedlist> |
1329 | <listitem><para>Select "Open Perspective" from the | 1436 | <listitem><para>Select "Open Perspective" from the |
1330 | "Window" menu and then select "Tracing".</para></listitem> | 1437 | "Window" menu and then select "Tracing". |
1331 | <listitem><para>Click "OK" to change the Eclipse perspective | 1438 | </para></listitem> |
1332 | into the Tracing perspective.</para></listitem> | 1439 | <listitem><para>Click "OK" to change the Eclipse |
1333 | <listitem><para>Create a new Tracing project by selecting | 1440 | perspective into the Tracing perspective. |
1334 | "Project" from the "File -> New" menu.</para></listitem> | ||
1335 | <listitem><para>Choose "Tracing Project" from the | ||
1336 | "Tracing" menu. | ||
1337 | </para></listitem> | 1441 | </para></listitem> |
1338 | <listitem><para>Generate your tracing data on the remote target. | 1442 | <listitem><para>Create a new Tracing project by |
1443 | selecting "Project" from the "File -> New" menu. | ||
1339 | </para></listitem> | 1444 | </para></listitem> |
1340 | <listitem><para>Select "Lttng2.0 ust trace import" from | 1445 | <listitem><para>Choose "Tracing Project" from the |
1341 | the "Yocto Project Tools" menu to | 1446 | "Tracing" menu. |
1447 | </para></listitem> | ||
1448 | <listitem><para>Generate your tracing data on the | ||
1449 | remote target.</para></listitem> | ||
1450 | <listitem><para>Select "Lttng2.0 ust trace import" | ||
1451 | from the "Yocto Project Tools" menu to | ||
1342 | start the data import process.</para></listitem> | 1452 | start the data import process.</para></listitem> |
1343 | <listitem><para>Specify your remote connection name.</para></listitem> | 1453 | <listitem><para>Specify your remote connection name. |
1344 | <listitem><para>For the Ust directory path, specify the location of | 1454 | </para></listitem> |
1345 | your remote tracing data. | 1455 | <listitem><para>For the Ust directory path, specify |
1346 | Make sure the location ends with <filename>ust</filename> (e.g. | 1456 | the location of your remote tracing data. |
1347 | <filename>/usr/mysession/ust</filename>).</para></listitem> | 1457 | Make sure the location ends with |
1348 | <listitem><para>Click "OK" to complete the import process. | 1458 | <filename>ust</filename> (e.g. |
1349 | The data is now in the local tracing project you created.</para></listitem> | 1459 | <filename>/usr/mysession/ust</filename>). |
1350 | <listitem><para>Right click on the data and then use the menu to | 1460 | </para></listitem> |
1351 | Select "Generic CTF Trace" from the | 1461 | <listitem><para>Click "OK" to complete the import |
1352 | "Trace Type... -> Common Trace Format" menu to map | 1462 | process. |
1353 | the tracing type.</para></listitem> | 1463 | The data is now in the local tracing project |
1354 | <listitem><para>Right click the mouse and select "Open" | 1464 | you created.</para></listitem> |
1355 | to bring up the Eclipse Lttng Trace Viewer so you | 1465 | <listitem><para>Right click on the data and then use |
1356 | view the tracing data.</para></listitem> | 1466 | the menu to Select "Generic CTF Trace" from the |
1467 | "Trace Type... -> Common Trace Format" menu to | ||
1468 | map the tracing type.</para></listitem> | ||
1469 | <listitem><para>Right click the mouse and select | ||
1470 | "Open" to bring up the Eclipse Lttng Trace | ||
1471 | Viewer so you view the tracing data. | ||
1472 | </para></listitem> | ||
1357 | </orderedlist></para></listitem> | 1473 | </orderedlist></para></listitem> |
1358 | <listitem><para><emphasis><filename>PowerTOP</filename>:</emphasis> Selecting this tool runs | 1474 | <listitem><para><emphasis><filename>PowerTOP</filename>:</emphasis> |
1359 | PowerTOP on the remote target machine and displays the results in a | 1475 | Selecting this tool runs PowerTOP on the remote target |
1360 | new view called PowerTOP.</para> | 1476 | machine and displays the results in a new view called |
1361 | <para>The "Time to gather data(sec):" field is the time passed in seconds before data | 1477 | PowerTOP.</para> |
1362 | is gathered from the remote target for analysis.</para> | 1478 | <para>The "Time to gather data(sec):" field is the time |
1363 | <para>The "show pids in wakeups list:" field corresponds to the | 1479 | passed in seconds before data is gathered from the |
1364 | <filename>-p</filename> argument | 1480 | remote target for analysis.</para> |
1365 | passed to <filename>PowerTOP</filename>.</para></listitem> | 1481 | <para>The "show pids in wakeups list:" field corresponds |
1482 | to the <filename>-p</filename> argument passed to | ||
1483 | <filename>PowerTOP</filename>.</para></listitem> | ||
1366 | <listitem><para><emphasis><filename>LatencyTOP and Perf</filename>:</emphasis> | 1484 | <listitem><para><emphasis><filename>LatencyTOP and Perf</filename>:</emphasis> |
1367 | LatencyTOP identifies system latency, while | 1485 | LatencyTOP identifies system latency, while |
1368 | Perf monitors the system's performance counter registers. | 1486 | Perf monitors the system's performance counter |
1369 | Selecting either of these tools causes an RSE terminal view to appear | 1487 | registers. |
1370 | from which you can run the tools. | 1488 | Selecting either of these tools causes an RSE terminal |
1371 | Both tools refresh the entire screen to display results while they run. | 1489 | view to appear from which you can run the tools. |
1372 | For more information on setting up and using <filename>perf</filename>, | 1490 | Both tools refresh the entire screen to display results |
1373 | see the | 1491 | while they run. |
1492 | For more information on setting up and using | ||
1493 | <filename>perf</filename>, see the | ||
1374 | "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-perf'>perf</ulink>" | 1494 | "<ulink url='&YOCTO_DOCS_PROF_URL;#profile-manual-perf'>perf</ulink>" |
1375 | section in the Yocto Project Profiling and Tracing Manual. | 1495 | section in the Yocto Project Profiling and Tracing |
1496 | Manual. | ||
1376 | For information on LatencyTOP, see the | 1497 | For information on LatencyTOP, see the |
1377 | <ulink url='https://latencytop.org/'>LatencyTOP</ulink> | 1498 | <ulink url='https://latencytop.org/'>LatencyTOP</ulink> |
1378 | website. | 1499 | website. |
@@ -1385,37 +1506,43 @@ | |||
1385 | <title>Customizing an Image Using a BitBake Commander Project and Hob</title> | 1506 | <title>Customizing an Image Using a BitBake Commander Project and Hob</title> |
1386 | 1507 | ||
1387 | <para> | 1508 | <para> |
1388 | Within the Eclipse IDE, you can create a Yocto BitBake Commander project, | 1509 | Within the Eclipse IDE, you can create a Yocto BitBake Commander |
1389 | edit the <link linkend='metadata'>Metadata</link>, and then use | 1510 | project, edit the <link linkend='metadata'>Metadata</link>, and |
1390 | <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob</ulink> to build a customized | 1511 | then use |
1391 | image all within one IDE. | 1512 | <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob</ulink> to build a customized image all within one IDE. |
1392 | </para> | 1513 | </para> |
1393 | 1514 | ||
1394 | <section id='creating-the-yocto-bitbake-commander-project'> | 1515 | <section id='creating-the-yocto-bitbake-commander-project'> |
1395 | <title>Creating the Yocto BitBake Commander Project</title> | 1516 | <title>Creating the Yocto BitBake Commander Project</title> |
1396 | 1517 | ||
1397 | <para> | 1518 | <para> |
1398 | To create a Yocto BitBake Commander project, follow these steps: | 1519 | To create a Yocto BitBake Commander project, follow these |
1520 | steps: | ||
1399 | <orderedlist> | 1521 | <orderedlist> |
1400 | <listitem><para>Select "Other" from the | 1522 | <listitem><para>Select "Other" from the |
1401 | "Window -> Open Perspective" menu | 1523 | "Window -> Open Perspective" menu |
1402 | and then choose "Bitbake Commander".</para></listitem> | 1524 | and then choose "Bitbake Commander". |
1525 | </para></listitem> | ||
1403 | <listitem><para>Click "OK" to change the perspective to | 1526 | <listitem><para>Click "OK" to change the perspective to |
1404 | Bitbake Commander.</para></listitem> | 1527 | Bitbake Commander.</para></listitem> |
1405 | <listitem><para>Select "Project" from the "File -> New" | 1528 | <listitem><para>Select "Project" from the "File -> New" |
1406 | menu to create a new Yocto | 1529 | menu to create a new Yocto |
1407 | Bitbake Commander project.</para></listitem> | 1530 | Bitbake Commander project.</para></listitem> |
1408 | <listitem><para>Choose "New Yocto Project" from the | 1531 | <listitem><para>Choose "New Yocto Project" from the |
1409 | "Yocto Project Bitbake Commander" menu and click | 1532 | "Yocto Project Bitbake Commander" menu and click |
1410 | "Next".</para></listitem> | 1533 | "Next".</para></listitem> |
1411 | <listitem><para>Enter the Project Name and choose the Project Location. | 1534 | <listitem><para>Enter the Project Name and choose the |
1412 | The Yocto project's Metadata files will be put under the directory | 1535 | Project Location. |
1536 | The Yocto project's Metadata files will be put under | ||
1537 | the directory | ||
1413 | <filename><project_location>/<project_name></filename>. | 1538 | <filename><project_location>/<project_name></filename>. |
1414 | If that directory does not exist, you need to check | 1539 | If that directory does not exist, you need to check |
1415 | the "Clone from Yocto Git Repository" box, which would execute a | 1540 | the "Clone from Yocto Git Repository" box, which |
1416 | <filename>git clone</filename> command to get the project's Metadata files. | 1541 | would execute a <filename>git clone</filename> |
1542 | command to get the project's Metadata files. | ||
1417 | </para></listitem> | 1543 | </para></listitem> |
1418 | <listitem><para>Select <filename>Finish</filename> to create the project.</para></listitem> | 1544 | <listitem><para>Select <filename>Finish</filename> to |
1545 | create the project.</para></listitem> | ||
1419 | </orderedlist> | 1546 | </orderedlist> |
1420 | </para> | 1547 | </para> |
1421 | </section> | 1548 | </section> |
@@ -1424,32 +1551,38 @@ | |||
1424 | <title>Editing the Metadata</title> | 1551 | <title>Editing the Metadata</title> |
1425 | 1552 | ||
1426 | <para> | 1553 | <para> |
1427 | After you create the Yocto Bitbake Commander project, you can modify the | 1554 | After you create the Yocto Bitbake Commander project, you |
1428 | <link linkend='metadata'>Metadata</link> files | 1555 | can modify the <link linkend='metadata'>Metadata</link> |
1429 | by opening them in the project. | 1556 | files by opening them in the project. |
1430 | When editing recipe files (<filename>.bb</filename> files), you can view BitBake | 1557 | When editing recipe files (<filename>.bb</filename> files), |
1431 | variable values and information by hovering the mouse pointer over the variable name and | 1558 | you can view BitBake variable values and information by |
1559 | hovering the mouse pointer over the variable name and | ||
1432 | waiting a few seconds. | 1560 | waiting a few seconds. |
1433 | </para> | 1561 | </para> |
1434 | 1562 | ||
1435 | <para> | 1563 | <para> |
1436 | To edit the Metadata, follow these steps: | 1564 | To edit the Metadata, follow these steps: |
1437 | <orderedlist> | 1565 | <orderedlist> |
1438 | <listitem><para>Select your Yocto Bitbake Commander project.</para></listitem> | 1566 | <listitem><para>Select your Yocto Bitbake Commander |
1439 | <listitem><para>Select "BitBake Recipe" from the | 1567 | project.</para></listitem> |
1440 | "File -> New -> Yocto BitBake Commander" menu | 1568 | <listitem><para>Select "BitBake Recipe" from the |
1569 | "File -> New -> Yocto BitBake Commander" menu | ||
1441 | to open a new recipe wizard.</para></listitem> | 1570 | to open a new recipe wizard.</para></listitem> |
1442 | <listitem><para>Point to your source by filling in the "SRC_URL" field. | 1571 | <listitem><para>Point to your source by filling in the |
1572 | "SRC_URL" field. | ||
1443 | For example, you can add a recipe to your | 1573 | For example, you can add a recipe to your |
1444 | <link linkend='source-directory'>Source Directory</link> | 1574 | <link linkend='source-directory'>Source Directory</link> |
1445 | by defining "SRC_URL" as follows: | 1575 | by defining "SRC_URL" as follows: |
1446 | <literallayout class='monospaced'> | 1576 | <literallayout class='monospaced'> |
1447 | ftp://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz | 1577 | ftp://ftp.gnu.org/gnu/m4/m4-1.4.9.tar.gz |
1448 | </literallayout></para></listitem> | 1578 | </literallayout></para></listitem> |
1449 | <listitem><para>Click "Populate" to calculate the archive md5, sha256, | 1579 | <listitem><para>Click "Populate" to calculate the |
1450 | license checksum values and to auto-generate the recipe filename.</para></listitem> | 1580 | archive md5, sha256, license checksum values and to |
1451 | <listitem><para>Fill in the "Description" field.</para></listitem> | 1581 | auto-generate the recipe filename.</para></listitem> |
1452 | <listitem><para>Be sure values for all required fields exist.</para></listitem> | 1582 | <listitem><para>Fill in the "Description" field. |
1583 | </para></listitem> | ||
1584 | <listitem><para>Be sure values for all required | ||
1585 | fields exist.</para></listitem> | ||
1453 | <listitem><para>Click "Finish".</para></listitem> | 1586 | <listitem><para>Click "Finish".</para></listitem> |
1454 | </orderedlist> | 1587 | </orderedlist> |
1455 | </para> | 1588 | </para> |
@@ -1459,20 +1592,24 @@ | |||
1459 | <title>Building and Customizing the Image Using Hob</title> | 1592 | <title>Building and Customizing the Image Using Hob</title> |
1460 | 1593 | ||
1461 | <para> | 1594 | <para> |
1462 | To build and customize the image using Hob from within the | 1595 | To build and customize the image using Hob from within the |
1463 | Eclipse IDE, follow these steps: | 1596 | Eclipse IDE, follow these steps: |
1464 | <orderedlist> | 1597 | <orderedlist> |
1465 | <listitem><para>Select your Yocto Bitbake Commander project.</para></listitem> | 1598 | <listitem><para>Select your Yocto Bitbake Commander |
1599 | project.</para></listitem> | ||
1466 | <listitem><para>Select "Launch Hob" from the "Project" | 1600 | <listitem><para>Select "Launch Hob" from the "Project" |
1467 | menu.</para></listitem> | 1601 | menu.</para></listitem> |
1468 | <listitem><para>Enter the | 1602 | <listitem><para>Enter the |
1469 | <link linkend='build-directory'>Build Directory</link> | 1603 | <link linkend='build-directory'>Build Directory</link> |
1470 | where you want to put your final images.</para></listitem> | 1604 | where you want to put your final images. |
1471 | <listitem><para>Click "OK" to launch Hob.</para></listitem> | 1605 | </para></listitem> |
1472 | <listitem><para>Use Hob to customize and build your own images. | 1606 | <listitem><para>Click "OK" to launch Hob. |
1607 | </para></listitem> | ||
1608 | <listitem><para>Use Hob to customize and build your own | ||
1609 | images. | ||
1473 | For information on Hob, see the | 1610 | For information on Hob, see the |
1474 | <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob Project Page</ulink> on the | 1611 | <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'>Hob Project Page</ulink> |
1475 | Yocto Project website.</para></listitem> | 1612 | on the Yocto Project website.</para></listitem> |
1476 | </orderedlist> | 1613 | </orderedlist> |
1477 | </para> | 1614 | </para> |
1478 | </section> | 1615 | </section> |
@@ -1508,7 +1645,7 @@ | |||
1508 | support development using actual hardware. | 1645 | support development using actual hardware. |
1509 | For example, the area might contain | 1646 | For example, the area might contain |
1510 | <filename>.hddimg</filename> files that combine the | 1647 | <filename>.hddimg</filename> files that combine the |
1511 | kernel image with the filesystem, boot loaders, and | 1648 | kernel image with the filesystem, boot loaders, and |
1512 | so forth. | 1649 | so forth. |
1513 | Be sure to get the files you need for your particular | 1650 | Be sure to get the files you need for your particular |
1514 | development process.</para> | 1651 | development process.</para> |
@@ -1879,9 +2016,9 @@ | |||
1879 | 2016 | ||
1880 | <para> | 2017 | <para> |
1881 | For a better understanding of Hob, see the project page at | 2018 | For a better understanding of Hob, see the project page at |
1882 | <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'></ulink> | 2019 | <ulink url='&YOCTO_HOME_URL;/tools-resources/projects/hob'></ulink> |
1883 | on the Yocto Project website. | 2020 | on the Yocto Project website. |
1884 | If you follow the "Documentation" link from the Hob page, you will | 2021 | If you follow the "Documentation" link from the Hob page, you will |
1885 | find a short introductory training video on Hob. | 2022 | find a short introductory training video on Hob. |
1886 | The following lists some features of Hob: | 2023 | The following lists some features of Hob: |
1887 | <itemizedlist> | 2024 | <itemizedlist> |
@@ -1893,9 +2030,9 @@ | |||
1893 | <listitem><para>You can set the | 2030 | <listitem><para>You can set the |
1894 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> | 2031 | <ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink> |
1895 | for which you are building the image.</para></listitem> | 2032 | for which you are building the image.</para></listitem> |
1896 | <listitem><para>You can modify various policy settings such as the | 2033 | <listitem><para>You can modify various policy settings such as the |
1897 | package format with which to build, | 2034 | package format with which to build, |
1898 | the parallelism BitBake uses, whether or not to build an | 2035 | the parallelism BitBake uses, whether or not to build an |
1899 | external toolchain, and which host to build against. | 2036 | external toolchain, and which host to build against. |
1900 | </para></listitem> | 2037 | </para></listitem> |
1901 | <listitem><para>You can manage | 2038 | <listitem><para>You can manage |