diff options
-rw-r--r-- | documentation/dev-manual/dev-manual-common-tasks.xml | 186 | ||||
-rw-r--r-- | documentation/dev-manual/dev-manual-intro.xml | 4 | ||||
-rw-r--r-- | documentation/dev-manual/dev-manual-newbie.xml | 3 | ||||
-rw-r--r-- | documentation/dev-manual/dev-manual-qemu.xml | 12 | ||||
-rw-r--r-- | documentation/dev-manual/dev-manual-start.xml | 66 |
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 | <!-- |