S32 SDK
Build Tools

Introduction

S32 SDK officially supports the following compilers:

Note
Toolchain versions and options can be found in the Release Notes. (SDK\ReleaseNotes.pdf)

Compiler warnings disabled for S32 SDK

For Wind River DIAB Compiler the following warnings are not checked at S32 SDK build time:

  • #1824: explicit cast discards volatile qualifier
    Motivation: this warning has been deactivated because of false positive occurrences reported for Wind River DIAB Compiler 5.9.4.8 under tickets TCDIAB-13994, TCDIAB-14098.
  • #5387: explicit conversion of a 64-bit integral type to a smaller integral type (potential portability problem)
    Motivation: this warning has been disabled because it is reported for conversions required by the internal SDK algorithms. Intermediary results requiring high precision are stored as uint64_t variables and converted into uint32_t variables. Checks have been put in place to ensure that the cast is only done if the value to be converted fits on 32 bits.
  • #5388: conversion from pointer to same-sized integral type (potential portability problem)
    Motivation: for S32 SDK conversions between uint32_t and memory addresses are made assuming that pointers are stored on 32bits.

Makefiles

Multiple makefile projects are provided in the 'examples' folder, for all supported compilers. These projects can be modified by adding application code, or the makefiles can be reused in different projects, after reconfiguring the paths/variables. Please note that these projects require the designated compiler to be already installed on the host (check the links above for installer retrieval, from web); also, the makefile path to compiler executable must be updated before running make utility.

S32 Design Studio

S32 Design Studio for ARM is delivered with arm-gcc compiler support included ("{S32_Design_Studio_install_path}\Cross_Tools\gcc-arm-none-eabi). Eclipse plugins for gcc are already installed in S32 Design Studio IDE, so new projects for this toolchain can be created and built directly from the IDE. To add S32 SDK source files to a clean S32 Design Studio project, eclipse "linked resources" feature can be used: project properties->New->Folder->Advanced->'Link to alternate location' (e.g. "{S32_SDK_PATH}"). For S32 Design Studio project with Processor Expert support, please import a project from "{S32_SDK_PATH} Name".

IAR Embedded Workbench

S32 SDK source files can be added to IAR Embedded Workbench projects through Project Menu->Add Files option; this will create a link to the SDK files in the project instead of copying the files in the workspace. The project files can be grouped in any layout, this will not affect the SDK folder structure on disk. After adding the necessary sources, the user must set the include path: Project options->C/C++ Compiler->Preprocessor tab->Additional include directories. Additionally, the linker command file can be overwritten; S32 SDK provides linker scripts for all supported toolchains, both for RAM and Flash target memory; this can be done from Project options->Linker->Linker Configuration File->Check 'Overwrite default', then choose the S32 SDK IAR lcf for RAM/Flash ("{S32_SDK_install_path}\platform\devices\S32K144\linker\iar"). Finally, Project->Make (or F7 on the keyboard) builds the application using IAR compiler for ARM; errors/warnings are shown in the Build Messages view.