CMSIS Packs  Version 0.10
Mechanism to install software, device support, APIs, and example projects
 All Pages
/package level

The basic package information captures the package vendor, the package name, a brief description of the package, and the schema version. Additional elements support the logistics of handling packages. The url specifies the origin of the description. A license file might point to license agreements. A list of keywords assists searching for packages.

Example:

<package ... >
<vendor>Keil</vendor>
<name>STM32F2xx_DFP</name> <!-- name of package -->
<description>Device Family Package for STMicroelectronics STM32F2 Family of ARM Cortex-M3 based Microcontroller</description>
<url>http://www.keil.com/pack</url>
<license>.\END_USER_LICENCE_AGREEMENT.rtf</license>
<releases>
<release version="1.0.0" date="14.12.2000">
First Release version of STM32F2 Device Family Pack.
</release>
<release version="0.9.0">
Beta version of STM32F2 Device Family Pack.
</release>
</releases>
<keywords> <!-- keywords for indexing -->
<keyword>ST</keyword>
<keyword>Device Support</keyword>
<keyword>Device Family Package ST</keyword>
<keyword>STM32F2</keyword>
<keyword>STM32F2xx</keyword>
</keywords>
<taxonomy> <!-- class and group descriptions -->
<description Cclass="Board Support">
Generic Interfaces and Templates for Evaluation and Development Boards
</description>
</taxonomy>
...
</package>

 

/package

Parent Element Chain
root Document root
Attributes Description Type Occurrence
schemaVersion CMSIS-PDSC schema version used for describing the Software Pack (for example, 1.0). VersionType 1..1
xmlns:xs Is set to: "http://www.w3.org/2001/XMLSchema-instance" to indicate compliance to the XML format. xs:decimal 1..1
xs:noNamespaceSchemaLocation Path and file name of the PACK.xsd Schema. For example, PACK.xsd. xs:string 1..1
Child Elements Description Type Occurrence
name Name of the Software Pack. Could be displayed by an installer. xs:string 1..1
vendor Name of the supplier or vendor of the Software Pack. xs:string 1..1
description Brief description of the Software Pack. xs:string 1..1
url Web location of the Software Pack. URL can be used by installers for downloading, updating, or checking versions. xs:anyURI 1..1
license Path to a license document. xs:string 0..1
releases Version release history with brief information about a Software Pack. ReleasesGroup 0..1
keywords Defines keywords that might be used to find a Software Pack. Keywords may be also exported to web page to provide information for search engines, such as Google. group 0..1
taxonomy This optional section contains the description for a component class or component class/group with the option to create a link to a document.This way the taxonomy introduced for components in a package can be described and documented. taxonomyType 0..1
apis Defines the API (Application Programming Interfaces) specifications contained in the Software Pack. ApisType 0..1
conditions This section of the description contains the definition of all conditions used within the PACK. Conditions are rules describing dependencies on device attributes, components and tools. Conditions are referenced by components and files. If a condition resolves to false, that component or file description will be ignored. ConditionsType 0..1
devices Defines the device family, the devices, and optionally variants (such as boards). group 0..1
components Lists the software components that are included in the PACK. group 0..1
examples Lists the examples that are included in the PACK. group 0..1

 


/package/keywords

The element /package/keywords may provide keywords that can be used to find a PACK. Keywords may be also exported to web page to provide information for search engines, such as Google.

Example:

<package>
...
<keywords>
<keyword>ARM</keyword>
<keyword>Cortex-M</keyword>
<keyword>TCP/IP Stack</keyword>
</keywords>
...
</package>

 

Parent Element Element Chain
package /package
Child Elements Description Type Occurrence
keyword Keyword for search engines. xs:string 1..1

 


/package/releases

Contains the release history of the PACK

The element /package/releases is mandatory. However, for historical reason this element is defined as optional in the XML shema. It contains the full version history of the PACK along with brief release information. The latest version is always listed on top.

Example:

<package>
...
<releases>
<release version="1.1.1">
Fixed a problem with the feature xyz.
</release>
<release version="1.1.0">
Introduces a new feature xyz.
</release>
<release version="1.0.0">
First published version.
</release>
</releases>
...
</package>

 

Parent Element Element Chain
package /package
Child Element Description Type Occurrence
release Contains the version number of the release with some brief information about the main changes in that specific release. xs:string 1..*

 


/package/releases/release

Contains brief information of the main changes in each release of a PACK. The content is of type xs:string.

Parent Element Element Chain
releases /package/releases
Attributes Description Type Use
version Version number of the release following the restricted pattern specified in the VersionType VersionType 1..1
date Release date. xs:date 0..1
Child Elements Description Type
Content Brief release notes listing the major changes since the previous version xs:string 0..*

 


/package/taxonomy

Contains a list of description elements used to define the component class and group names introduced and/or used within a package description. The element /package/taxonomy is an optional section. Components are categorized by class, group and subgroup. The creator of a package can freely define class, group and subgroup names allowing configuration tools to intuitively display the set of available components. It is recommended to use an already agreed taxonomy for interchangeable components. E.g. class CMSIS group Startup is defined for the device specific CMSIS-CORE files.

Example:

<package>
...
<taxonomy>
<description Cclass="Board Support">Generic Interfaces for Evaluation and Development Boards</description>
<description Cclass="CMSIS" doc="CMSIS\Documentation\General\html\index.html">Cortex Microcontroller Software Interface Components</description>
<description Cclass="Device" doc="CMSIS\Documentation\Core\html\index.html">Startup, System Setup</description>
<description Cclass="Drivers" doc="CMSIS\Documentation\Driver\html\index.html">Unified Device Drivers</description>
<description Cclass="File System">File Drive Support and File System</description>
<description Cclass="Network">Network Stack using IP descriptions</description>
<description Cclass="USB">Universal Serial Bus Stack</description>
</taxonomy>
...
</package>

 

Parent Element Element Chain
package /package
Child Elements Description Type Occurrence
description The description for a component class or class/group and a optional link to a document. TaxonomyDescriptionType 1..*

 


/package/taxonomy/description

Contains a description of the component class or class/group as specified by the attributes Cclass, Cgroup. Optionally a document can be referenced using the doc attribute. The description itself is of type xs:string.

Parent Element Element Chain
taxonomy description
Attributes Cclass Cgroup doc
Cclass Component Class Name. Cclass 1..1
Cgroup Component Group Name. Cgroup 0..1
doc Reference to the documentation for the component class/group. xs:string 0..1
Child Elements Description Type Occurrence
Content Brief description of the component class or class/group xs:string 1..1