CMSIS-Pack
Version 1.4.1
Delivery Mechanism for Software Packs
|
Group to list description elements that define component classes and component group names used within a package description. This element is optional.
Example:
Parent Element | Element Chain | ||
---|---|---|---|
package | /package | ||
Child Elements | Description | Type | Occurrence |
description | Describes or defines a component class or class-group combination. | TaxonomyDescriptionType | 1..* |
This element describes a component class or the combination between a component class and a component group. Components are categorized by Cclass and Cgroup. The creator of a package can define names for Cclass and Cgroup. Thus, configuration tools can display the set of available components. A document can be referenced using the attribute doc. The attribute generator can be used to reference to a generator tool. The id of the generator needs to be the same as specified in the element /package/generators/generator. The description itself is a string entered between the opening and closing tags of the element description.
It is recommended to use an already agreed taxonomy for interchangeable components. For example, the combination of class CMSIS and group Startup is defined for the device-specific CMSIS-CORE files.
Example:
< (less than) > (greater than) : (colon) " (double quote) / (forward slash) \ (backslash) | (vertical bar or pipe) ? (question mark) * (asterisk)
Parent Element | Element Chain | ||
---|---|---|---|
taxonomy | /package/taxonomy element | ||
Attributes | Description | Type | Use |
Cclass | Component Class Name. Can be defined by the creator of the package. Predefined values can be used as listed in the table Component Classes. | Cclass | required |
Cgroup | Component Group Name. Can be defined by the creator of the package. Predefined values can be used as listed in the table Component Groups. | CgroupType | optional |
doc | Reference to documentation. | xs:string | optional |
generator | Reference to a generator. Enter the id value of the element /package/generators/generator. | xs:string | optional |
Component Class names are strings with a minimum length of 3 characters and a maximum length of 32 characters. Component class names are specified in the section /package/taxonomy/description.
These values can be used in the elements:
Example:
The table lists predefined Component Classes.
Cclass= | Description |
---|---|
Board Support | Components providing interfaces for Evaluation and Development Boards |
CMSIS | Components defined by Cortex Microcontroller Software Interface Standard (e.g. CMSIS-CORE, CMSIS-DSP and CMSIS-RTOS) |
Device | Components containing device specific implementations of non-standard APIs (e.g. HAL drivers, CMSIS Startup files) |
CMSIS Driver | Components implementing unified device drivers compliant to CMSIS-Driver (e.g. UART, SPI, USB, etc.) |
File System | Components implementing some kind of File Systems (e.g. Flash or RAM based file systems) |
Graphics | Components implementing some kind of Display and Graphics Software |
Network | Components implementing some kind of Network Communications (e.g. TCP/IP Stack) |
USB | Components implementing some kind of USB interfaces (e.g. Host and Device interfaces) |
Component Group names are specified by the element Cgroup and create categories within a Component Class specified by the element Cclass. The creator of the PACK can define the names in the element /package/taxonomy/description. A Component Group name is string with a length between 3 and 32 characters.
Example:
Component Groups can be used in the elements:
The table lists predefined values for the Component Class Cclass="CMSIS". No other Component Groups have been defined so far.
Cgroup= | Description |
---|---|
CORE | A component containing device support in accordance to the CMSIS-CORE specification (startup, system and device files) |
DSP | A component implementing the CMSIS-DSP API specification. |
RTOS | A component implementing the CMSIS-RTOS API specification. |