| CMSIS-Pack Version 1.3.1 Delivery Mechanism for Software Packs

- CMSIS
- CORE
- Driver
- DSP
- RTOS API
- Pack
- SVD

- Main Page
- Usage and Description

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