dev-manual: Updates to the "Cross-Development Toolchain" term.
This term description has been reduced to an introduction only. The real details are now in the ref-manual. This term now simply is introduced and the reader is referred to the ref-manual section. (From yocto-docs rev: 4d53a25e1871d793d5c38eba4d1f8715c989cb4d) Signed-off-by: Scott Rifenbark <scott.m.rifenbark@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
a4218c821f
commit
26a9dd8c29
|
@ -566,105 +566,40 @@
|
|||
</para></listitem>
|
||||
<listitem><para id='cross-development-toolchain'>
|
||||
<emphasis>Cross-Development Toolchain:</emphasis>
|
||||
In general, a cross-development toolchain is a collection of
|
||||
software development tools and utilities that run on one
|
||||
architecture and allow you to develop software for a
|
||||
different, or targeted, architecture.
|
||||
This toolchain contains cross-compilers, linkers, and debuggers
|
||||
that are specific to the target architecture.
|
||||
Sometimes this toolchain is referred to as the
|
||||
meta-toolchain.</para>
|
||||
<para>
|
||||
In general, a cross-development toolchain is a collection of
|
||||
software development tools and utilities that run on one
|
||||
architecture and allow you to develop software for a
|
||||
different, or targeted, architecture.
|
||||
These toolchains contain cross-compilers, linkers, and
|
||||
debuggers that are specific to the target architecture.
|
||||
</para>
|
||||
|
||||
<para>The Yocto Project supports two different cross-development
|
||||
toolchains:
|
||||
<itemizedlist>
|
||||
<listitem><para>A toolchain only used by and within
|
||||
BitBake when building an image for a target
|
||||
architecture.</para></listitem>
|
||||
<listitem><para>A toolchain used outside of BitBake
|
||||
by developers when developing applications that
|
||||
will run on a targeted device.
|
||||
<listitem><para>A relocatable toolchain used outside of
|
||||
BitBake by developers when developing applications
|
||||
that will run on a targeted device.
|
||||
Sometimes this relocatable cross-development
|
||||
toolchain is referred to as the meta-toolchain.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<para>You can use the OpenEmbedded build system to build an
|
||||
installer for the toolchain used to develop applications.
|
||||
When you run the installer, it installs the toolchain,
|
||||
which contains the development tools you need to cross-compile
|
||||
and test your software.
|
||||
If your target architecture is supported by the Yocto Project,
|
||||
you can take advantage of pre-built images that ship with the
|
||||
Yocto Project and already contain cross-development toolchain
|
||||
installers.
|
||||
</para>
|
||||
<para>Following are some toolchain recipes with brief
|
||||
descriptions of each:
|
||||
<itemizedlist>
|
||||
<listitem><para><filename>gcc-cross-initial</filename>:
|
||||
An early stage of the bootstrap process for creating
|
||||
the cross-compiler used within BitBake.
|
||||
This stage builds enough of the
|
||||
<filename>gcc-cross</filename>,
|
||||
the C library, and other pieces needed to
|
||||
finish building the final cross-compiler in later
|
||||
stages.
|
||||
This tool is a "native" package (i.e. it is
|
||||
designed to run on the build host).
|
||||
</para></listitem>
|
||||
<listitem><para><filename>gcc-cross</filename>:
|
||||
The final stage of the bootstrap process for creating
|
||||
the cross-compiler used within BitBake.
|
||||
This stage results in the actual cross-compiler that
|
||||
BitBake uses when it builds an image for a targeted
|
||||
device.
|
||||
<note>
|
||||
If you are replacing this cross compiler toolchain
|
||||
with a custom version, you must replace
|
||||
<filename>gcc-cross</filename>.
|
||||
</note>
|
||||
This tool is also a "native" package (i.e. it is
|
||||
designed to run on the build host).
|
||||
</para></listitem>
|
||||
<listitem><para><filename>gcc-runtime</filename>:
|
||||
Runtime libraries from the toolchain bootstrapping
|
||||
process.
|
||||
This tool produces a binary that consists of the
|
||||
runtime libraries need for the targeted device.
|
||||
</para></listitem>
|
||||
<listitem><para><filename>gcc-crosssdk-initial</filename>:
|
||||
An early stage of the bootstrap process for creating
|
||||
the cross-compiler that is external to BitBake
|
||||
(i.e. the compiler used by application developers
|
||||
to develop software that runs on the target device).
|
||||
This stage builds enough of the
|
||||
<filename>gcc-crosssdk</filename> and supporting
|
||||
pieces so that the final stage of the bootstrap
|
||||
process can produce the finished cross-compiler.
|
||||
This tool is a "native" binary that runs on the build
|
||||
host.
|
||||
</para></listitem>
|
||||
<listitem><para><filename>gcc-crosssdk</filename>:
|
||||
The final stage of the bootstrap process for creating
|
||||
the cross-compiler that is external to BitBake.
|
||||
This tool is a "native" binary that runs on the build
|
||||
host but generates code that runs on the machine used
|
||||
for application development (i.e. the
|
||||
<filename>SDKMACHINE</filename>).
|
||||
Often the <filename>SDKMACHINE</filename> is not the
|
||||
same machine as the host build machine.
|
||||
</para></listitem>
|
||||
<listitem><para><filename>gcc-cross-canadian</filename>:
|
||||
A compiler built on one machine (build machine) that
|
||||
runs on a different machine (host machine) and produces
|
||||
software that runs on a third target machine.
|
||||
See WikipediA's
|
||||
<ulink url='http://en.wikipedia.org/wiki/Cross_compiler#Canadian_Cross'>Cross Compiler</ulink>
|
||||
page for a more general explanation of a
|
||||
"Canadian Cross".
|
||||
This compiler is included with the SDK that builds
|
||||
software for the eventual target.
|
||||
This tool is a "nativesdk" package.</para></listitem>
|
||||
</itemizedlist></para></listitem>
|
||||
|
||||
<para>
|
||||
Creation of these toolchains is simple and automated.
|
||||
For information on toolchain concepts as they apply to the
|
||||
Yocto Project, see the
|
||||
"<ulink url='&YOCTO_DOCS_REF_URL;#cross-development-toolchain-generation'>Cross-Development Toolchain Generation</ulink>"
|
||||
section in the Yocto Project Reference Manual.
|
||||
You can also find more information on using the
|
||||
relocatable toolchain in the
|
||||
<ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project
|
||||
Application Developer's Guide</ulink>.
|
||||
</para></listitem>
|
||||
<listitem><para><emphasis>Image:</emphasis> An image is the result produced when
|
||||
BitBake processes a given collection of recipes and related Metadata.
|
||||
Images are the binary output that run on specific hardware or QEMU
|
||||
|
|
Loading…
Reference in New Issue