![]() |
CMSIS Packs
Version 0.10
Mechanism to install software, device support, APIs, and example projects
|
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:
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 |
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:
Parent Element | Element Chain | ||
---|---|---|---|
package | /package | ||
Child Elements | Description | Type | Occurrence |
keyword | Keyword for search engines. | xs:string | 1..1 |
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:
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..* |
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..* |
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:
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..* |
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 |