CMSIS-Build
Tools, software frameworks, and work flows for productivity with CMSIS based projects
|
This element lists all software components that are selected within the Manage Run-Time Environment.
Example components section:
Parents | Element Chain | ||
---|---|---|---|
cprj | /cprj | ||
Child Elements | Description | Type | Occurrence |
component | identify a selected software component and configuration files as well as commandline options specific to this component. | ComponentType | 1..* |
Identify a software component.
Example component element
Parents | Element Chain | ||
---|---|---|---|
components | /cprj/components | ||
Attributes | Description | Type | Use |
Cvendor | Vendor name of the component. | xs:string | optional |
Cbundle | Name of bundle to which the selected component belongs. | xs:string | optional |
Cclass | Component class name. | xs:string | required |
Cgroup | Component group name. | xs:string | required |
Csub | Component sub group name following the taxonomy (string may be empty) | CsubType | optional |
Cvariant | Name of the variant of the selected component. | CvariantType | optional |
Cversion | Version of the selected component. Note, a higher version number can be entered in case the matching version is not available. | ComponentVersionType | optional |
Capiversion | Implemented api version defined for the corresponding Cclass:Cgroup:Csub. Set the value only for components that have an associated <api>. | ComponentVersionType | optional |
instances | Number of instances created for the component. Set the value only for components that are multi-instance capable. Defaults to 1 if not set. | InstancesType | optional |
layer | Reference to a layer name as specfied by the layers section indicating that this component belongs to the named layer. | xs:string | optional |
Child Elements | Description | Type | Occurrence |
cflags | Specify compiler flags for C-modules contained in this component | ToolOptionType | 0..1 |
cxxflags | Specify compiler flags for C++-modules contained in this component | ToolOptionType | 0..1 |
asflags | Specify assembler flags for Assembler-modules contained in this component | ToolOptionType | 0..1 |
file | Specify configuration files from the selected component including version information. The ID for a configuration file is the relative path in the pack it originates from. | ComponentFileType | 0..* |
includes | Specify a semicolon separated list of include paths that are valid for the compilation of the modules in this component. | xs:string | optional |
excludes | Specify a semicolon separated list of include paths to be removed from the compilation of the modules in this component. | xs:string | optional |
defines | Specify a semicolon separated list of preprocessor defines that are valid for modules undergoing preprocessing in this component. Key/value pairs are separated by the equal sign. | xs:string | optional |
undefines | Specify a semicolon separated list of preprocessor undefines that are valid for modules undergoing preprocessing in this component. | xs:string | optional |
Specify the configuration files for the selected component. These files must already exist in the project folder structure (RTE/<Cclass>[/<Device>]/...) and contain a configuration setup specifically adopted for the project. Providing the version number of the orignal file is mandatory.
Example file element
Parents | Element Chain | ||
---|---|---|---|
component | /cprj/components/component | ||
Attributes | Description | Type | Use |
category | File type, for example header. Use predefined values from the table File Category. | FileCategoryType | required |
attr | File action attribute, for example copy. Use predefined values from the table File Attribute. | FileAttributeType | optional |
name | File path and name within pack the file originates from (configuration file ID) | xs:string | required |
version | Version of the configuration file being present in the example. | VersionType | required |
These compiler options are either added or removed from the inherited command line and affect all C modules that belong to the component. This flag can also be added to file groups and individual files within the description.
Example cflags element for component
Parents | Element Chain | ||
---|---|---|---|
component | /cprj/components/component | ||
Attributes | Description | Type | Use |
compiler | selects the compiler the command line option string is targeted at. Choose from available list: GCC, AC5, AC6, IAR, Tasking, GHS, Cosmic, G++ | CompilerEnumType | required |
add | commandline string to be added to the inherited command line for the compiler invoked for C-modules specific to the tool-chain selected by the 'compiler' attribute. | xs:string | required |
remove | option tokens to be removed from the inherited command line for the compiler invoked for C-modules specific to the tool-chain selected by the 'compiler' attribute. | xs:string | required |
These compiler options are either added or removed from the inherited command line and affect all C++ modules that belong to the component. This flag can also be added to file groups and individual files within the description.
Example cxxflags element for component
Parents | Element Chain | ||
---|---|---|---|
component | /cprj/components/component | ||
Attributes | Description | Type | Use |
compiler | selects the compiler the command line option string is targeted at. Choose from available list: GCC, AC5, AC6, IAR, Tasking, GHS, Cosmic, G++ | CompilerEnumType | required |
add | commandline string to be added to the inherited command line for the compiler invoked for C++-modules specific to the tool-chain selected by the 'compiler' attribute. | xs:string | required |
remove | option tokens to be removed from the inherited command line for the compiler invoked for C++-modules specific to the tool-chain selected by the 'compiler' attribute. | xs:string | required |
These assembler options are either added or removed from the inherited command line and affect all Assembler modules that belong to the component. This flag can also be added to file groups and individual files within the description.
Example asflags element for component
Parents | Element Chain | ||
---|---|---|---|
component | /cprj/components/component | ||
Attributes | Description | Type | Use |
compiler | selects the compiler the command line option string is targeted at. Choose from available list: GCC, AC5, AC6, IAR, Tasking, GHS, Cosmic, G++ | CompilerEnumType | required |
add | commandline string to be added to the inherited command line for the compiler invoked for C++-modules specific to the tool-chain selected by the 'compiler' attribute. | xs:string | required |
remove | option tokens to be removed from the inherited command line for the compiler invoked for C++-modules specific to the tool-chain selected by the 'compiler' attribute. | xs:string | required |
use | selects legacy assembler to be invoked in place of the default assembler for a given tool-chain. Currently supported values: armasm (AC6), gas (GCC) | xs:string | optional |