dev-manual: Updates to expose cross-toolchain recipes.

Added a bulleted list to the "Terms" section to help define
some toolchain recipes such as gcc-cross-initial,
gcc-cross-intermediate, and so forth.

Added a cross-reference link to the term
"Cross-Development Toolchain" in the the "Working Using
Stand-alone Cross-development Toolchains" section.
This gives the reader a way to see more on the toolchain
recipes.

(From yocto-docs rev: 2cb612424c0cf6addfd8bce8a0ef77665c35bd9a)

Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2013-02-06 12:51:39 -06:00 committed by Richard Purdie
parent 3c984fdbc6
commit 0ad26c66e0
2 changed files with 89 additions and 33 deletions

View File

@ -1448,45 +1448,57 @@ directory.</para></listitem>
<title>Workflow Using Stand-alone Cross-development Toolchains</title> <title>Workflow Using Stand-alone Cross-development Toolchains</title>
<para> <para>
If you want to develop an application without prior installation of the ADT, you If you want to develop an application without prior installation
still can employ the cross-development toolchain, the QEMU emulator, and a number of supported of the ADT, you still can employ the
target image files. <link linkend='cross-development-toolchain'>Cross Development Toolchain</link>,
the QEMU emulator, and a number of supported target image files.
You just need to follow these general steps: You just need to follow these general steps:
<orderedlist> <orderedlist>
<listitem><para><emphasis>Install the cross-development toolchain for your target hardware:</emphasis> <listitem><para><emphasis>Install the cross-development
toolchain for your target hardware:</emphasis>
For information on how to install the toolchain, see the For information on how to install the toolchain, see the
"<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>" "<ulink url='&YOCTO_DOCS_ADT_URL;#using-an-existing-toolchain-tarball'>Using a Cross-Toolchain Tarball</ulink>"
section section in the Yocto Project Application Developer's
in the Yocto Project Application Developer's Guide.</para></listitem> Guide.</para></listitem>
<listitem><para><emphasis>Download the Target Image:</emphasis> The Yocto Project supports <listitem><para><emphasis>Download the Target Image:</emphasis>
several target architectures and has many pre-built kernel images and root filesystem The Yocto Project supports several target architectures
and has many pre-built kernel images and root filesystem
images.</para> images.</para>
<para>If you are going to develop your application on hardware, go to the <para>If you are going to develop your application on
hardware, go to the
<ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink> <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
download area and choose a target machine area download area and choose a target machine area
from which to download the kernel image and root filesystem. from which to download the kernel image and root filesystem.
This download area could have several files in it that support development using This download area could have several files in it that
actual hardware. support development using actual hardware.
For example, the area might contain <filename>.hddimg</filename> files that combine the For example, the area might contain
<filename>.hddimg</filename> files that combine the
kernel image with the filesystem, boot loaders, etc. kernel image with the filesystem, boot loaders, etc.
Be sure to get the files you need for your particular development process.</para> Be sure to get the files you need for your particular
<para>If you are going to develop your application and then run and test it using the QEMU development process.</para>
emulator, go to the <para>If you are going to develop your application and
then run and test it using the QEMU emulator, go to the
<ulink url='&YOCTO_QEMU_DL_URL;'><filename>machines/qemu</filename></ulink> <ulink url='&YOCTO_QEMU_DL_URL;'><filename>machines/qemu</filename></ulink>
download area. download area.
From this area, go down into the directory for your target architecture From this area, go down into the directory for your
(e.g. <filename>qemux86_64</filename> for an target architecture (e.g. <filename>qemux86_64</filename>
<trademark class='registered'>Intel</trademark>-based 64-bit architecture). for an <trademark class='registered'>Intel</trademark>-based
Download kernel, root filesystem, and any other files you need for your process. 64-bit architecture).
<note>In order to use the root filesystem in QEMU, you need to extract it. Download kernel, root filesystem, and any other files you
need for your process.
<note>In order to use the root filesystem in QEMU, you
need to extract it.
See the See the
"<ulink url='&YOCTO_DOCS_ADT_URL;#extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>" "<ulink url='&YOCTO_DOCS_ADT_URL;#extracting-the-root-filesystem'>Extracting the Root Filesystem</ulink>"
section for information on how to extract the root filesystem.</note></para></listitem> section for information on how to extract the root
<listitem><para><emphasis>Develop and Test your Application:</emphasis> At this point, filesystem.</note></para></listitem>
you have the tools to develop your application. <listitem><para><emphasis>Develop and Test your
If you need to separately install and use the QEMU emulator, you can go to Application:</emphasis> At this point, you have the tools
<ulink url='http://wiki.qemu.org/Main_Page'>QEMU Home Page</ulink> to download and learn about the to develop your application.
emulator.</para></listitem> If you need to separately install and use the QEMU
emulator, you can go to
<ulink url='http://wiki.qemu.org/Main_Page'>QEMU Home Page</ulink>
to download and learn about the emulator.</para></listitem>
</orderedlist> </orderedlist>
</para> </para>
</section> </section>

View File

@ -311,17 +311,61 @@
variables for the Texas Instruments ARM Cortex-A8 development board). variables for the Texas Instruments ARM Cortex-A8 development board).
Configuration files end with a <filename>.conf</filename> filename extension. Configuration files end with a <filename>.conf</filename> filename extension.
</para></listitem> </para></listitem>
<listitem><para><emphasis>Cross-Development Toolchain:</emphasis> <listitem><para id='cross-development-toolchain'>
<emphasis>Cross-Development Toolchain:</emphasis>
A collection of software development A collection of software development
tools and utilities that allow you to develop software for targeted architectures. tools and utilities that allow you to develop software for
This toolchain contains cross-compilers, linkers, and debuggers that are specific to targeted architectures.
an architecture. This toolchain contains cross-compilers, linkers, and debuggers
You can use the OpenEmbedded build system to build a cross-development toolchain that are specific to an architecture.
installer that when run installs the toolchain that contains the development tools you You can use the OpenEmbedded build system to build a
cross-development toolchain installer that, when run, installs
the toolchain that contains the development tools you
need to cross-compile and test your software. need to cross-compile and test your software.
The Yocto Project ships with images that contain installers for The Yocto Project ships with images that contain installers for
toolchains for supported architectures as well. toolchains for supported architectures as well.
Sometimes this toolchain is referred to as the meta-toolchain.</para></listitem> Sometimes this toolchain is referred to as the
meta-toolchain.</para>
<para>Following is a list of toolchain recipes with brief
descriptions of each:
<itemizedlist>
<listitem><para><filename>gcc-cross-initial</filename>:
The initial compiler needed to bootstrap the toolchain
that runs on the host and is used to build software
for the target.
This tool is a 'native' package.</para></listitem>
<listitem><para><filename>gcc-cross-intermediate</filename>:
The second stage of the bootstrap process that runs
on the host and builds software for the target.
This tool is a 'native' package.</para></listitem>
<listitem><para><filename>gcc-cross</filename>:
The the final stage of the bootstrap process that
results in the cross compiler that runs on the host
and builds software for the target.
If you are replacing the cross compiler toolchain
with a custom version, this is what you must replace.
This tool is a 'native' package.</para></listitem>
<listitem><para><filename>gcc-runtime</filename>:
Runtime libraries from the toolchain bootstrapping
process.
This tool produces a binary for the target.
</para></listitem>
<listitem><para><filename>gcc-crosssdk-initial/intermediate</filename>:
Stage 1 and 2 of the a cross compiler that runs on the
host and builds for the SDK.
Often the SDK is not the same target as the host.
This tool is a 'native' binary.</para></listitem>
<listitem><para><filename>gcc-crosssdk</filename>:
The final stage of the SDK compiler.
This tool is a 'native' binary.
The tool runs on the host and builds for the SDK.
</para></listitem>
<listitem><para><filename>gcc-cross-canadian</filename>:
The compiler that runs on the SDK machine and is
included with the SDK that builds software for the
target.
This tool is a 'nativesdk' package.</para></listitem>
</itemizedlist></para></listitem>
<listitem><para><emphasis>Image:</emphasis> An image is the result produced when <listitem><para><emphasis>Image:</emphasis> An image is the result produced when
BitBake processes a given collection of recipes and related metadata. BitBake processes a given collection of recipes and related metadata.
Images are the binary output that run on specific hardware or QEMU Images are the binary output that run on specific hardware or QEMU