summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--documentation/dev-manual/dev-manual-common-tasks.xml186
-rw-r--r--documentation/dev-manual/dev-manual-intro.xml4
-rw-r--r--documentation/dev-manual/dev-manual-newbie.xml3
-rw-r--r--documentation/dev-manual/dev-manual-qemu.xml12
-rw-r--r--documentation/dev-manual/dev-manual-start.xml66
5 files changed, 23 insertions, 248 deletions
diff --git a/documentation/dev-manual/dev-manual-common-tasks.xml b/documentation/dev-manual/dev-manual-common-tasks.xml
index 243f4aed1e..ac82dad0a3 100644
--- a/documentation/dev-manual/dev-manual-common-tasks.xml
+++ b/documentation/dev-manual/dev-manual-common-tasks.xml
@@ -1509,8 +1509,8 @@
1509 You can find a complete description of the 1509 You can find a complete description of the
1510 <filename>devtool add</filename> command in the 1510 <filename>devtool add</filename> command in the
1511 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-a-closer-look-at-devtool-add'>A Closer Look at <filename>devtool</filename> add</ulink>" 1511 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-a-closer-look-at-devtool-add'>A Closer Look at <filename>devtool</filename> add</ulink>"
1512 section in the Yocto Project Software Development Kit 1512 section in the Yocto Project Application Development
1513 (SDK) Developer's Guide. 1513 and the Extensible Software Development Kit (eSDK) manual.
1514 </para> 1514 </para>
1515 </section> 1515 </section>
1516 1516
@@ -3775,9 +3775,9 @@
3775 clean a recipe or have <filename>rm_work</filename> enabled, 3775 clean a recipe or have <filename>rm_work</filename> enabled,
3776 the 3776 the
3777 <ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'><filename>devtool</filename> workflow</ulink> 3777 <ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'><filename>devtool</filename> workflow</ulink>
3778 as described in the Yocto Project Software Development Kit 3778 as described in the Yocto Project Application Development
3779 (SDK) Developer's Guide is a safer development flow than the 3779 and the Extensible Software Development Kit (eSDK) manual
3780 flow that uses Quilt. 3780 is a safer development flow than the flow that uses Quilt.
3781 </note> 3781 </note>
3782 </para> 3782 </para>
3783 3783
@@ -9993,182 +9993,6 @@ Some notes from Cal:
9993 </para> 9993 </para>
9994 </section> 9994 </section>
9995 9995
9996<!--
9997 <section id='platdev-gdb-remotedebug-setup'>
9998 <title>Set Up the Cross-Development Debugging Environment</title>
9999
10000 <para>
10001 Before you can initiate a remote debugging session, you need
10002 to be sure you have set up the cross-development environment,
10003 toolchain, and sysroot.
10004 The <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-intro'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>
10005 describes this process.
10006 </para>
10007 </section>
10008
10009 <section id="platdev-gdb-remotedebug-launch-gdbserver">
10010 <title>Launch gdbserver on the Target</title>
10011
10012 <para>
10013 Make sure gdbserver is installed on the target.
10014 If it is not, install the package
10015 <filename>gdbserver</filename>, which needs the
10016 <filename>libthread-db1</filename> package.
10017 </para>
10018
10019 <para>
10020 Here is an example, that when entered from the host,
10021 connects to the target and launches gdbserver in order to
10022 "debug" a binary named <filename>helloworld</filename>:
10023 <literallayout class='monospaced'>
10024 $ gdbserver localhost:2345 /usr/bin/helloworld
10025 </literallayout>
10026 gdbserver should now be listening on port 2345 for debugging
10027 commands coming from a remote GDB process that is running on
10028 the host computer.
10029 Communication between gdbserver and the host GDB are done
10030 using TCP.
10031 To use other communication protocols, please refer to the
10032 <ulink url='http://www.gnu.org/software/gdb/'>Gdbserver documentation</ulink>.
10033 </para>
10034 </section>
10035
10036 <section id="platdev-gdb-remotedebug-launch-gdb">
10037 <title>Launch GDB on the Host Computer</title>
10038
10039 <para>
10040 Running GDB on the host computer takes a number of stages, which
10041 this section describes.
10042 </para>
10043
10044 <section id="platdev-gdb-remotedebug-launch-gdb-buildcross">
10045 <title>Build the Cross-GDB Package</title>
10046 <para>
10047 A suitable GDB cross-binary is required that runs on your
10048 host computer but also knows about the the ABI of the
10049 remote target.
10050 You can get this binary from the
10051 <link linkend='cross-development-toolchain'>Cross-Development Toolchain</link>.
10052 Here is an example where the toolchain has been installed
10053 in the default directory
10054 <filename>/opt/poky/&DISTRO;</filename>:
10055 <literallayout class='monospaced'>
10056 /opt/poky/&DISTRO;/sysroots/i686-pokysdk-linux/usr/bin/armv7a-vfp-neon-poky-linux-gnueabi/arm-poky-linux-gnueabi-gdb
10057 </literallayout>
10058 where <filename>arm</filename> is the target architecture
10059 and <filename>linux-gnueabi</filename> is the target ABI.
10060 </para>
10061
10062 <para>
10063 Alternatively, you can use BitBake to build the
10064 <filename>gdb-cross</filename> binary.
10065 Here is an example:
10066 <literallayout class='monospaced'>
10067 $ bitbake gdb-cross
10068 </literallayout>
10069 Once the binary is built, you can find it here:
10070 <literallayout class='monospaced'>
10071 tmp/sysroots/<replaceable>host-arch</replaceable>/usr/bin/<replaceable>target-platform</replaceable>/<replaceable>target-abi</replaceable>-gdb
10072 </literallayout>
10073 </para>
10074 </section>
10075
10076 <section id='create-the-gdb-initialization-file'>
10077 <title>Create the GDB Initialization File and Point to Your Root Filesystem</title>
10078
10079 <para>
10080 Aside from the GDB cross-binary, you also need a GDB
10081 initialization file in the same top directory in which
10082 your binary resides.
10083 When you start GDB on your host development system, GDB
10084 finds this initialization file and executes all the
10085 commands within.
10086 For information on the <filename>.gdbinit</filename>, see
10087 "<ulink url='http://sourceware.org/gdb/onlinedocs/gdb/'>Debugging with GDB</ulink>",
10088 which is maintained by
10089 <ulink url='http://www.sourceware.org'>sourceware.org</ulink>.
10090 </para>
10091
10092 <para>
10093 You need to add a statement in the
10094 <filename>~/.gdbinit</filename> file that points to your
10095 root filesystem.
10096 Here is an example that points to the root filesystem for
10097 an ARM-based target device:
10098 <literallayout class='monospaced'>
10099 set sysroot ~/sysroot_arm
10100 </literallayout>
10101 </para>
10102 </section>
10103
10104 <section id="platdev-gdb-remotedebug-launch-gdb-launchhost">
10105 <title>Launch the Host GDB</title>
10106
10107 <para>
10108 Before launching the host GDB, you need to be sure
10109 you have sourced the cross-debugging environment script,
10110 which if you installed the root filesystem in the default
10111 location is at <filename>/opt/poky/&DISTRO;</filename>
10112 and begins with the string "environment-setup".
10113 For more information, see the
10114 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's
10115 Guide</ulink>.
10116 </para>
10117
10118 <para>
10119 Finally, switch to the directory where the binary resides
10120 and run the <filename>cross-gdb</filename> binary.
10121 Provide the binary file you are going to debug.
10122 For example, the following command continues with the
10123 example used in the previous section by loading
10124 the <filename>helloworld</filename> binary as well as the
10125 debugging information:
10126 <literallayout class='monospaced'>
10127 $ arm-poky-linux-gnuabi-gdb helloworld
10128 </literallayout>
10129 The commands in your <filename>.gdbinit</filename> execute
10130 and the GDB prompt appears.
10131 </para>
10132 </section>
10133 </section>
10134
10135 <section id='platdev-gdb-connect-to-the-remote-gdb-server'>
10136 <title>Connect to the Remote GDB Server</title>
10137
10138 <para>
10139 From the target, you need to connect to the remote GDB
10140 server that is running on the host.
10141 You need to specify the remote host and port.
10142 Here is the command continuing with the example:
10143 <literallayout class='monospaced'>
10144 target remote 192.168.7.2:2345
10145 </literallayout>
10146 </para>
10147 </section>
10148
10149 <section id="platdev-gdb-remotedebug-launch-gdb-using">
10150 <title>Use the Debugger</title>
10151
10152 <para>
10153 You can now proceed with debugging as normal - as if you were debugging
10154 on the local machine.
10155 For example, to instruct GDB to break in the "main" function and then
10156 continue with execution of the inferior binary use the following commands
10157 from within GDB:
10158 <literallayout class='monospaced'>
10159 (gdb) break main
10160 (gdb) continue
10161 </literallayout>
10162 </para>
10163
10164 <para>
10165 For more information about using GDB, see the project's online documentation at
10166 <ulink url="http://sourceware.org/gdb/download/onlinedocs/"/>.
10167 </para>
10168 </section>
10169 </section>
10170-->
10171
10172 <section id='debugging-with-the-gnu-project-debugger-gdb-on-the-target'> 9996 <section id='debugging-with-the-gnu-project-debugger-gdb-on-the-target'>
10173 <title>Debugging with the GNU Project Debugger (GDB) on the Target</title> 9997 <title>Debugging with the GNU Project Debugger (GDB) on the Target</title>
10174 9998
diff --git a/documentation/dev-manual/dev-manual-intro.xml b/documentation/dev-manual/dev-manual-intro.xml
index 340c1b37b1..47c80061be 100644
--- a/documentation/dev-manual/dev-manual-intro.xml
+++ b/documentation/dev-manual/dev-manual-intro.xml
@@ -53,8 +53,8 @@
53 <listitem><para> 53 <listitem><para>
54 <emphasis>Redundant Step-by-step Instructions:</emphasis> 54 <emphasis>Redundant Step-by-step Instructions:</emphasis>
55 For example, the 55 For example, the
56 <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink> 56 <ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>
57 contains detailed instructions on how to install an 57 manual contains detailed instructions on how to install an
58 SDK, which is used to develop applications for target 58 SDK, which is used to develop applications for target
59 hardware. 59 hardware.
60 </para></listitem> 60 </para></listitem>
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml
index 1fd1564417..a0fbb4bfd1 100644
--- a/documentation/dev-manual/dev-manual-newbie.xml
+++ b/documentation/dev-manual/dev-manual-newbie.xml
@@ -164,7 +164,8 @@
164 <trademark class='trade'>Eclipse</trademark> IDE 164 <trademark class='trade'>Eclipse</trademark> IDE
165 and SDK development practices. 165 and SDK development practices.
166 For more information, see the 166 For more information, see the
167 "<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>". 167 "<ulink url='&YOCTO_DOCS_SDK_URL;'>Yocto Project Application Development and the Extensible Software Development Kit (eSDK)</ulink>"
168 manual.
168 </para></listitem> 169 </para></listitem>
169 <listitem><para> 170 <listitem><para>
170 Keep your cross-development toolchains updated. 171 Keep your cross-development toolchains updated.
diff --git a/documentation/dev-manual/dev-manual-qemu.xml b/documentation/dev-manual/dev-manual-qemu.xml
index 2b02a1ea58..85e7315872 100644
--- a/documentation/dev-manual/dev-manual-qemu.xml
+++ b/documentation/dev-manual/dev-manual-qemu.xml
@@ -29,9 +29,9 @@
29 <emphasis>Install QEMU:</emphasis> 29 <emphasis>Install QEMU:</emphasis>
30 See 30 See
31 "<ulink url='&YOCTO_DOCS_SDK_URL;#the-qemu-emulator'>The QEMU Emulator</ulink>" 31 "<ulink url='&YOCTO_DOCS_SDK_URL;#the-qemu-emulator'>The QEMU Emulator</ulink>"
32 section in the Yocto Project Software Development Kit (SDK) 32 section in the Yocto Project Application Development and
33 Developer's Guide for information on how to install 33 the Extensible Software Development Kit (eSDK) manual
34 QEMU. 34 for information on how to install QEMU.
35 </para></listitem> 35 </para></listitem>
36 <listitem><para> 36 <listitem><para>
37 <emphasis>Setting Up the Environment:</emphasis> 37 <emphasis>Setting Up the Environment:</emphasis>
@@ -85,9 +85,9 @@
85 85
86 <para>See the 86 <para>See the
87 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>" 87 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>"
88 section in the Yocto Project Software Development Kit (SDK) 88 section in the Yocto Project Application Development and
89 Developer's Guide for information on how to extract a 89 the Extensible Software Development Kit (eSDK) manual
90 root filesystem. 90 for information on how to extract a root filesystem.
91 </para></listitem> 91 </para></listitem>
92 <listitem><para> 92 <listitem><para>
93 <emphasis>Run QEMU:</emphasis> 93 <emphasis>Run QEMU:</emphasis>
diff --git a/documentation/dev-manual/dev-manual-start.xml b/documentation/dev-manual/dev-manual-start.xml
index 42928657c6..195b22d0b1 100644
--- a/documentation/dev-manual/dev-manual-start.xml
+++ b/documentation/dev-manual/dev-manual-start.xml
@@ -53,8 +53,8 @@
53 <emphasis>Eclipse Development:</emphasis> 53 <emphasis>Eclipse Development:</emphasis>
54 See the 54 See the
55 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-eclipse-project'>Developing Applications Using <trademark class='trade'>Eclipse</trademark></ulink>" 55 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-eclipse-project'>Developing Applications Using <trademark class='trade'>Eclipse</trademark></ulink>"
56 Chapter in the Yocto Project Software Development Kit (SDK) 56 Chapter in the Yocto Project Application Development and the
57 Developer's Guide. 57 Extensible Software Development Kit (eSDK) manual.
58 </para></listitem> 58 </para></listitem>
59 </itemizedlist> 59 </itemizedlist>
60 </para> 60 </para>
@@ -131,8 +131,8 @@
131 section. 131 section.
132 If you are going to use the Extensible SDK, see the 132 If you are going to use the Extensible SDK, see the
133 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>Using the Extensible SDK</ulink>" 133 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>Using the Extensible SDK</ulink>"
134 Chapter in the Yocto Project Software Development Kit (SDK) 134 Chapter in the Yocto Project Application Development and the
135 Developer's Guide. 135 Extensible Software Development Kit (eSDK) manual.
136 If you want to work on the kernel, see the 136 If you want to work on the kernel, see the
137 <ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel Development Manual</ulink>. 137 <ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel Development Manual</ulink>.
138 If you are going to use Toaster, see the 138 If you are going to use Toaster, see the
@@ -241,8 +241,8 @@
241 section. 241 section.
242 If you are going to use the Extensible SDK container, see the 242 If you are going to use the Extensible SDK container, see the
243 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>Using the Extensible SDK</ulink>" 243 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-extensible'>Using the Extensible SDK</ulink>"
244 Chapter in the Yocto Project Software Development Kit (SDK) 244 Chapter in the Yocto Project Application Development and the
245 Developer's Guide. 245 Extensible Software Development Kit (eSDK) manual.
246 If you are going to use the Toaster container, see the 246 If you are going to use the Toaster container, see the
247 "<ulink url='&YOCTO_DOCS_TOAST_URL;#toaster-manual-setup-and-use'>Setting Up and Using Toaster</ulink>" 247 "<ulink url='&YOCTO_DOCS_TOAST_URL;#toaster-manual-setup-and-use'>Setting Up and Using Toaster</ulink>"
248 section in the Toaster User Manual. 248 section in the Toaster User Manual.
@@ -676,8 +676,8 @@
676 For information on how to use 676 For information on how to use
677 <filename>devtool</filename> to build images, see the 677 <filename>devtool</filename> to build images, see the
678 "<ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'>Using <filename>devtool</filename> in Your SDK Workflow</ulink>" 678 "<ulink url='&YOCTO_DOCS_SDK_URL;#using-devtool-in-your-sdk-workflow'>Using <filename>devtool</filename> in Your SDK Workflow</ulink>"
679 section in the Yocto Project Software Development Kit 679 section in the Yocto Project Application Development and
680 (SDK) Developer's Guide. 680 the Extensible Software Development Kit (eSDK) manual.
681 </para></listitem> 681 </para></listitem>
682 </itemizedlist> 682 </itemizedlist>
683 </note> 683 </note>
@@ -744,56 +744,6 @@
744 </para> 744 </para>
745</section> 745</section>
746 746
747<!--
748<section id='using-pre-built-binaries-and-qemu'>
749 <title>Using Pre-Built Binaries and QEMU</title>
750
751 <para>
752 Another option you have to get started is to use pre-built binaries.
753 The Yocto Project provides many types of binaries with each release.
754 See the "<ulink url='&YOCTO_DOCS_REF_URL;#ref-images'>Images</ulink>"
755 chapter in the Yocto Project Reference Manual
756 for descriptions of the types of binaries that ship with a Yocto Project
757 release.
758 </para>
759
760 <para>
761 Using a pre-built binary is ideal for developing software
762 applications to run on your target hardware.
763 To do this, you need to be able to access the appropriate
764 cross-toolchain tarball for the architecture on which you are
765 developing.
766 If you are using an SDK type image, the image ships with the complete
767 toolchain native to the architecture (i.e. a toolchain designed to
768 run on the
769 <ulink url='&YOCTO_DOCS_REF_URL;#var-SDKMACHINE'><filename>SDKMACHINE</filename></ulink>).
770 If you are not using an SDK type image, you need to separately download
771 and install the stand-alone Yocto Project cross-toolchain tarball.
772 See the
773 "<ulink url='&YOCTO_DOCS_SDK_URL;#sdk-appendix-obtain'>Obtaining the SDK</ulink>"
774 appendix in the Yocto Project Software Development Kit (SDK)
775 Developer's Guide for more information on locating and installing
776 cross-toolchains.
777 </para>
778
779 <para>
780 Regardless of the type of image you are using, you need to download the pre-built kernel
781 that you will boot in the QEMU emulator and then download and extract the target root
782 filesystem for your target machine’s architecture.
783 You can get architecture-specific binaries and file systems from
784 <ulink url='&YOCTO_MACHINES_DL_URL;'>machines</ulink>.
785 You can get installation scripts for stand-alone toolchains from
786 <ulink url='&YOCTO_TOOLCHAIN_DL_URL;'>toolchains</ulink>.
787 Once you have all your files, you set up the environment to emulate the hardware
788 by sourcing an environment setup script.
789 Finally, you start the QEMU emulator.
790 You can find details on all these steps in the
791 <ulink url='&YOCTO_DOCS_SDK_URL;#sdk-manual'>Yocto Project Software Development Kit (SDK) Developer's Guide</ulink>.
792 You can learn more about using QEMU with the Yocto Project in the
793 "<link linkend='dev-manual-qemu'>Using the Quick EMUlator (QEMU)</link>"
794 section.
795 </para>
796</section>
797--> 747-->
798</chapter> 748</chapter>
799<!-- 749<!--