Core customizations

The New S32DS Project for <processor> page allows you to customize the project properties so that the project could be built properly for the selected processor and core. You can specify the programming language, the I/O to be used, and the floating point support (hardware or software) to be used by the toolchain.
Note: The availability of properties depends on the selected processor. Some processors may not support certain properties.

Core customization properties of a library project

The following table describes the settings that you can configure on this page.

Table 1. S32DS Library Project wizard: Core customization settings
Option Description
Cortex

The ArmĀ® core used in the selected processor.

Note: This check box cannot be cleared. Click Back to select a different processor on the General properties page.

FPU Support

This setting enables GCC to build a project with the floating point support provided either by the processor or by a software library.

The availability of options depends on the ArmĀ® core and ToolChain selection.

Options:

  • for NXP GCC 6.3 for Arm 32-bit Bare-Metal , NXP GCC 9.2 for Arm 32-bit Bare-Metal, NXP GCC 10.2 for Arm 32-bit Bare-Metal and NXP GCC 11.4 for Arm 32-bit Bare-Metal
    • Toolchain Default: The generated floating-point instructions are supported by the processor.
    • Software: No FPU ( -mfloat-abi=soft): The generated output contains library calls for floating-point operations.
    • Hardware: -mfloat-abi=hard: The code uses hardware floating-point instructions and FPU specific calling conventions.
    • Hardware: -mfloat-abi=softfp: The code uses hardware floating-point instructions, but still uses the soft-float calling conventions.
    • Hardware: SP FPU (-mfloat-abi=hard): The code uses hardware floating-point instructions and FPU specific calling conventions.
    • Hardware: DP FPU + NEON (-mfloat-abi=hard): The code uses double-precision hardware floating-point instructions, the Arm Neon architecture extension and the FPU specific calling conventions.
    • Hardware: SP FPU (-mfloat-abi=softfp): The code uses hardware floating-point instructions, but still uses the soft-float calling conventions.
    • Hardware: DP FPU + NEON (-mfloat-abi=softfp): The code uses double-precision hardware floating-point instructions, the Arm Neon architecture extension and the soft-float calling conventions.
  • for NXP GCC 6.3 for Arm 64-bit Bare-Metal , NXP GCC 9.2 for Arm 64-bit Bare-Metal, NXP GCC 10.2 for Arm 64-bit Bare-Metal and NXP GCC 11.4 for Arm 64-bit Bare-Metal
    • Toolchain Default (hard): Generation of floating-point instructions is defined by the FPU support in the selected processor. If the FPU is enabled in the core, floating-point instructions are generated by the core and the hard-float calling conventions are used.
    • None: The code uses no FPU instructions.
Note: Find more information about Arm options in the GCC toolchain documentation on the web.

Language

This setting sets up the default compiler, linker, and preprocessor options for the toolchain and configures other project files, such as main, for the target language.

Note: The selected programming language defines the toolchain settings for the linker and compiler that will be available in the properties for the created project. Selecting C limits the toolchain options to this specific language. If you select C++, you will be able to configure settings for the C and C++ compiler, linker, and preprocessor. The toolchain settings can be further configured after creating the project. For details, see section "C/C++ Build Tool Settings".

Options:

  • C - sets up your project for the ANSI C-compliant startup code and initializes global variables.
  • C++ - sets up your project for the ANSI C++ startup code and performs the global class object initialization.

SDKs

This setting allows you to select an SDK to be added to the project. Click the search button (...) to select an SDK from the list.
Note: The Select SDK window lists the SDKs available in S32 Design Studio . If you do not see your SDK, add it on the SDK Management page. Find the details in Adding an SDK.
Default: SDK is not selected.