sdk-manual: Minor edits to the intro chapter.

(From yocto-docs rev: 706b4adfd925d247da2ce7405f12ce1e05666a9e)

Signed-off-by: Scott Rifenbark <srifenbark@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Scott Rifenbark 2018-05-18 09:50:10 -07:00 committed by Richard Purdie
parent 9928893e93
commit e53bec948f

View File

@ -31,15 +31,18 @@
<para> <para>
All SDKs consist of the following: All SDKs consist of the following:
<itemizedlist> <itemizedlist>
<listitem><para><emphasis>Cross-Development Toolchain</emphasis>: <listitem><para>
<emphasis>Cross-Development Toolchain</emphasis>:
This toolchain contains a compiler, debugger, and various This toolchain contains a compiler, debugger, and various
miscellaneous tools. miscellaneous tools.
</para></listitem> </para></listitem>
<listitem><para><emphasis>Libraries, Headers, and Symbols</emphasis>: <listitem><para>
<emphasis>Libraries, Headers, and Symbols</emphasis>:
The libraries, headers, and symbols are specific to the image The libraries, headers, and symbols are specific to the image
(i.e. they match the image). (i.e. they match the image).
</para></listitem> </para></listitem>
<listitem><para><emphasis>Environment Setup Script</emphasis>: <listitem><para>
<emphasis>Environment Setup Script</emphasis>:
This <filename>*.sh</filename> file, once run, sets up the This <filename>*.sh</filename> file, once run, sets up the
cross-development environment by defining variables and cross-development environment by defining variables and
preparing for SDK use. preparing for SDK use.
@ -48,7 +51,7 @@
</para> </para>
<para> <para>
Additionally an extensible SDK has tools that allow you to easily add Additionally, an extensible SDK has tools that allow you to easily add
new applications and libraries to an image, modify the source of an new applications and libraries to an image, modify the source of an
existing component, test changes on the target hardware, and easily existing component, test changes on the target hardware, and easily
integrate an application into the integrate an application into the
@ -81,14 +84,15 @@
and and
<ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink>. <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink>.
This reduces the space needed for the tools. This reduces the space needed for the tools.
Understand, however, that a sysroot is still needed for every target Understand, however, that every target still needs a sysroot because
since those binaries are target-specific. those binaries are target-specific.
</para> </para>
<para> <para>
The SDK development environment consists of the following: The SDK development environment consists of the following:
<itemizedlist> <itemizedlist>
<listitem><para>The self-contained SDK, which is an <listitem><para>
The self-contained SDK, which is an
architecture-specific cross-toolchain and architecture-specific cross-toolchain and
matching sysroots (target and native) all built by the matching sysroots (target and native) all built by the
OpenEmbedded build system (e.g. the SDK). OpenEmbedded build system (e.g. the SDK).
@ -100,21 +104,24 @@
Additionally, the extensible SDK contains the Additionally, the extensible SDK contains the
<filename>devtool</filename> functionality. <filename>devtool</filename> functionality.
</para></listitem> </para></listitem>
<listitem><para>The Quick EMUlator (QEMU), which lets you simulate <listitem><para>
The Quick EMUlator (QEMU), which lets you simulate
target hardware. target hardware.
QEMU is not literally part of the SDK. QEMU is not literally part of the SDK.
You must build and include this emulator separately. You must build and include this emulator separately.
However, QEMU plays an important role in the development However, QEMU plays an important role in the development
process that revolves around use of the SDK. process that revolves around use of the SDK.
</para></listitem> </para></listitem>
<listitem><para>The Eclipse IDE Yocto Plug-in. <listitem><para>
The Eclipse IDE Yocto Plug-in.
This plug-in is available for you if you are an Eclipse This plug-in is available for you if you are an Eclipse
user. user.
In the same manner as QEMU, the plug-in is not literally part In the same manner as QEMU, the plug-in is not literally part
of the SDK but is rather available for use as part of the of the SDK but is rather available for use as part of the
development process. development process.
</para></listitem> </para></listitem>
<listitem><para>Various performance-related <listitem><para>
Various performance-related
<ulink url='http://www.eclipse.org/linuxtools/index.php'>tools</ulink> <ulink url='http://www.eclipse.org/linuxtools/index.php'>tools</ulink>
that can enhance your development experience. that can enhance your development experience.
These tools are also separate from the actual SDK but can be These tools are also separate from the actual SDK but can be
@ -192,11 +199,11 @@
</tgroup> </tgroup>
</informaltable> </informaltable>
<literallayout class='monospaced'> <literallayout class='monospaced'>
* Extensible SDK will contain the toolchain and debugger if <ulink url='&YOCTO_DOCS_REF_URL;#var-SDK_EXT_TYPE'><filename>SDK_EXT_TYPE</filename></ulink> is "full" or <ulink url='&YOCTO_DOCS_REF_URL;#var-SDK_INCLUDE_TOOLCHAIN'><filename>SDK_INCLUDE_TOOLCHAIN</filename></ulink> is "1", which is the default. * Extensible SDK contains the toolchain and debugger if <ulink url='&YOCTO_DOCS_REF_URL;#var-SDK_EXT_TYPE'><filename>SDK_EXT_TYPE</filename></ulink> is "full" or <ulink url='&YOCTO_DOCS_REF_URL;#var-SDK_INCLUDE_TOOLCHAIN'><filename>SDK_INCLUDE_TOOLCHAIN</filename></ulink> is "1", which is the default.
** Sysroot is managed through use of <filename>devtool</filename>. Thus, it is less likely that you will corrupt your SDK sysroot when you try to add additional libraries. ** Sysroot is managed through the use of <filename>devtool</filename>. Thus, it is less likely that you will corrupt your SDK sysroot when you try to add additional libraries.
*** Runtime package management can be added to the standard SDK but it is not supported by default. *** You can add runtime package management to the standard SDK but it is not supported by default.
**** You must build and make the shared state available to extensible SDK users for "packages" you want to enable users to install. **** You must build and make the shared state available to extensible SDK users for "packages" you want to enable users to install.
</literallayout> </literallayout>
@ -216,7 +223,7 @@
This toolchain is created by running a SDK installer script This toolchain is created by running a SDK installer script
or through a or through a
<ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>
that is based on your Metadata configuration or extension for that is based on your metadata configuration or extension for
your targeted device. your targeted device.
The cross-toolchain works with a matching target sysroot. The cross-toolchain works with a matching target sysroot.
</para> </para>
@ -230,7 +237,7 @@
for generating binaries that run on the target architecture. for generating binaries that run on the target architecture.
The target sysroot is based on the target root filesystem image The target sysroot is based on the target root filesystem image
that is built by the OpenEmbedded build system and uses the same that is built by the OpenEmbedded build system and uses the same
Metadata configuration used to build the cross-toolchain. metadata configuration used to build the cross-toolchain.
</para> </para>
</section> </section>
@ -240,7 +247,8 @@
<para> <para>
The QEMU emulator allows you to simulate your hardware while The QEMU emulator allows you to simulate your hardware while
running your application or image. running your application or image.
QEMU is not part of the SDK but is made available a number of ways: QEMU is not part of the SDK but is made available a number of
different ways:
<itemizedlist> <itemizedlist>
<listitem><para> <listitem><para>
If you have cloned the <filename>poky</filename> Git If you have cloned the <filename>poky</filename> Git
@ -335,14 +343,18 @@
<para> <para>
You just need to follow these general steps: You just need to follow these general steps:
<orderedlist> <orderedlist>
<listitem><para><emphasis>Install the SDK for your target hardware:</emphasis> <listitem><para>
<emphasis>Install the SDK for your target hardware:</emphasis>
For information on how to install the SDK, see the For information on how to install the SDK, see the
"<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>" "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
section.</para></listitem> section.
<listitem><para><emphasis>Download or Build the Target Image:</emphasis> </para></listitem>
<listitem><para>
<emphasis>Download or Build the Target Image:</emphasis>
The Yocto Project supports several target architectures The Yocto Project supports several target architectures
and has many pre-built kernel images and root filesystem and has many pre-built kernel images and root filesystem
images.</para> images.</para>
<para>If you are going to develop your application on <para>If you are going to develop your application on
hardware, go to the hardware, go to the
<ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink> <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
@ -356,6 +368,7 @@
so forth. so forth.
Be sure to get the files you need for your particular Be sure to get the files you need for your particular
development process.</para> development process.</para>
<para>If you are going to develop your application and <para>If you are going to develop your application and
then run and test it using the QEMU emulator, go to the 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>
@ -364,21 +377,21 @@
target architecture (e.g. <filename>qemux86_64</filename> target architecture (e.g. <filename>qemux86_64</filename>
for an <trademark class='registered'>Intel</trademark>-based for an <trademark class='registered'>Intel</trademark>-based
64-bit architecture). 64-bit architecture).
Download kernel, root filesystem, and any other files you Download the kernel, root filesystem, and any other files you
need for your process. need for your process.
<note> <note>
To use the root filesystem in QEMU, you To use the root filesystem in QEMU, you need to extract it.
need to extract it.
See the See the
"<link linkend='sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" "<link linkend='sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</link>"
section for information on how to extract the root section for information on how to extract the root
filesystem. filesystem.
</note> </note>
</para></listitem> </para></listitem>
<listitem><para><emphasis>Develop and Test your Application:</emphasis> <listitem><para>
<emphasis>Develop and Test your Application:</emphasis>
At this point, you have the tools to develop your application. At this point, you have the tools to develop your application.
If you need to separately install and use the QEMU If you need to separately install and use the QEMU emulator,
emulator, you can go to you can go to
<ulink url='http://wiki.qemu.org/Main_Page'>QEMU Home Page</ulink> <ulink url='http://wiki.qemu.org/Main_Page'>QEMU Home Page</ulink>
to download and learn about the emulator. to download and learn about the emulator.
See the See the
@ -391,8 +404,8 @@
</para> </para>
<para> <para>
The remainder of this manual describes how to use both the standard The remainder of this manual describes how to use the extensible
SDK and the extensible SDK. and standard SDKs.
Information also exists in appendix form that describes how you can Information also exists in appendix form that describes how you can
build, install, and modify an SDK. build, install, and modify an SDK.
</para> </para>