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.
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:
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. |
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.
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.
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.