CMSIS-Pack  Version 1.3.1
Delivery Mechanism for Software Packs
 All Pages
/package/generators element

The element /package/generators/generator specifies a generator tool that has been used to create a Generator PDSC (GPDSC) file. A description of the tool is supplied together with the device vendor and the device name that is required for the GPDSC to work. The command to launch the generator that created the GPDSC is given. All project files that have been generated by the tool are also included. The description can also specify generated components. Such components are mandatory for the project and conditions can be used to mandate other components to be selected as well.

Example Generator Section

<generators>
<generator id="DAVE3">
<description>DAVE3 Infineon XMC1000/XMC4000 Environment</description>
<select Dvendor="Infineon:7" Dname="XMC1100-64"/>
<command>%DAVE3%\eclipse\DAVE-3.1.6.exe -f"%FPack%"</command>
<project_files>
<file category="source" name="Main.c"/>
<!-- add any other user application modules and header files -->
</project_files>
<files>
<file category="source" name="output_gen.log"/>
<!-- add any other generator files -->
</files>
</generator>
</generators>

Example Generator Package Description File (gpdsc)

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<package xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" schemaVersion="1.0" xs:noNamespaceSchemaLocation="PACK.xsd">
<vendor>Infineon</vendor>
<name>Test</name>
<description>Generated Configuration Files for CE Project Test</description>
<url>C:\DAvE_Bench\Workspace\DAVE-3.1.10\Test</url>
<releases>
<release version="1.0.0">- Initial setup for Test</release>
</releases>
<generators>
<generator id="DAVE3">
<description>DAVE3 Infineon XMC1000/XMC4000 Environment</description>
<select Dname="XMC4500-F144x1024" Dvendor="Infineon:7"/>
<command>C:\DAVE-3.1.10\eclipse\DAVE-3.1.10.exe -data C:\DAvE_Bench\Workspace\DAVE-3.1.10</command>
</generator>
</generators>
<taxonomy>
<description Cclass="DAVE3" generator="DAVE3">Configuration Files generated by DAVE3</description>
</taxonomy>
<conditions>
<condition id="CMSIS Device Startup">
<description>Condition to include CMSIS core and Device Startup components</description>
<require Cclass="CMSIS" Cgroup="CORE" Csub=""/>
<require Cclass="Device" Cgroup="Startup"/>
</condition>
</conditions>
<components generator="DAVE3">
<component Cclass="DAVE3" Cgroup="Framework" Cversion="1.0.38" condition="CMSIS Device Startup">
<description>DAVE3 Framework</description>
<RTE_Components_h>
#define DAVE_CE
</RTE_Components_h>
<files>
<file category="header" name="Dave\Generated\inc\DAVESUPPORT\DAVE3.h"/>
<file category="source" name="Dave\Generated\src\DAVESUPPORT\DAVE3.c"/>
</files>
</component>
<component Cclass="DAVE3" Cgroup="RESET001" Cversion="1.0.10">
<description>App which provides APIs to assert/deassert peripheral modules.</description>
<files>
<file category="doc" name="http://dave.infineon.com/Libraries/DAVEApps/DAVEAppsDocuArchive/www.infineon.com/1.0.10/app/reset001/0/doc/html/group___r_e_s_e_t001_app.html"/>
<file category="header" name="Dave\Generated\inc\RESET001\RESET001.h"/>
<file category="source" name="Dave\Generated\src\RESET001\RESET001.c"/>
</files>
</component>
</components>
</package>

 


/package/generators

Grouping element for generators. No more than one such group can exist in a PACK. None such group must exist.

Parent Chain
package /package
Child Elements Description Type Occurrence
generator Description of the generator and the related files GeneratorType 1..*

 


/package/generators/generator

The generator section is used to provide the details about the tool that has been used to create the GPDSC file. At least one generator element must exist.

Parent Chain
generators /package/generators
Attributes Description Type Use
id Identifier of the generator tool. Can be used by other elements to determine the generator. xs:string required
Gvendor Vendor name of the generator tool. xs:string optional
Gtool Plain text name of the generator. xs:string optional
Gversion Version of the generator tool. xs:string optional
Child Elements Description Type Occurrence
description Briefly describes the generator tool. xs:string 0..1
select Complex type describing a device specifying device name, vendor, and variant. GeneratorSelectType 0..1
command Invocation command for the generator tool. (see examples on top of the page) xs:string 0..1
project_files Grouping element for all project files generated by the tool. group 0..1
files Grouping element for generator tool files. group 0..1
extensions Generator vendor specific section ignored by other tools N/A 0..1

 


/package/generators/generator/select

This element contains information about the device and vendor that has been used to generate the GPDSC file. Maximum one such element can exist.

Example:

<generators>
<generator id="DAVE3">
<select Dvendor="Infineon:7" Dname="XMC1100-64"/>
</generator>
</generators>

 

Parent Chain
generator /package/generators/generator
Attributes Description Type Use
Dvendor Vendor name of the target device. Use predefined values as listed in the table Device Vendor. DeviceVendorEnum required
Dname Name of the target device. xs:string optional
Dvariant Name of a device variant. xs:string optional

 


/package/generators/generator/project_files

The group project_files specifies all files that are required for the project setup. Maximum one such group can exist.

Example

<generators>
<generator id="DAVE3">
<description>DAVE3 Infineon XMC1000/XMC4000 Environment</description>
<select Dvendor="Infineon:7" Dname="XMC1100-64"/>
<command>%DAVE3%\eclipse\DAVE-3.1.6.exe -f"%FPack%"</command>
<project_files>
<file category="source" name="Main.c"/>
...
</project_files>
</generator>
</generators>

 

Parent Element Chain
generator /package/generators/generator
Child Elements Description Type Occurrence
file Frame for files created by the generator and used in a project. group 0..1

 


/package/generators/generator/files

The group files specifies files that are required by the generator tool. Maximum one such group can exist.

Example

<generators>
<generator id="DAVE3">
<files>
...
<files>
</generator>
</generators>

 

Parent Element Chain
generator /package/generators/generator
Child Elements Description Type Occurrence
file Frame for files used by the generator. group 0..1

 


/package/generators/generator/files/file

This element contains information about files used by a generator.

Example

<generators>
<generator id="DAVE3">
<files>
<file category="generator" name="Main.c"/>
<file category="you_name_it" name="database/connection.odbc" version="1.2.3"/>
...
<files>
</generator>
</generators>

 

Parent Element Chain
files /package/generators/generator/files
Attributes Description Type Use
condition Reference using the name of the respective condition specified in the conditions section of this package (/package/conditions). If the condition resolves to false, then the element will be ignored and treated as if not present. xs:string optional
category Describes the file type (for example: doc, header, library). You can use predefined values as listed in the table File Categories, however, this is not mandatory. xs:string required
name Can consist of the path (relative to the PACK base directory) and the file name with extension. xs:string required
version File-specific version information. The version format is described in Version Type. VersionType optional