CMSIS-Build  
Tools, software frameworks, and work flows for productivity with CMSIS based projects
 All Pages
cprj specific types

Collection of types locally defined for the CMSIS Project format.

restrictedStringType

Restricted string type excludes the use of special characters including spaces in order to allow tools to use the string in folder and/or file names.

<xs:pattern value= "[\-_A-Za-z0-9]+" />

 


toolOptionType

Parents Element Chain
multiple asflags, cflags, cxxflags
Attributes Description Type Use
compiler selects the compiler the contained information is targeted at. Choose from available list: GCC, AC5, AC6, IAR, Tasking, GHS, Cosmic, G++ CompilerEnumType required
add commandline options to be added to the command line of the respective tool. xs:string optional
remove commandline options to be removed from the command line of the respective tool (not supported on target level). xs:string optional

 


Table: Device FPU The table lists values that indicate whether a CPU has an Floating Point Unit (FPU). The tokens can be used in the elements:

Dfpu= Description
NO_FPU Hardware Floating Point Unit not present
FPU Hardware Floating Point Unit present
SP_FPU Single Precision Hardware Floating Point Unit present
DP_FPU Double Precision Hardware Floating Point Unit present

Table: Device MPU

The table shows predefined values that identify whether a CPU has an Memory Protection Unit (MPU). The values can be used in the elements:

Dmpu= Description
MPU Memory Protection Unit is present
NO_MPU No Memory Protection Unit is present

Table: Endianness

The table lists values representing the endianness of a device. The values can be used in the elements:

Dendian= Description
Little-endian The least significant byte of a multi-byte access is located at the specified address.
Big-endian The most significant byte of a multi-byte access is located at the specified address.
Configurable The byte ordering of multi-byte accesses is configurable.

 


Table: Security Model The table lists values that indicate whether an application is running in secure or non-scure mode, or whether trust-zone got disabled. The tokens can be used in the elements:

Dsecure= Description
TZ-disabled The application/library built is executed by a processor which has TrustZone disabled.
Secure The application/library built is executed in 'secure mode'
Non-Secure The application/library built is executed in 'non-secure mode'

 


Table: Cortex-M Vector Extensions The table lists predefined values that selects which instruction set from the Cortex-M Vector Extensions (MVE) are used during code generation. The tokens can be used in the elements:

Dmve= Description
NO_MVE The application/library built is not using MVE instructions.
MVE The application/library built is using MVE integer instructions.
FP_MVE The application/library built is using MVE integer and floating point instructions.

 


Table: File Categories

File category types define the use of component files within the application. Typically, these files are added to the project and processed by the build tools.

File categories are used in the following elements:

The table lists the predefined values for a file category.

category= Description
doc Documentation
header Header file used in the component. Sets an include file path and adds the file name attribute to the list of files to be added to a module using the #include statement. Note: specify only those files as header files that form part of the API of the component, required to use the component
include Sets an include file path. Note: ensure that the name attribute specifies a directory and ends with a '/'.
library Library file
object Object file that can be added to the application
source Startup-, system-, and other C/C++, assembler, etc. source files
sourceC C source file
sourceCpp C++ source file
sourceAsm Assembly source file
linkerScript linker script file that can be selected by tool-chains
utility a command line tool that can be configured for pre- or post-processing during the build process
image Files of image type are marked for special processing into a File System Image embedded into the application. This category requires the attr being set to template.
preIncludeGlobal The specified file is added as a pre-include file to the compiler command line for all modules of the whole project (globally).
preIncludeLocal The specified file is added as a pre-include file to the compiler command line for all modules of the component (locally).
other Other file types not covered in the list above

 


Table: Compiler Types

Represents a C/C++ compiler toolchain. The tokens can be used in the elements:

Tcompiler= Description
GCC GNU Tools for Arm Embedded Processors. Refer to Arm GCC.
G++ Code Sourcery GCC compiler for C and C++ (is now Mentor Graphics CodeBench).
AC5 Arm Compiler for C and C++ Major Version 5. Refer to Arm Compiler. Due to incompatible command line syntax version 5 and 6 are listed as separate compilers.
AC6 Arm Compiler for C and C++ Major Version 6. Refer to Arm Compiler. Note: Due to incompatible command line syntax version 5 and 6 are listed as separate compilers.
IAR IAR compiler for C and C++.
Tasking TASKING compiler for C and C++.
GHS Green Hills Software compiler for C, C++, and EC++.

 


Table: File Attributes

The file attribute defines the special handling in the project when being used as configuration, template, or interface file. The table lists the values available as a file attribute.

attr= Description
config The file is a configuration file of the component. It is expected that only configuration options are modified. The file is managed as part of the component, as a project-specific file typically copied into the component section of the project.s
template The file is used as a source code template file. It is expected to be edited and extended by the software developer. The file can be copied into a user section of the project.

 


Version Type

Version specification identical to the CMSIS-Pack specification.

Version types are used in: