CMSIS-Pack  Version 1.4.7
Delivery Mechanism for Software Packs
 All Pages
/package/create/project/select

In this section all components are listed that are selected within the runtime configuration manager and the contained files are therefore part of the project.

Example select section:

<package xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PACK.xsd"/>
...
<create>
<project>
...
<select>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.1.0"/>
<component Cclass="CMSIS" Cgroup="RTOS" Csub="Keil RTX" Cvendor="ARM" Cversion="4.78.0">
<file attr="config" category="source" name="CMSIS/RTOS/RTX/Templates/RTX_Conf_CM.c" version="4.70.1"/>
</component>
<component Cbundle="STM32F429I-Discovery" Cclass="Board Support" Cgroup="Buttons" Cvendor="Keil" Cversion="1.0.0"/>
<component Cbundle="STM32F429I-Discovery" Cclass="Board Support" Cgroup="LED" Cvendor="Keil" Cversion="1.0.0"/>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.4.0">
<file attr="config" category="header" name="CMSIS/Driver/Config/RTE_Device.h" version="2.3.1"/>
<file attr="config" category="header" name="MDK/Templates/Inc/stm32f4xx_hal_conf.h" version="1.4.2"/>
</component>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Common" Cvendor="Keil" Cversion="1.4.0"/>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="Cortex" Cvendor="Keil" Cversion="1.4.0"/>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="GPIO" Cvendor="Keil" Cversion="1.4.0"/>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="PWR" Cvendor="Keil" Cversion="1.4.0"/>
<component Cclass="Device" Cgroup="STM32Cube HAL" Csub="RCC" Cvendor="Keil" Cversion="1.4.0"/>
<component Cclass="Device" Cgroup="Startup" Cvendor="Keil" Cversion="2.4.0">
<file attr="config" category="source" condition="STM32F429xx_ARMCC" name="Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/arm/startup_stm32f429xx.s" version="2.4.2"/>
<file attr="config" category="source" name="Drivers/CMSIS/Device/ST/STM32F4xx/Source/Templates/system_stm32f4xx.c" version="2.4.2"/>
</component>
</select>
...
</project>
</create>
</package>

/select

Parents Element Chain
project /package/create/project
Attributes Description Type Use
Child Elements Description Type Occurrence
component specification of a selected component used for project configuration using CMSIS Software component taxonomy ComponentSelectType 0..*

 


/package/create/project/select/component

Example component element

...
<select>
<component Cclass="CMSIS" Cgroup="CORE" Cvendor="ARM" Cversion="4.1.0"/>
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.4.0">
<file attr="config" category="header" name="CMSIS/Driver/Config/RTE_Device.h" version="2.3.1"/>
<file attr="config" category="header" name="MDK/Templates/Inc/stm32f4xx_hal_conf.h" version="1.4.2"/>
</component>
</select>
...

/component

Parents Element Chain
select element_select
Attributes Description Type Use
Cvendor vendor of the component xs:string required
Cbundle name of bundle the selected component belongs to xs:string required
Cvariant name of the variant of the selected component xs:string required
Cclass component class name following the taxonomy xs:string required
Cgroup component group name following the taxonomy xs:string required
Csub component sub group name following the taxonomy (string may be empty) xs:string required
Cversion version of the selected component. Note that a higher version number can be chosen in case the matching version is not available xs:string required
Capiversion implemented api version defined for the corresponding Cclass:Cgroup:Csub. Only use for components that have an <api> associated xs:string optional
instances number of instances that need to be created of the selectedcomponent. This is only set for components that are multi-instance capable. Defaults to 1 if not set xs:string optional
Child Elements Description Type Occurrence
file specification of configuration files from the selected component. These files are required to be included in the project folder structure already and are expected to contain a configuration setup specifically for the project. ComponentSelectType 0..*

 


/package/create/project/select/component/file

Example file element

...
<component Cclass="Device" Cgroup="STM32Cube Framework" Csub="Classic" Cvendor="Keil" Cversion="1.4.0">
<file attr="config" category="header" name="CMSIS/Driver/Config/RTE_Device.h" version="2.3.1"/>
<file attr="config" category="header" name="MDK/Templates/Inc/stm32f4xx_hal_conf.h" version="1.4.2"/>
</component>
...

component/file

Parents Element Chain
component ComponentSelectType
Attributes Description Type Use
name file path and name within pack it originates from xs:string required
version version of the configuration file being used in example VersionType required
attr file action attribute (i.e. config, copy) FileAttributeType required
category file type (i.e. sourceC, sourceCPP, sourceAsm, header) FileCategoryType required
condition condition id being used at the time of runtime configuration. xs:string optional