When you create a new project a default set of build configurations are created. These configurations vary depending on the CPU support package you are using and the type of project you create.

Executable project types

For Executable projects, some CPU support packages include the memory configuration in the build configuration. The following describes the default set of project configurations for this type of project:

Private configurations
Configuration name Description
ARM Compile and assemble for ARM instruction set. Link ARM version of libraries.
THUMB Compile and assemble for Thumb instruction set. Link Thumb version of libraries.
Flash Load into, and run from, flash memory.
RAM Load into, and run from, RAM.
Debug Compile and assemble with debug information and with optimization disabled.
Release Compile and assemble without debug information and with optimization enabled at level 1.
Public configurations
Configuration Name Inherited configurations
ARM Flash Debug ARM, Flash, Debug
ARM Flash Release ARM, Flash, Release
ARM RAM Debug ARM, RAM, Debug
ARM RAM Release ARM, RAM, Release
THUMB Flash Debug THUMB, Flash, Debug
THUMB Flash Release THUMB, Flash, Release
THUMB RAM Debug THUMB, RAM, Debug
THUMB RAM Release THUMB, RAM, Release

For Executable project types with CPU support packages that do not specify the memory configuration in the build configuration, you will project will have the following configurations:

Configuration Name Description
ARM Debug Compile/assemble for ARM instruction set. Link ARM version of libraries. Compile/assemble with debug information and with optimization disabled.
ARM Release Compile/assemble for ARM instruction set. Link ARM version of libraries. Compile/assemble without debug information and with optimization enabled.
Thumb Debug Compile/assemble for Thumb instruction set. Link Thumb version of libraries. Compile/assemble with debug information and with optimization disabled.
Thumb Release Compile/assemble for Thumb instruction set. Link Thumb version of libraries. Compile/assemble without debug information and with optimization enabled.

The CPU support packages that create configurations which have no memory configuration will provide a project Placement property that enables the memory configuration to be selected.

Note: Cortex-M CPU support packages will not create any ARM configurations.

Library project types

CrossWorks for ARM provides two library project types with associated build configurations. The Static Library project will create configurations based on combinations of ARM/THUMB and Debug/Release. When you have created a library project of this form, you will need to set the required ARM architecture, byte order (endian) and floating-point ABI project properties. The Static Library with Configurations project will create configurations based on combinations of:

For example, V5TE VFP ARM LE SoftFP EABI Fast Debug is a configuration for a V5TE architecture device with a VFP, ARM instruction set, little-endian byte order, soft floating point, EABI procedure calling, double is supported, do speed optimization rather than size optimization, and include debug information.

The CPU support package you are using may support a library project type—in this case the project configurations created will be based on combinations of ARM/THUMB and Debug/Release.

Externally Built Executable project types

The set of build configurations created with Externally Built Executable project types will either match those created for an Executable project types, or will have no build configurations created. The memory configuration selected for debug will be specified by the build configuration, or if no build configurations are available, by the value of the Placement project property.