diff options
-rw-r--r-- | documentation/sdk-manual/sdk-intro.xml | 67 |
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> |