Overview

In addition to predefined (contributed or external) SDKs that are shipped with S32 Design Studio , you can add custom SDKs and use them in projects. You can create an SDK from the existing C/C++ source files, import an SDK from an external storage, or load an SDK using its descriptor. Also, you have an option to export a custom SDK to an archive and make it available for import on other workstations.

Location and visibility

In S32 Design Studio , you add a custom SDK to a particular workspace or to a certain project directly. When added to a workspace, the custom SDK becomes global, that is, available for use in all projects that use the compatible language, MCU, core, and toolchain. Global custom SDKs appear in the project creation wizard along with the predefined SDKs. The list of SDKs can be viewed in the user preferences and in the project settings of projects that are compatible with this SDK.

When added to a project rather than to a workspace, the SDK is local, that is, visible in this project only. SDKs added to a project are displayed in the project properties. If necessary, you can make a local SDK global at any moment.

When you add an SDK, it gets to the collection of SDKs available to a given scope of projects. An added SDK then needs to be attached to a project, after which the SDK files and resources become part of the project and can be included in the build.

SDK descriptor

S32 Design Studio learns the details about an SDK from the SDK descriptor provided in the XML format. The SDK descriptor defines all information about the SDK such as its name and version, supported cores and toolchains, included source files and resources.

When you create an SDK, its descriptor is generated automatically and stored in the preferences (if the SDK is global) or in the project properties (if the SDK is local). When you export an SDK, the sources.xml file with the SDK descriptor is generated automatically and included in the archive. When you import or load an external SDK, this file is expected to be in the SDK root folder.

Using SDKs in a project

To use an SDK in a project, you need to attach it at the project creation or later. A project can use multiple SDKs, each attached to particular or all build configurations. The SDK configuration specifies which SDK files will be linked or copied to the project structure. Some SDKs are provided in the form of modules. Each module includes the SDK files specific for the particular project type or build configuration. So you do not need to attach the entire SDK and can select the required SDK modules only.

When you detach an SDK, copied files are not removed from the project's build configurations. You can detach one or multiple SDKs from a particular or all project build configurations.

The reason for detaching may be the necessity of editing the SDK structure, properties, or files. An SDK cannot be edited until detached from all projects.