136 lines
6.4 KiB
XML
136 lines
6.4 KiB
XML
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
|
|
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd"
|
|
[<!ENTITY % poky SYSTEM "../poky.ent"> %poky; ] >
|
|
|
|
<chapter id='sdk-intro'>
|
|
<title>Introduction</title>
|
|
|
|
<section id='sdk-manual-intro'>
|
|
<title>Introduction</title>
|
|
|
|
<para>
|
|
Welcome to the Yocto Project Software Development Kit (SDK)
|
|
Developer's Guide.
|
|
This manual provides information that lets you use both the standard
|
|
Yocto Project SDK and an extensible SDK to develop applications and
|
|
images using the Yocto Project.
|
|
Additionally, the manual also provides information on how to use
|
|
the popular <trademark class='trade'>Eclipse</trademark> IDE as part
|
|
of your application development workflow.
|
|
</para>
|
|
|
|
<para>
|
|
Prior to the 2.0 Release of the Yocto Project, application
|
|
development was primarily accomplished through the use of the
|
|
Application Development Toolkit (ADT) and the availability
|
|
of stand-alone cross-development toolchains and other tools.
|
|
With the 2.1 Release of the Yocto Project, application development
|
|
has transitioned to within a more traditional SDK and extensible
|
|
SDK.
|
|
</para>
|
|
|
|
<para>
|
|
A standard SDK consists of a cross-development toolchain that contains
|
|
a compiler, debugger, and various miscellaneous tools; libraries,
|
|
headers, and symbols to match an image; and environment setup script.
|
|
You can use this SDK to independently develop and test code that is
|
|
destined to run on some target machine.
|
|
</para>
|
|
|
|
<para>
|
|
An extensible SDK consists of everything that the standard SDK has plus
|
|
tools that allow you to easily add new applications and libraries to
|
|
an image, modify the source of an existing component, test changes on
|
|
the target hardware, and easily integrate an application into the
|
|
the Yocto Project build system.
|
|
</para>
|
|
</section>
|
|
|
|
<section id='sdk-development-model'>
|
|
<title>SDK Development Model</title>
|
|
|
|
<para>
|
|
Fundamentally, the SDK fits into the development process as follows:
|
|
<imagedata fileref="figures/sdk-environment.png" align="center" width="6in" depth="5in" scalefit="100" />
|
|
The SDK is installed on any machine and can be used to develop
|
|
applications, images, and kernels.
|
|
An SDK can even be used by a QA Engineer or Release Engineer.
|
|
The fundamental concept is that the machine that has the SDK installed
|
|
does not have to be associated with the machine that has the
|
|
Yocto Project installed.
|
|
A developer can independently compile and test an object on their
|
|
machine and then, when the object is ready for integration into an
|
|
image, they can simply make it available to the machine that has the
|
|
the Yocto Project.
|
|
Once the object is available, the image can be rebuilt using the
|
|
Yocto Project to produce the modified image.
|
|
</para>
|
|
|
|
<para>
|
|
You just need to follow these general steps:
|
|
<orderedlist>
|
|
<listitem><para><emphasis>Install the SDK for your target hardware:</emphasis>
|
|
For information on how to install the SDK, see the
|
|
"<link url='sdk-installing-the-sdk'>Installing the SDK</link>"
|
|
section.</para></listitem>
|
|
<listitem><para><emphasis>Download the Target Image:</emphasis>
|
|
The Yocto Project supports several target architectures
|
|
and has many pre-built kernel images and root filesystem
|
|
images.</para>
|
|
<para>If you are going to develop your application on
|
|
hardware, go to the
|
|
<ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
|
|
download area and choose a target machine area
|
|
from which to download the kernel image and root filesystem.
|
|
This download area could have several files in it that
|
|
support development using actual hardware.
|
|
For example, the area might contain
|
|
<filename>.hddimg</filename> files that combine the
|
|
kernel image with the filesystem, boot loaders, and
|
|
so forth.
|
|
Be sure to get the files you need for your particular
|
|
development process.</para>
|
|
<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>
|
|
download area.
|
|
From this area, go down into the directory for your
|
|
target architecture (e.g. <filename>qemux86_64</filename>
|
|
for an <trademark class='registered'>Intel</trademark>-based
|
|
64-bit architecture).
|
|
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
|
|
"<link url='sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</link>"
|
|
section for information on how to extract the root
|
|
filesystem.</note></para></listitem>
|
|
<listitem><para><emphasis>Develop and Test your
|
|
Application:</emphasis> At this point, you have the tools
|
|
to develop your application.
|
|
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.
|
|
You can see the
|
|
"<ulink url='&YOCTO_DOCS_DEV_URL;#dev-manual-qemu'>Using the Quick EMUlator (QEMU)</ulink>"
|
|
chapter in the Yocto Project Development Manual
|
|
for information on using QEMU within the Yocto
|
|
Project.</para></listitem>
|
|
</orderedlist>
|
|
</para>
|
|
|
|
<para>
|
|
The remainder of this manual describes how to use both the standard
|
|
SDK and the extensible SDK.
|
|
Information also exists in appendix form that describes how you can
|
|
build, install, and modify an SDK.
|
|
</para>
|
|
</section>
|
|
|
|
</chapter>
|
|
<!--
|
|
vim: expandtab tw=80 ts=4
|
|
-->
|