CMSIS-Build
Tools, software frameworks, and work flows for productivity with CMSIS based projects
|
Collection of types locally defined for the CMSIS Project format.
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.
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 |
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 |
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. |
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 |
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++. |
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 specification identical to the CMSIS-Pack specification.
Version types are used in: