| 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 element

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. It may be left empty if the pack will not be uploaded onto a web server. A license file might point to license agreements. A list of keywords assists searching for packages.

Example:

<package schemaVersion="1.2" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="PACK.xsd">
<vendor>ExampleVendor</vendor>
<name>STM32F2xx_DFP</name> <!-- name of package -->
<description>Device Family Package for STMicroelectronics STM32F2 Family of ARM Cortex-M3 based Microcontroller</description>
<url></url>
<supportContact>http://www.arm.com/support</supportContact>
<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 | Element Chain
--- | ---
root | Document root
Attributes | Description | Type | Use
schemaVersion | CMSIS-PDSC schema version used for describing the Software Pack (for example, "1.2"). The version format is described in Version Type. | VersionType | required
xmlns:xs | Is set to: "http://www.w3.org/2001/XMLSchema-instance" to indicate compliance to the XML format. | xs:decimal | required
xs:noNamespaceSchemaLocation | Path and file name of the PACK.xsd Schema. For example, "PACK.xsd". | xs:string | required
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
supportContact | HTTP URL or e-mail address for users to get support for the content of the PACK | xs:string | 0..1
license | Path to a license document. | xs:string | 0..1
releases | Version release history with brief information about a Software Pack. | ReleasesGroup | 1..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
generators | Specifies generator tools that have ben used to create the Software Pack. | GeneratorsType | 0..1
devices | Defines the device family, the devices, and optionally variants (such as boards). | group | 0..1
boards | Defines the development board support package. | BoardsType | 0..1
taxonomy | Contains the description for a component class or for the combination between a component class and component group. | TaxonomyType | 0..1
apis | Defines the API (Application Programming Interfaces) specifications contained in the Software Pack. | ApisType | 0..1
conditions | Is a group that contains dependency definitions used within the PACK. These rules can describe dependencies on various levels: device attributes, components, or tools. Conditions are referenced by components and files. | ConditionsType | 0..1
examples | Lists the examples that are included in the PACK. | group | 0..1
components | Lists the software components that are included in the PACK. | group | 0..1

Version Type

A version number can consist of numbers and letters separated by the characters: . (dot), - (dash), _ (underscore). The version format itself must remain unchanged throughout the lifecycle. Otherwise, a reliable version comparison is impossible. It is recommended to use a version format with three numbers separated by dots. major.minor.build.

Note
  For configuration files, it might be more applicable to use a single incrementing number for the version.

Version types are used in:

- /package (attribute: schemaVersion)
- /package/releases/release (attribute: version)
- /package/apis/api (attribute: Capiversion)
- /package/conditions/condition/accept (attributes: Capiversion and Cversion)
- /package/components/bundle (attribute: Cversion)
- /package/components/.../component (attributes: Capiversion and Cversion)
- /package/examples/example (attribute: version)
- /package/examples/example/attributes/component (attribute: Cversion)

Example: this example applies to /package/releases/release.

<release version="1.4.2" ...>