Building code in S32 Design Studio is highly configurable and provides many flexibilities. In the simplest case, you just click the menu button and get the compiled file for debugging in a couple of moments. This scenario uses the default build settings specific to your project.
To have a deeper view and a better command of the build process, learn about the basic concepts described below.
Build targets
The build target is an output file compiled from the project code at build time. Depending on the project type, the build generates an executable file or a library file ready for execution. In addition, you can generate secondary output such as an image file, a disassembly file, or other.
Build configuration
The settings that configure the build process are collected in a build configuration - a special section of the project properties. A build configuration specifies the builder to be used, the prioritized list of build tools available to the builder, and the tool settings. Also, a build configuration determines the project folders and files participating in the build, and enables build logging.
A project in S32 Design Studio can have multiple build configurations. When just created, a project gets several default configurations for building the debug and release versions of the code. You can create more configurations for a project, adjust the settings in any build configuration, rename the build configurations, and delete any configuration from the project.
One of the project’s build configurations is selected to be active. The active build configuration is the one to be used at build time.
Builder
The builder is a component that calls the build tools to generate the intermediate build files and the build target. In the build configuration, you select the internal CDT builder or an external builder supported in S32 Design Studio . The internal builder does not create a makefile, while the external builders do.
This chapter focuses on building by means of an external builder.
Toolchains
S32 Design Studio comes with a collection of toolchains targeted at different project types. Most of the supported toolchains are based on the standard GCC tools and implement extensions to comply with a target hardware architecture.
When you create a project, you specify the toolchain that matches the project’s target MCU and the core. After that, you should not select a different toolchain for the project.
The tools included in the toolchain are set up by default and can be fine-tuned in the build configuration.
Build tools
Besides, a toolchain can include the disassembler tool and the preprocessor tool that are never called at build time. You can call these tools from the menu, without starting the build, to look into the assembler instructions, string substitutions and other conversions that will take place later when you build the project.