From fe8d57543313cd6ef79141ed374ac4f708f4e810 Mon Sep 17 00:00:00 2001 From: Scott Rifenbark Date: Mon, 19 Sep 2016 16:45:26 -0700 Subject: sdk-manual: New Projet chapter added and other fixes I extracted the sections on Makefile, Autotools, and Eclipse into their own new chapter. Seemed to make sense as they are projet types for both standard and extensible SDK types. Also, swapped the order of appearance from standard first to extensible first. This swapping caused a bit of rewriting. (From yocto-docs rev: 138a4d5576123da800a8fd8d99462a138ceeb743) Signed-off-by: Scott Rifenbark Signed-off-by: Richard Purdie --- documentation/sdk-manual/sdk-intro.xml | 124 +++++++++++++++++++++++++++------ 1 file changed, 103 insertions(+), 21 deletions(-) (limited to 'documentation/sdk-manual/sdk-intro.xml') diff --git a/documentation/sdk-manual/sdk-intro.xml b/documentation/sdk-manual/sdk-intro.xml index 0995f79a93..e0f51e1cf1 100644 --- a/documentation/sdk-manual/sdk-intro.xml +++ b/documentation/sdk-manual/sdk-intro.xml @@ -12,25 +12,24 @@ Welcome to the Yocto Project Software Development Kit (SDK) Developer's Guide. This manual provides information that explains how to use both the - standard Yocto Project SDK and an extensible SDK to develop - applications and images using the Yocto Project. + Yocto Project extensible and standard SDKs to develop + applications and images. Additionally, the manual also provides information on how to use the popular Eclipse IDE as part of your application development workflow within the SDK environment. + + 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 tool-rich extensible SDK and the more + traditional standard SDK. + - 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. - - - - A standard SDK consists of the following: + All SDKs consist of the following: Cross-Development Toolchain: This toolchain contains a compiler, debugger, and various @@ -46,19 +45,19 @@ preparing for SDK use. - You can use the standard SDK to independently develop and test code - that is destined to run on some target machine. - 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 + Additionally an extensible SDK has 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 OpenEmbedded build system. + You can use an SDK to independently develop and test code + that is destined to run on some target machine. SDKs are completely self-contained. The binaries are linked against their own copy of libc, which results in no dependencies @@ -73,7 +72,7 @@ Another feature for the SDKs is that only one set of cross-compiler - toolchain binaries are produced per architecture. + toolchain binaries are produced for any given architecture. This feature takes advantage of the fact that the target hardware can be passed to gcc as a set of compiler options. Those options are set up by the environment script and contained in @@ -98,6 +97,8 @@ configuration and extensions, which allows you to cross-develop on the host machine for the target hardware. + Additionally, the extensible SDK contains the + devtool functionality. The Quick EMUlator (QEMU), which lets you simulate target hardware. @@ -122,6 +123,85 @@ + + In summary, the extensible and standard SDK share many features. + However, the extensible SDK has powerful development tools to help you + more quickly develop applications. + Following is a table that summarizes the primary differences between + the standard and extensible SDK types when considering which to + build: + + + + + + + + Feature + Standard SDK + Extensible SDK + + + + + Toolchain + Yes + Yes* + + + Debugger + Yes + Yes* + + + Size + 100+ MBytes + 1+ GBytes (or 300+ MBytes for minimal w/toolchain) + + + devtool + No + Yes + + + Build Images + No + Yes + + + Updateable + No + Yes + + + Managed Sysroot** + No + Yes + + + Installed Packages + No*** + Yes**** + + + Construction + Packages + Shared State + + + + + + * Extensible SDK will contain the toolchain and debugger if SDK_EXT_TYPE is "full" or SDK_INCLUDE_TOOLCHAIN is "1", which is the default. + + ** Sysroot is managed through use of devtool. 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 must build and make the shared state available to extensible SDK users for "packages" you want to enable users to install. + + +
The Cross-Development Toolchain @@ -131,6 +211,8 @@ consists of a cross-compiler, cross-linker, and cross-debugger that are used to develop user-space applications for targeted hardware. + Additionally, for an extensible SDK, the toolchain also has + built-in devtool functionality. This toolchain is created by running a toolchain installer script or through a Build Directory @@ -258,7 +340,7 @@ For information on how to install the SDK, see the "Installing the SDK" section. - Download the Target Image: + Download or Build the Target Image: The Yocto Project supports several target architectures and has many pre-built kernel images and root filesystem images. -- cgit v1.2.3-54-g00ecf