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>
|
</para></listitem>
|
||||||
<listitem><para id='cross-development-toolchain'>
|
<listitem><para id='cross-development-toolchain'>
|
||||||
<emphasis>Cross-Development Toolchain:</emphasis>
|
<emphasis>Cross-Development Toolchain:</emphasis>
|
||||||
In general, a cross-development toolchain is a collection of
|
In general, a cross-development toolchain is a collection of
|
||||||
software development tools and utilities that run on one
|
software development tools and utilities that run on one
|
||||||
architecture and allow you to develop software for a
|
architecture and allow you to develop software for a
|
||||||
different, or targeted, architecture.
|
different, or targeted, architecture.
|
||||||
This toolchain contains cross-compilers, linkers, and debuggers
|
These toolchains contain cross-compilers, linkers, and
|
||||||
that are specific to the target architecture.
|
debuggers that are specific to the target architecture.
|
||||||
Sometimes this toolchain is referred to as the
|
</para>
|
||||||
meta-toolchain.</para>
|
|
||||||
<para>
|
|
||||||
<para>The Yocto Project supports two different cross-development
|
<para>The Yocto Project supports two different cross-development
|
||||||
toolchains:
|
toolchains:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>A toolchain only used by and within
|
<listitem><para>A toolchain only used by and within
|
||||||
BitBake when building an image for a target
|
BitBake when building an image for a target
|
||||||
architecture.</para></listitem>
|
architecture.</para></listitem>
|
||||||
<listitem><para>A toolchain used outside of BitBake
|
<listitem><para>A relocatable toolchain used outside of
|
||||||
by developers when developing applications that
|
BitBake by developers when developing applications
|
||||||
will run on a targeted device.
|
that will run on a targeted device.
|
||||||
|
Sometimes this relocatable cross-development
|
||||||
|
toolchain is referred to as the meta-toolchain.
|
||||||
</para></listitem>
|
</para></listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
<para>You can use the OpenEmbedded build system to build an
|
|
||||||
installer for the toolchain used to develop applications.
|
<para>
|
||||||
When you run the installer, it installs the toolchain,
|
Creation of these toolchains is simple and automated.
|
||||||
which contains the development tools you need to cross-compile
|
For information on toolchain concepts as they apply to the
|
||||||
and test your software.
|
Yocto Project, see the
|
||||||
If your target architecture is supported by the Yocto Project,
|
"<ulink url='&YOCTO_DOCS_REF_URL;#cross-development-toolchain-generation'>Cross-Development Toolchain Generation</ulink>"
|
||||||
you can take advantage of pre-built images that ship with the
|
section in the Yocto Project Reference Manual.
|
||||||
Yocto Project and already contain cross-development toolchain
|
You can also find more information on using the
|
||||||
installers.
|
relocatable toolchain in the
|
||||||
</para>
|
<ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project
|
||||||
<para>Following are some toolchain recipes with brief
|
Application Developer's Guide</ulink>.
|
||||||
descriptions of each:
|
</para></listitem>
|
||||||
<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>
|
|
||||||
<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
|
||||||
|
|
Loading…
Reference in New Issue