summaryrefslogtreecommitdiffstats
path: root/documentation/sdk-manual
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/sdk-manual')
-rw-r--r--documentation/sdk-manual/sdk-intro.xml67
1 files changed, 40 insertions, 27 deletions
diff --git a/documentation/sdk-manual/sdk-intro.xml b/documentation/sdk-manual/sdk-intro.xml
index ead450112c..8642be61ad 100644
--- a/documentation/sdk-manual/sdk-intro.xml
+++ b/documentation/sdk-manual/sdk-intro.xml
@@ -31,15 +31,18 @@
31 <para> 31 <para>
32 All SDKs consist of the following: 32 All SDKs consist of the following:
33 <itemizedlist> 33 <itemizedlist>
34 <listitem><para><emphasis>Cross-Development Toolchain</emphasis>: 34 <listitem><para>
35 <emphasis>Cross-Development Toolchain</emphasis>:
35 This toolchain contains a compiler, debugger, and various 36 This toolchain contains a compiler, debugger, and various
36 miscellaneous tools. 37 miscellaneous tools.
37 </para></listitem> 38 </para></listitem>
38 <listitem><para><emphasis>Libraries, Headers, and Symbols</emphasis>: 39 <listitem><para>
40 <emphasis>Libraries, Headers, and Symbols</emphasis>:
39 The libraries, headers, and symbols are specific to the image 41 The libraries, headers, and symbols are specific to the image
40 (i.e. they match the image). 42 (i.e. they match the image).
41 </para></listitem> 43 </para></listitem>
42 <listitem><para><emphasis>Environment Setup Script</emphasis>: 44 <listitem><para>
45 <emphasis>Environment Setup Script</emphasis>:
43 This <filename>*.sh</filename> file, once run, sets up the 46 This <filename>*.sh</filename> file, once run, sets up the
44 cross-development environment by defining variables and 47 cross-development environment by defining variables and
45 preparing for SDK use. 48 preparing for SDK use.
@@ -48,7 +51,7 @@
48 </para> 51 </para>
49 52
50 <para> 53 <para>
51 Additionally an extensible SDK has tools that allow you to easily add 54 Additionally, an extensible SDK has tools that allow you to easily add
52 new applications and libraries to an image, modify the source of an 55 new applications and libraries to an image, modify the source of an
53 existing component, test changes on the target hardware, and easily 56 existing component, test changes on the target hardware, and easily
54 integrate an application into the 57 integrate an application into the
@@ -81,14 +84,15 @@
81 and 84 and
82 <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink>. 85 <ulink url='&YOCTO_DOCS_REF_URL;#var-LD'><filename>LD</filename></ulink>.
83 This reduces the space needed for the tools. 86 This reduces the space needed for the tools.
84 Understand, however, that a sysroot is still needed for every target 87 Understand, however, that every target still needs a sysroot because
85 since those binaries are target-specific. 88 those binaries are target-specific.
86 </para> 89 </para>
87 90
88 <para> 91 <para>
89 The SDK development environment consists of the following: 92 The SDK development environment consists of the following:
90 <itemizedlist> 93 <itemizedlist>
91 <listitem><para>The self-contained SDK, which is an 94 <listitem><para>
95 The self-contained SDK, which is an
92 architecture-specific cross-toolchain and 96 architecture-specific cross-toolchain and
93 matching sysroots (target and native) all built by the 97 matching sysroots (target and native) all built by the
94 OpenEmbedded build system (e.g. the SDK). 98 OpenEmbedded build system (e.g. the SDK).
@@ -100,21 +104,24 @@
100 Additionally, the extensible SDK contains the 104 Additionally, the extensible SDK contains the
101 <filename>devtool</filename> functionality. 105 <filename>devtool</filename> functionality.
102 </para></listitem> 106 </para></listitem>
103 <listitem><para>The Quick EMUlator (QEMU), which lets you simulate 107 <listitem><para>
108 The Quick EMUlator (QEMU), which lets you simulate
104 target hardware. 109 target hardware.
105 QEMU is not literally part of the SDK. 110 QEMU is not literally part of the SDK.
106 You must build and include this emulator separately. 111 You must build and include this emulator separately.
107 However, QEMU plays an important role in the development 112 However, QEMU plays an important role in the development
108 process that revolves around use of the SDK. 113 process that revolves around use of the SDK.
109 </para></listitem> 114 </para></listitem>
110 <listitem><para>The Eclipse IDE Yocto Plug-in. 115 <listitem><para>
116 The Eclipse IDE Yocto Plug-in.
111 This plug-in is available for you if you are an Eclipse 117 This plug-in is available for you if you are an Eclipse
112 user. 118 user.
113 In the same manner as QEMU, the plug-in is not literally part 119 In the same manner as QEMU, the plug-in is not literally part
114 of the SDK but is rather available for use as part of the 120 of the SDK but is rather available for use as part of the
115 development process. 121 development process.
116 </para></listitem> 122 </para></listitem>
117 <listitem><para>Various performance-related 123 <listitem><para>
124 Various performance-related
118 <ulink url='http://www.eclipse.org/linuxtools/index.php'>tools</ulink> 125 <ulink url='http://www.eclipse.org/linuxtools/index.php'>tools</ulink>
119 that can enhance your development experience. 126 that can enhance your development experience.
120 These tools are also separate from the actual SDK but can be 127 These tools are also separate from the actual SDK but can be
@@ -192,11 +199,11 @@
192 </tgroup> 199 </tgroup>
193 </informaltable> 200 </informaltable>
194 <literallayout class='monospaced'> 201 <literallayout class='monospaced'>
195 * 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. 202 * 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.
196 203
197 ** 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. 204 ** 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.
198 205
199 *** Runtime package management can be added to the standard SDK but it is not supported by default. 206 *** You can add runtime package management to the standard SDK but it is not supported by default.
200 207
201 **** You must build and make the shared state available to extensible SDK users for "packages" you want to enable users to install. 208 **** You must build and make the shared state available to extensible SDK users for "packages" you want to enable users to install.
202 </literallayout> 209 </literallayout>
@@ -216,7 +223,7 @@
216 This toolchain is created by running a SDK installer script 223 This toolchain is created by running a SDK installer script
217 or through a 224 or through a
218 <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink> 225 <ulink url='&YOCTO_DOCS_REF_URL;#build-directory'>Build Directory</ulink>
219 that is based on your Metadata configuration or extension for 226 that is based on your metadata configuration or extension for
220 your targeted device. 227 your targeted device.
221 The cross-toolchain works with a matching target sysroot. 228 The cross-toolchain works with a matching target sysroot.
222 </para> 229 </para>
@@ -230,7 +237,7 @@
230 for generating binaries that run on the target architecture. 237 for generating binaries that run on the target architecture.
231 The target sysroot is based on the target root filesystem image 238 The target sysroot is based on the target root filesystem image
232 that is built by the OpenEmbedded build system and uses the same 239 that is built by the OpenEmbedded build system and uses the same
233 Metadata configuration used to build the cross-toolchain. 240 metadata configuration used to build the cross-toolchain.
234 </para> 241 </para>
235 </section> 242 </section>
236 243
@@ -240,7 +247,8 @@
240 <para> 247 <para>
241 The QEMU emulator allows you to simulate your hardware while 248 The QEMU emulator allows you to simulate your hardware while
242 running your application or image. 249 running your application or image.
243 QEMU is not part of the SDK but is made available a number of ways: 250 QEMU is not part of the SDK but is made available a number of
251 different ways:
244 <itemizedlist> 252 <itemizedlist>
245 <listitem><para> 253 <listitem><para>
246 If you have cloned the <filename>poky</filename> Git 254 If you have cloned the <filename>poky</filename> Git
@@ -335,14 +343,18 @@
335 <para> 343 <para>
336 You just need to follow these general steps: 344 You just need to follow these general steps:
337 <orderedlist> 345 <orderedlist>
338 <listitem><para><emphasis>Install the SDK for your target hardware:</emphasis> 346 <listitem><para>
347 <emphasis>Install the SDK for your target hardware:</emphasis>
339 For information on how to install the SDK, see the 348 For information on how to install the SDK, see the
340 "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>" 349 "<link linkend='sdk-installing-the-sdk'>Installing the SDK</link>"
341 section.</para></listitem> 350 section.
342 <listitem><para><emphasis>Download or Build the Target Image:</emphasis> 351 </para></listitem>
352 <listitem><para>
353 <emphasis>Download or Build the Target Image:</emphasis>
343 The Yocto Project supports several target architectures 354 The Yocto Project supports several target architectures
344 and has many pre-built kernel images and root filesystem 355 and has many pre-built kernel images and root filesystem
345 images.</para> 356 images.</para>
357
346 <para>If you are going to develop your application on 358 <para>If you are going to develop your application on
347 hardware, go to the 359 hardware, go to the
348 <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink> 360 <ulink url='&YOCTO_MACHINES_DL_URL;'><filename>machines</filename></ulink>
@@ -356,6 +368,7 @@
356 so forth. 368 so forth.
357 Be sure to get the files you need for your particular 369 Be sure to get the files you need for your particular
358 development process.</para> 370 development process.</para>
371
359 <para>If you are going to develop your application and 372 <para>If you are going to develop your application and
360 then run and test it using the QEMU emulator, go to the 373 then run and test it using the QEMU emulator, go to the
361 <ulink url='&YOCTO_QEMU_DL_URL;'><filename>machines/qemu</filename></ulink> 374 <ulink url='&YOCTO_QEMU_DL_URL;'><filename>machines/qemu</filename></ulink>
@@ -364,21 +377,21 @@
364 target architecture (e.g. <filename>qemux86_64</filename> 377 target architecture (e.g. <filename>qemux86_64</filename>
365 for an <trademark class='registered'>Intel</trademark>-based 378 for an <trademark class='registered'>Intel</trademark>-based
366 64-bit architecture). 379 64-bit architecture).
367 Download kernel, root filesystem, and any other files you 380 Download the kernel, root filesystem, and any other files you
368 need for your process. 381 need for your process.
369 <note> 382 <note>
370 To use the root filesystem in QEMU, you 383 To use the root filesystem in QEMU, you need to extract it.
371 need to extract it.
372 See the 384 See the
373 "<link linkend='sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</link>" 385 "<link linkend='sdk-extracting-the-root-filesystem'>Extracting the Root Filesystem</link>"
374 section for information on how to extract the root 386 section for information on how to extract the root
375 filesystem. 387 filesystem.
376 </note> 388 </note>
377 </para></listitem> 389 </para></listitem>
378 <listitem><para><emphasis>Develop and Test your Application:</emphasis> 390 <listitem><para>
391 <emphasis>Develop and Test your Application:</emphasis>
379 At this point, you have the tools to develop your application. 392 At this point, you have the tools to develop your application.
380 If you need to separately install and use the QEMU 393 If you need to separately install and use the QEMU emulator,
381 emulator, you can go to 394 you can go to
382 <ulink url='http://wiki.qemu.org/Main_Page'>QEMU Home Page</ulink> 395 <ulink url='http://wiki.qemu.org/Main_Page'>QEMU Home Page</ulink>
383 to download and learn about the emulator. 396 to download and learn about the emulator.
384 See the 397 See the
@@ -391,8 +404,8 @@
391 </para> 404 </para>
392 405
393 <para> 406 <para>
394 The remainder of this manual describes how to use both the standard 407 The remainder of this manual describes how to use the extensible
395 SDK and the extensible SDK. 408 and standard SDKs.
396 Information also exists in appendix form that describes how you can 409 Information also exists in appendix form that describes how you can
397 build, install, and modify an SDK. 410 build, install, and modify an SDK.
398 </para> 411 </para>