![]() |
CMSIS Packs
Version 0.10
Mechanism to install software, device support, APIs, and example projects
|
Define properties that are in common to all devices of a family. These properties are inherited by subgroups or elements. This is a mechanism of granulation to reduce redundancy. Multiple <family> groups can be defined.
Example:
Parents | Element Chain | ||
---|---|---|---|
devices | /package/devices | ||
Attributes | Description | Type | Occurrence |
Dfamily | Name of the device family. | xs:string | 1..1 |
Dvendor | Device vendor name. Predefined values must be selected. | DeviceVendorEnum | 1..1 |
Child Elements | Description | Type | Occurrence |
processor | List all processors that are in common to devices of the family. | ProcessorType | 0..* |
compile | Specify compile or translate options that are relevant to all devices of the family. | CompileType | 0..* |
debug | Specify debug options that are relevant to all devices of the family. | DebugType | 0..* |
memory | Specify memory areas that are available for all devices of the family. | MemoryType | 0..* |
algorithm | Specify Flash programming algorithms that are suitable for all devices. | AlgorithmType | 0..* |
book | Specify documents that are relevant for all devices of a family. | BookType | 0..* |
description | Describe the device family. | DescriptionType | 0..* |
feature | Specify features that are available in all members of the device family. | FeatureType | 0..* |
subfamily | A optional sub-family that is used to group devices. | group | 0..* |
device | Individual devices that belong to the device family. | DeviceType | 0..* |
Define properties that are in common to all devices of a subfamily. This is another mechanism of granulation to reduce redundancy. These properties are inherited by subgroups or elements. Multiple <subfamily> groups can be defined.
Example:
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
Attributes | Description | Type | Occurrence |
Dfamily | Name of the device family. | xs:string | 1..1 |
Child Elements | Description | Type | Occurrence |
processor | Specify processors that are available in all devices of the sub-family. | ProcessorType | 0..* |
compile | Specify compile or translate options that are relevant to all devices of the sub-family. | CompileType | 0..* |
debug | Specify debug options that are relevant to all devices of the sub-family. | DebugType | 0..* |
memory | Specify memory areas that are available in all device of the sub-family. | MemoryType | 0..* |
algorithm | Specify Flash programming algorithms that can be used by all device of the sub-family. | AlgorithmType | 0..* |
book | Specify documents relevant for all device of the sub-family. | BookType | 0..* |
description | Description of the device family. | DescriptionType | 0..* |
feature | Specify features available in devices of the sub-family. | FeatureType | 0..* |
device | List individual devices that belong to the device sub-family. | DeviceType | 0..* |
Define properties that are specific to a device. Properties defined on upper levels get inherited, unless they can be overwritten. Multiple <device> elements can be defined.
Example:
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
Attributes | Description | Type | Use |
Dname | Specifies the name of the device. | xs:string | required |
Child Elements | Description | Type | Occurrence |
processor | Specify processors that are specific to this device. | ProcessorType | 0..* |
compile | Specify compile or translate options specific to this device. | CompileType | 0..* |
debug | Specify debug options specific to this device. | DebugType | 0..* |
memory | Specify memory areas that specific to this device. | MemoryType | 0..* |
algorithm | Specify Flash programming algorithms that can be used by this device. | AlgorithmType | 0..* |
book | Specify documents specific to this device. | BookType | 0..* |
description | Description specific to this device. | DescriptionType | 0..* |
feature | Specify features specific to this device. | FeatureType | 0..* |
variant | Complex element specifying a variant of a device. | VariantType | 0..* |
Specify Flash programming algorithms with the address range and its size. An algorithm with <default> set to true gets configured automatically to the download options of the project. Algorithms can be defined on various levels. Multiple <algorithm> elements are possible.
Example:
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/device | ||
Attributes | Description | Type | Use |
Pname | Processor identifier. This attribute is mandatory for devices that embed multiple processors. | xs:string | optional |
name | Flash Programming Algorithm file including the path, which is relative to the root folder of the Software Pack. | xs:string | required |
start | Base address for the Flash programming algorithm. | NonNegativeInteger | required |
size | Size covered by the Flash programming algorithm. End address = start + size - 1 | NonNegativeInteger | required |
RAMstart | Base address for the RAM where the Flash programming algorithm will be executed from. | NonNegativeInteger | required |
RAMsize | Maximum size of RAM available for the execution of the Flash programming algorithm. End address = start + size - 1 is used for the Stack | NonNegativeInteger | required |
default | If true, then this is the default Flash programming algorithm that gets configured in a project. If not specified or set to false, then the Flash programming algorithm can be configured on a lower level. However, the Flash programming algorithm of a project can be changed manually at any time during development. | xs:boolean | optional |
Specifies documents related to a device. Books can be entered on various levels. The book element contains the location, filename, and extension of the file. The title is used for display purposes.
Example:
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/device | ||
Attributes | Description | Type | Use |
Pname | Processor identifier. This attribute is mandatory for devices that embed multiple processors. | xs:string | optional |
name | Filename of the document including the extension. The document path is relative to the package base folder. | xs:string | required |
title | Book title. Can be used for being displayed in various environments. | xs:string | required |
Specify header filed and preprocessor defines for programming. This element can occure on various levels. Multiple such elements are allowed.
Example:
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/device | ||
Attributes | Description | Type | Use |
Pname | Processor identifier. This attribute is mandatory for devices that embed multiple processors. | xs:string | optional |
header | C-header file with path relative to the installation. | xs:string | optional |
define | C-file name with device specific preprocessor defines. The path is relative to the installation. | xs:string | optional |
Specify configuration settings and sequence hooks to be execute during debugging and downloading. The group is optional and can exist multiple times.
Example:
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/device | ||
Attributes | Description | Type | Use |
Pname | Processor identifier. This attribute is mandatory for devices that embed multiple processors. | xs:string | optional |
svd | The system viewer description (*.SVD) file. The file path is relative to the package base folder. | xs:string | optional |
ap | The default CoreSight access port to use for memory accesses in the target connection. If not defined, the default access port value is 0 (standard AHB-AP). | xs:string | optional |
dp | The debug port index in the JTAG chain when using multi-core platforms. This refers to a device internal JTAG-chain. Additional JTAG TAPs on a platform are not considered in the index value. The default value is 0, which would be the first JTAG TAP in the chain. | xs:string | optional |
Child Elements | Description | Type | Occurrence |
coresight | Group to specify the CoreSight debug architecture for the connection. If the group is not specified, the debugger obtains all information about CoreSight components via the ROM Table at the access port <ap>. | CoreSightGroup | 0..* |
configuration | Group to describes debugger parameters and default settings for the target connection. | DebugConfigGroup | 0..1 |
hooks | Group to implement sequences that execute during target connection and debugging. | HooksGroup | 0..1 |
Define how to obtain information about the CoreSight debug architecture. If not specified, then the debugger obtains all information about CoreSight components via the ROM Table defined at the access port <ap> in /package/devices/family/debugTBD. The element is optional and can exist multiple times.
Example:
Parents | Element Chain | ||
---|---|---|---|
debug | /package/devices/family/debugTBD | ||
Attributes | Description | Type | Use |
autodetect | Specifies whether CoreSight components shall be detected automatically via the ROM Table.
Default value is true. | xs:boolean | optional |
ap | Access port for reading the ROM table and for accessing CoreSight components. | xs:string | optional |
Child Elements | Description | Type | Occurrence |
ROMTAB | . | tbd | tbd |
SCS | . | tbd | tbd |
DWT | . | tbd | tbd |
ITM | . | tbd | tbd |
ETM | . | tbd | tbd |
FPB | . | tbd | tbd |
BPU | . | tbd | tbd |
CSTF | . | tbd | tbd |
TPIU | . | tbd | tbd |
SWO | . | tbd | tbd |
ETB | . | tbd | tbd |
MTB | . | tbd | tbd |
CIT | . | tbd | tbd |
Define settings for the debugger and default settings for user configurable debugger features. The element is optional and can exist one time. If not implemented, the default values apply as described below.
Detailed description of the element. Can occure on various levels.
Example
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/device | ||
Attributes | Description | Type | Use |
Pname | Processor Identifier. This attribute is mandatory for devices that embed multiple processors. | xs:string | optional |
This element specifies the peripherals that devices can have. Feature types are predefined, for example, for timers, converters, Ethernet, USB, etc. Features can be defined on various levels. Inner elements supersede outer elements.
Example:
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/device | ||
Attributes | Description | Type | Use |
Pname | Processor Identifier. This attribute is mandatory for devices that embed multiple processors. | xs:string | optional |
type | A feature (peripheral), such as CAN, DMA, I/O, LCD, etc. Predefined tokens must be used. | FeatureTypeEnum | required |
count | Number of instances of this feature. Default value is 1. | xs:unsignedInt | optional |
name | Descriptive name of the feature. For example, "16-bit down counting timer". | xs:string | required |
This element specifies memory reagions that devices can have. Memory types are predefined and can be selected. This element can be defined on various levels. Inner memory elements supersede outer elements.
Example:
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/device | ||
Attributes | Description | Type | Use |
Pname | Processor identifier. This attribute is mandatory for devices that embed multiple processors. | xs:string | optional |
id | Identifier of the memory region consisting of a type indicator and an index (for example, IRAM1). Predefind values can be selected. | MemoryIDTypeEnum | required |
start | Base address of the memory using a hexadecimal value. | NonNegativeInteger | required |
size | Size of the memory in bytes using a hexadecimal value. | NonNegativeInteger | required |
default | Specifies the default memory region. If true, then this is the default memory region for the application code. Applies only to memory of type ROM. Default value is false. | xs:boolean | optional |
init | Specifies whether the memory reagion should be initialized. If true, the memory will be initialized to 0 by default. This applies only to memory of type RAM. Default is false. | xs:boolean | optional |
startup | If true, the startup code of the application will be placed into this memory region. Default value is false. | xs:boolean | optional |
Specifies attributes of the device processor. The element can occur on various levels. Elements of multi-processor devices can be associated with a specific processor using the attribute <Pname>. If the information is relevant to all processors, no processor must be specified in <Pname>.
Example:
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/device | ||
Attributes | Description | Type | Use |
Pname | Processor identifier. This attribute is mandatory for devices that embed multiple processors. Each processor needs a unique identifier and must be used consistently in the Pname attribute of the elements within the scope of the current device family section. | xs:string | optional |
Dvendor | Specfies the device vendor using a predefined string. | DeviceVendorEnum | optional |
Dcore | Specifies the processor core using a predefined string. | DcoreEnum | optional |
Dfpu | Specifies whether a hardware floating point unit is present in the processor or not (default: false). | DfpuEnum | optional |
Dmpu | Specifies whether a memory protection unit is present in the processor or not (default: false) | DmpuEnum | optional |
Dendian | Specifies the byte endianess of the processor | DendianEnum | optional |
Dclock | Specifies the max clock frequency of the processor subsystem | xs:unsignedInt | optional |
DcoreVersion | Hardware revision of the processor core | xs:string | required |
Defines a device variant. The element is optional. Can exist multiple times.
Example:
Parents | Element Chain | ||
---|---|---|---|
device | /package/devices/family/device | ||
Attributes | Description | Type | Use |
Dvariant | Name of the device variant | xs:string | required |
Child Elements | Description | Type | Occurrence |
book | List books that are specific to this variant. | BookType | 0..* |
description | Device description. | DescriptionType | 0..* |
feature | Define features for this devie variant. | FeatureType | 0..* |