3.7.7. Application Development SDK

In the general Yocto Project Development Environment figure, the output labeled "Application Development SDK" represents an SDK. The SDK generation process differs depending on whether you build a standard SDK (e.g. bitbake -c populate_sdk imagename) or an extensible SDK (e.g. bitbake -c populate_sdk_ext imagename). This section is going to take a closer look at this output:

The specific form of this output is a self-extracting SDK installer (*.sh) that, when run, installs the SDK, which consists of a cross-development toolchain, a set of libraries and headers, and an SDK environment setup script. Running this installer essentially sets up your cross-development environment. You can think of the cross-toolchain as the "host" part because it runs on the SDK machine. You can think of the libraries and headers as the "target" part because they are built for the target hardware. The environment setup script is added so that you can initialize the environment before using the tools.

Note

The Yocto Project supports several methods by which you can set up this cross-development environment. These methods include downloading pre-built SDK installers or building and installing your own SDK installer.

For background information on cross-development toolchains in the Yocto Project development environment, see the "Cross-Development Toolchain Generation" section. For information on setting up a cross-development environment, see the Yocto Project Application Development and the Extensible Software Development Kit (eSDK) manual.

Once built, the SDK installers are written out to the deploy/sdk folder inside the Build Directory as shown in the figure at the beginning of this section. Depending on the type of SDK, several variables exist that help configure these files. The following list shows the variables associated with a standard SDK:

This next list, shows the variables associated with an extensible SDK: