summaryrefslogtreecommitdiffstats
path: root/documentation/sdk-manual/intro.rst
diff options
context:
space:
mode:
authorRobert P. J. Day <rpjday@crashcourse.ca>2021-05-01 14:09:36 -0400
committerRichard Purdie <richard.purdie@linuxfoundation.org>2021-05-13 11:28:34 +0100
commitf3a66b53bbdc6dfece2e75d6b2451ffbfbbf7d03 (patch)
tree9146556fca232dd0c090db06989f0825bf177a74 /documentation/sdk-manual/intro.rst
parent60c081d9f8371ce3549a22155789f52eb038a091 (diff)
downloadpoky-f3a66b53bbdc6dfece2e75d6b2451ffbfbbf7d03.tar.gz
sdk-manual: various cleanups to intro.rst
Minutiae including grammar fixes, increased brevity and adding a proper link to another SDK manual section. (From yocto-docs rev: 21d6c6fcbae938c256da6e72d6ac8d2ca72d5bc0) Signed-off-by: Robert P. J. Day <rpjday@crashcourse.ca> Reviewed-by: Quentin Schulz <foss@0leil.net> Reviewed-by: Michael Opdenacker <michael.opdenacker@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/sdk-manual/intro.rst')
-rw-r--r--documentation/sdk-manual/intro.rst48
1 files changed, 23 insertions, 25 deletions
diff --git a/documentation/sdk-manual/intro.rst b/documentation/sdk-manual/intro.rst
index d966efea77..124d8a8b1f 100644
--- a/documentation/sdk-manual/intro.rst
+++ b/documentation/sdk-manual/intro.rst
@@ -8,8 +8,8 @@ eSDK Introduction
8================= 8=================
9 9
10Welcome to the Yocto Project Application Development and the Extensible 10Welcome to the Yocto Project Application Development and the Extensible
11Software Development Kit (eSDK) manual. This manual provides information 11Software Development Kit (eSDK) manual. This manual
12that explains how to use both the Yocto Project extensible and standard 12explains how to use both the Yocto Project extensible and standard
13SDKs to develop applications and images. 13SDKs to develop applications and images.
14 14
15.. note:: 15.. note::
@@ -25,12 +25,13 @@ SDKs to develop applications and images.
25All SDKs consist of the following: 25All SDKs consist of the following:
26 26
27- *Cross-Development Toolchain*: This toolchain contains a compiler, 27- *Cross-Development Toolchain*: This toolchain contains a compiler,
28 debugger, and various miscellaneous tools. 28 debugger, and various associated tools.
29 29
30- *Libraries, Headers, and Symbols*: The libraries, headers, and 30- *Libraries, Headers, and Symbols*: The libraries, headers, and
31 symbols are specific to the image (i.e. they match the image). 31 symbols are specific to the image (i.e. they match the image
32 against which the SDK was built).
32 33
33- *Environment Setup Script*: This ``*.sh`` file, once run, sets up the 34- *Environment Setup Script*: This ``*.sh`` file, once sourced, sets up the
34 cross-development environment by defining variables and preparing for 35 cross-development environment by defining variables and preparing for
35 SDK use. 36 SDK use.
36 37
@@ -48,14 +49,14 @@ time since that path cannot be dynamically altered. This is the reason
48for a wrapper around the ``populate_sdk`` and ``populate_sdk_ext`` 49for a wrapper around the ``populate_sdk`` and ``populate_sdk_ext``
49archives. 50archives.
50 51
51Another feature for the SDKs is that only one set of cross-compiler 52Another feature of the SDKs is that only one set of cross-compiler
52toolchain binaries are produced for any given architecture. This feature 53toolchain binaries are produced for any given architecture. This feature
53takes advantage of the fact that the target hardware can be passed to 54takes advantage of the fact that the target hardware can be passed to
54``gcc`` as a set of compiler options. Those options are set up by the 55``gcc`` as a set of compiler options. Those options are set up by the
55environment script and contained in variables such as 56environment script and contained in variables such as
56:term:`CC` and 57:term:`CC` and
57:term:`LD`. This reduces the space needed 58:term:`LD`. This reduces the space needed
58for the tools. Understand, however, that every target still needs a 59for the tools. Understand, however, that every target still needs its own
59sysroot because those binaries are target-specific. 60sysroot because those binaries are target-specific.
60 61
61The SDK development environment consists of the following: 62The SDK development environment consists of the following:
@@ -118,8 +119,8 @@ The Cross-Development Toolchain
118 119
119The :term:`Cross-Development Toolchain` consists 120The :term:`Cross-Development Toolchain` consists
120of a cross-compiler, cross-linker, and cross-debugger that are used to 121of a cross-compiler, cross-linker, and cross-debugger that are used to
121develop user-space applications for targeted hardware. Additionally, for 122develop user-space applications for targeted hardware; in addition,
122an extensible SDK, the toolchain also has built-in ``devtool`` 123the extensible SDK comes with built-in ``devtool``
123functionality. This toolchain is created by running a SDK installer 124functionality. This toolchain is created by running a SDK installer
124script or through a :term:`Build Directory` that is based on 125script or through a :term:`Build Directory` that is based on
125your metadata configuration or extension for your targeted device. The 126your metadata configuration or extension for your targeted device. The
@@ -138,21 +139,19 @@ The QEMU Emulator
138----------------- 139-----------------
139 140
140The QEMU emulator allows you to simulate your hardware while running 141The QEMU emulator allows you to simulate your hardware while running
141your application or image. QEMU is not part of the SDK but is made 142your application or image. QEMU is not part of the SDK but is
142available a number of different ways: 143automatically installed and available if you have done any one of
144the following:
143 145
144- If you have cloned the ``poky`` Git repository to create a 146- cloned the ``poky`` Git repository to create a
145 :term:`Source Directory` and you have 147 :term:`Source Directory` and sourced the environment setup script.
146 sourced the environment setup script, QEMU is installed and
147 automatically available.
148 148
149- If you have downloaded a Yocto Project release and unpacked it to 149- downloaded a Yocto Project release and unpacked it to
150 create a Source Directory and you have sourced the environment setup 150 create a Source Directory and sourced the environment setup
151 script, QEMU is installed and automatically available. 151 script.
152 152
153- If you have installed the cross-toolchain tarball and you have 153- installed the cross-toolchain tarball and
154 sourced the toolchain's setup environment script, QEMU is also 154 sourced the toolchain's setup environment script.
155 installed and automatically available.
156 155
157SDK Development Model 156SDK Development Model
158===================== 157=====================
@@ -202,10 +201,9 @@ You just need to follow these general steps:
202 201
203 .. note:: 202 .. note::
204 203
205 To use the root filesystem in QEMU, you need to extract it. See 204 To use the root filesystem in QEMU, you need to extract it. See the
206 the " 205 ":ref:`sdk-manual/appendix-obtain:extracting the root filesystem`"
207 Extracting the Root Filesystem 206 section for information on how to do this extraction.
208 " section for information on how to extract the root filesystem.
209 207
2103. *Develop and Test your Application:* At this point, you have the 2083. *Develop and Test your Application:* At this point, you have the
211 tools to develop your application. If you need to separately install 209 tools to develop your application. If you need to separately install