![]() |
CMSIS-Pack
Version 1.2
Delivery Mechanism for Software Packs
|
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..* |
jtagconfig | Specify the debugger configuration for connections via JTAG relevant to all devices of the family. | JtagConfigType | 0..1 |
swdconfig | Specify the debugger configuration for connections via Serial Wire debug protocol relevant to all devices of the family. | SwdConfigType | 0..1 |
debugport | Describe a debug port and default options to configure a debug connection relevant to all devices of the family. | DebugPortType | 0..* |
debug | Specify debug options that are relevant to all devices of the family. | DebugType | 0..* |
trace | Specify trace options that are relevant to all devices of the family. | TraceType | 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..* |
jtagconfig | Specify the debugger configuration for connections via JTAG relevant to all devices of the sub-family. | JtagConfigType | 0..1 |
swdconfig | Specify the debugger configuration for connections via Serial Wire debug protocol relevant to all devices of the sub-family. | SwdConfigType | 0..1 |
debugport | Describe a debug port and default options to configure a debug connection relevant to all devices of the sub-family. | DebugPortType | 0..* |
debug | Specify debug options that are relevant to all devices of the sub-family. | DebugType | 0..* |
trace | Specify trace options that are relevant to all devices of the sub-family. | TraceType | 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..* |
jtagconfig | Specify the debugger configuration for connections via JTAG specific to this device. | JtagConfigType | 0..1 |
swdconfig | Specify the debugger configuration for connections via Serial Wire debug protocol specific to this device. | SwdConfigType | 0..1 |
debugport | Describe a debug port and default options to configure a debug connection specific to this device. | DebugPortType | 0..* |
debug | Specify debug options specific to this device. | DebugType | 0..* |
trace | Specify trace options specific to this device. | TraceType | 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. If specified, the memory element does not require a default attribute. | NonNegativeInteger | optional |
RAMsize | Maximum size of RAM available for the execution of the Flash programming algorithm. End address = start + size - 1 is used for the Stack. If specified, the memory element does not require a default attribute. | NonNegativeInteger | optional |
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 | File name of the document including the extension. The document path is relative to the package base folder. Directory/file names are case-sensitive. | xs:string | required |
title | Book title. Can be used for being displayed in various environments. | xs:string | required |
Specify header files and preprocessor defines for programming. This element can occur on various levels. Multiple elements are allowed. The last occurrence in the hierarchy determines the actual define.
STM32F407IG
. Previous defines are overridden.header
and define
) in the attributes list of the compile
element together. This clarifies the relationship between header file and define.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 |
Brief description of the element. Can occur on various levels. Should only contain the unique features of the device. Number of bullet points should not exceed ten. To create a detailed feature list use the /package/devices/family/.../feature instead.
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. Many device feature types are already predefined, such as timers, converters, Ethernet, USB, etc (for a complete list refer to DeviceFeatureTypeEnum). 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. | DeviceFeatureTypeEnum | required |
n | Depending on the type. Check DeviceFeatureTypeEnum | xs:decimal | optional |
m | Depending on the type. Check DeviceFeatureTypeEnum | xs:decimal | optional |
name | Descriptive name of the feature. For example, "16-bit down counting timer". If omitted, the Default Name is used (refer to DeviceFeatureTypeEnum) | xs:string | optional |
This element specifies memory regions 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. Default value is false. If an algorithm element is specified (without RAMstart and RAMsize attributes), a default="1" is required for one IRAM. This makes the algorithm downloadable into the RAM for execution. | 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 |
Debugger configuration when operating with JTAG protocol.
Example
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/../device | ||
Attributes | Description | Type | Use |
default | Defines JTAG to be the default protocol for debug connections if set to 1. This value is used as a preselection for a debugger GUI and can be overriden by the user. If both <jtagconfig> and <swdconfig> elements are available, only one of them must be the default. | xs:boolean | required |
clock | Specifies the default debug clock setting in Hz for a connection via JTAG. Default value is 10000000. | xs:unsignedInt | optional |
Debugger configuration when operating with Serial Wire debug protocol.
Example
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/../device | ||
Attributes | Description | Type | Use |
default | Defines the Serial Wire debug protocol to be the default protocol for debug connections if set to 1. This value is used as a preselection for a debugger GUI and can be overriden by the user. If both <jtagconfig> and <swdconfig> elements are available, only one of them must be the default. | xs:boolean | required |
clock | Specifies the default debug clock setting in Hz for a connection via Serial Wire debug protocol. Default value is 10000000. | xs:unsignedInt | optional |
Describes a CoreSight debug port of the device. The element can occur on various levels. Multiple <debugport> elements are required if the device has more than one valid debug port of a protocol. Use unique identifiers for the attribute dp to distinguish multiple <debugport> elements.
<debugport> elements are only required for targets with multiple debug ports of the same protocol. Use the value auto in later dp references if no <debugport> element is defined for a target with a single CoreSight debug port.
Example
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/../device | ||
Attributes | Description | Type | Use |
switchable | A debugger can switch debug protocols for this port. The default value is 1. | xs:boolean | optional |
dp | Debug port identifier. This attribute is mandatory for devices with multiple CoreSight debug ports. Each debug port needs a unique identifier and must be used consistently in the dp attribute of the elements within the scope of the current device family section. | xs:string | required |
Child Elements | Description | Type | Occurrence |
jtag | Describe a JTAG Test Access Port (TAP) for access to this debug port. | JtagType | 0..1 |
swd | Describe a CoreSight Serial Wire Debug Port (SW-DP) implementation of this debug port. | SwdType | 0..1 |
sequence | Describe a DebugPortStart or DebugPortStop sequence. | SequenceType | 0..* |
Indicates accessibility of the <debugport> parent element via JTAG. Its attributes allow a manual override of a debugger's automatic JTAG Test Access Port (TAP) detection.
Example
Parents | Element Chain | ||
---|---|---|---|
debugport | /package/devices/family/.../debugport | ||
Attributes | Description | Type | Use |
tapindex | Specifies the TAP index relative to the JTAG scan chain of this device. A debugger needs to determine the absolute index if the device is part of an extended scan chain. Default value is 0. | NonNegativeInteger | optional |
idcode | Specifies the IDCODE of the JTAG TAP. This value overrides the IDCODE read from the target. | NonNegativeInteger | optional |
targetsel | Specifies the value to write to a CoreSight debug port's TARGETSEL register to select this port for connection. The element is required for debug ports with multi-drop support. It is ignored otherwise. | NonNegativeInteger | optional |
irlen | Specifies the instruction register length of the JTAG TAP. This value overrides the instruction register length detected by a debugger. | xs:unsignedInt | optional |
Indicates accessibility of the <debugport> parent element via the Serial Wire Debug protocol. Its attributes allow a manual override of Serial Wire debug port characteristics as read from the target, as well as selecting a Serial Wire debug port in a system with multi-drop support.
Example
Parents | Element Chain | ||
---|---|---|---|
debugport | /package/devices/family/.../debugport | ||
Attributes | Description | Type | Use |
idcode | Specifies the IDCODE of a Serial Wire debug port. This value overrides the IDCODE as read from the port's IDCODE register. | NonNegativeInteger | optional |
targetsel | Specifies the value to write to a CoreSight debug port's TARGETSEL register to select this port for connection. The element is required for debug ports with multi-drop support. It is ignored otherwise. | NonNegativeInteger | optional |
Describes configuration settings, default values, patches for data accesses, and functionality for a debugger to execute during a target connection. Multiple <debug> elements can be defined which are either specific to a processor identified by attribute Pname, or which apply to all connections.
Example
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/../device | ||
Attributes | Description | Type | Use |
Pname | Reference to a processor identifier as specified for a <processor> element. This section only applies to the referenced processor. This attribute is required for targets with multiple <processor> elements. | xs:string | optional |
dp | Reference to a debug port identifier as specified for a <debugport> element. This is the default debug port to use for target accesses in this debug connection. Targets with a single CoreSight debug port do not require a <debugport> element. Use the reserved value auto for those. | xs:string | required |
ap | The default CoreSight access port to use for target accesses in a debug connection. | xs:unsignedInt | required |
svd | The system viewer description (*.SVD) file. The file path is relative to the package base folder. | xs:string | optional |
Child Elements | Description | Type | Occurrence |
datapatch | Specify a patch to apply for data reads during a target connection. | DataPatchType | 0..* |
sequence | Define a sequence of debugger commands to execute during a debug connection. | SequenceType | 0..* |
Describes a patch a debugger shall apply when reading data from the device.
Example
Parents | Element Chain | ||
---|---|---|---|
debug | /package/devices/family/.../debug | ||
Attributes | Description | Type | Use |
type | The type of data access to patch, such as DP, AP, and Mem. Predefined tokens must be used. | DataAccessTypeEnum | optional |
dp | Reference to a debug port identifier as specified for a <debugport> element. This is the debug port for which to apply the path. Targets with a single CoreSight debug port do not require a <debugport> element. In that case use the reserved value auto. This element uses the dp value as defined for the current section if not specified here. | xs:string | optional |
ap | The CoreSight access port to apply the patch for. This element uses the ap value as defined for the current section if not specified here. | xs:unsignedInt | optional |
address | The address to apply the patch for. | ExpressionType | required |
value | The value the debugger patches the data access with. value is specified in little-endian format. | ExpressionType | required |
mask | The bits of the data access to patch. The mask value is specified in little-endian format. | NonNegativeInteger | optional |
Describes configuration settings, default values, and functionality for a debugger to execute for capturing trace. Multiple <trace> elements can be defined which are either specific to a processor identified by attribute Pname, or which apply to all connections.
Example
Parents | Element Chain | ||
---|---|---|---|
family | /package/devices/family | ||
subfamily | /package/devices/family/subfamily | ||
device | /package/devices/family/../device | ||
Attributes | Description | Type | Use |
Pname | Reference to a processor identifier as specified for a <processor> element. This section only applies to the referenced processor. This attribute is required for targets with multiple <processor> elements. | xs:string | optional |
dp | Reference to a debug port identifier as specified for a <debugport> element. This is the default debug port to use for target accesses in this section. Targets with a single CoreSight debug port do not require a <debugport> element. Use the reserved value auto for those. | xs:string | required |
ap | The default CoreSight access port to use for target accesses in this section. | xs:unsignedInt | required |
Child Elements | Description | Type | Occurrence |
serialwire | Describe the configuration and sequences to execute for serial wire trace output of the processor. | SerialWireType | 0..* |
traceport | Describe the configuration and sequences to execute for parallel trace port output of the processor. | TracePortType | 0..* |
tracebuffer | Describe the configuration and sequences to execute for an on-device trace buffer. | TraceBufferType | 0..* |
Indicates serial wire trace capabilities for the specified processor. This element describes configuration settings, default values, and functionality for a debugger to execute for capturing the trace.
Example
Parents | Element Chain | ||
---|---|---|---|
trace | /package/devices/family/.../trace | ||
Child Elements | Description | Type | Occurrence |
sequence | Describe a sequence to enable serial wire trace capturing. | SequenceType | 0..* |
Indicates parallel trace port capabilities for the specified processor. This element describes configuration settings, default values, and functionality for a debugger to execute for capturing the trace.
Example
Parents | Element Chain | ||
---|---|---|---|
trace | /package/devices/family/.../trace | ||
Attributes | Description | Type | Use |
width | The trace port width in bits for which this element applies. The default value 0 indicates that this element is applied to all possible trace port widths. If an element's width is 0 it must be the only element associated with a core. | xs:string | optional |
Child Elements | Description | Type | Occurrence |
sequence | Describe a sequence to enable parallel trace port capturing. | SequenceType | 0..* |
This element indicates trace buffer capabilities for the specified processor. This element describes configuration settings, default values, and functionality for a debugger to execute for capturing the trace and reading it from the buffer.
Example
Parents | Element Chain | ||
---|---|---|---|
trace | /package/devices/family/.../trace | ||
Attributes | Description | Type | Use |
triggerdelay | Default trigger delay setting. This is the number of trace data words to capture after receiving a trace trigger signal. Default value is 0. | NonNegativeInteger | optional |
start | Default start address of the on-chip memory used as trace buffer. | NonNegativeInteger | optional |
size | Default size of the on-chip memory used as trace buffer in bytes. | NonNegativeInteger | optional |
Child Elements | Description | Type | Occurrence |
sequence | Describe a sequence to enable capturing trace and reading it from the buffer. | SequenceType | 0..* |
Describes a sequence of debugger commands to execute at a predefined event. The debugger commands are executed in the order of their appearance in this section.
Example
Parents | Element Chain | ||
---|---|---|---|
debugport | /package/devices/family/.../debugport | ||
debug | /package/devices/family/.../debug | ||
trace | /package/devices/family/.../trace | ||
Attributes | Description | Type | Use |
name | A predefined sequence name indicating the event at which a sequence is executed. | SequenceNameEnum | required |
protocol | The debug protocol this sequence applies for. It can be one of swd and jtag. This <sequence> element applies for all supported debug protocols if protocol is unspecified or an empty string. | ProtocolTypeEnum | optional |
Child Elements | Description | Type | Occurrence |
block | Describe a block of debugger commands. | BlockType | 0..* |
assign | Assign a value to a variable. | AssignType | 0..* |
datawrite | Describe a data write access. | DataWriteType | 0..* |
waitfor | Describe a command to the debugger to wait for an expression to become true. | WaitForType | 0..* |
Describes a block of debugger commands for which to apply specific settings and conditions.
Example
Parents | Element Chain | ||
---|---|---|---|
sequence | /package/devices/family/.../sequence | ||
Attribute | Description | Type | Use |
if_true | Reference to a variable identifier as specified for a <assign> element. The child elements of this block are executed if the value is different from 0 or if this attribute is unspecified. | xs:string | optional |
if_false | Reference to a variable identifier as specified for a <assign> element. The child elements of this block are executed if the value is 0 or if this attribute is unspecified. | xs:string | optional |
dp | Reference to a debug port identifier as specified for a <debugport> element. This is the default debug port for target accesses in this <block>. Targets with a single CoreSight debug port do not require a <debugport> element. In that case use the reserved value auto. This element uses the dp value as defined for the current section if not specified here. | xs:string | optional |
ap | The default CoreSight access port to use for target accesses in this block. This element uses the ap value as defined for the current section if not specified here. | xs:unsignedInt | optional |
protocol | The debug protocol this sequence applies for. It can be one of swd and jtag. This <block> element applies for all supported debug protocols if protocol is unspecified or an empty string. | ProtocolTypeEnum | optional |
Child Elements | Description | Type | Occurrence |
assign | Assign a value to a variable. | AssignType | 0..* |
datawrite | Describe a data write access. | DataWriteType | 0..* |
waitfor | Describe a command to the debugger to wait for an expression to become true. | WaitForType | 0..* |
Assigns the result of an expression to a variable. This element is part of a <sequence> or a <block> element. A debugger has to treat the assigned values as 64-bit unsigned integer values.
Example
Parents | Element Chain | ||
---|---|---|---|
sequence | /package/devices/family/.../sequence | ||
block | /package/devices/family/.../sequence/block | ||
Attributes | Description | Type | Use |
if_true | Reference to a variable name as specified for another <assign> element. This element is executed if the value is different from 0 or if this attribute is unspecified. | xs:string | optional |
if_false | Reference to a variable identifier as specified for a <assign> element. This element is executed if the value is 0 or if this attribute is unspecified. | xs:string | optional |
variable | Variable identifier for later reference of this value in a if_true, if_false, or expression attribute. Reusing a previously defined variable value will overwrite it. | xs:string | required |
expression | Expression to evaluate. The result of the expression can be used in other elements by referencing this element's variable value. | ExpressionType | required |
Describes a data write access. This element is part of a <sequence> or a <block> element.
Example
Parents | Element Chain | ||
---|---|---|---|
sequence | /package/devices/family/.../sequence | ||
block | /package/devices/family/.../sequence/block | ||
Attributes | Description | Type | Use |
if_true | Reference to a variable identifier as specified for another <assign> element. This element is executed if the value is different from 0 or if this attribute is unspecified. | xs:string | optional |
if_false | Reference to a variable identifier as specified for a <assign> element. This element is executed if the value is 0 or if this attribute is unspecified. | xs:string | optional |
type | The type of data write access, such as DP, AP, and Mem. Predefined tokens must be used. | DataAccessTypeEnum | optional |
dp | Reference to a debug port identifier as specified for a <debugport> element. This is the debug port to use for the target access. Targets with a single CoreSight debug port do not require a <debugport> element. In that case use the reserved value auto. This element uses the dp value as defined for the current section if not specified here. | xs:string | optional |
ap | The default CoreSight access port to use for the target access. This element uses the ap value as defined for the current section if not specified here. | xs:unsignedInt | optional |
address | The address to write to. | ExpressionType | required |
value | The value to write. value is specified in little-endian format. | ExpressionType | required |
mask | The bits of value to write. If one or more bits of mask are 0, then the debugger has to read the value from the target, modify the masked bits, and write the modified value. mask is specified in little-endian format. | NonNegativeInteger | optional |
size | The number of bytes to write. Allowed values are 1, 2, 4, and 8. Default value is 4. | DataAccessSizeType | optional |
Describes a debugger command to wait for an expression to become true. This element is part of a <sequence> or a <block> element.
Example
Parents | Element Chain | ||
---|---|---|---|
sequence | /package/devices/family/.../sequence | ||
block | /package/devices/family/.../sequence/block | ||
Attributes | Description | Type | Use |
if_true | Reference to a variable identifier as specified for another <assign> element. This element is executed if the value is different from 0 or if this attribute is unspecified. | xs:string | optional |
if_false | Reference to a variable identifier as specified for a <assign> element. This element is executed if the value is 0 or if this attribute is unspecified. | xs:string | optional |
expression | Expression to evaluate. This element successfully ends its execution when the expression evaluates to true. The <waitfor> element waits for timeout milliseconds if expression is empty or undefined. In this case, no error is issued on timeout. | ExpressionType | optional |
timeout | Timeout for this element in milliseconds. The overall execution time of this element must at least have lasted for this time. The current evaluation iteration may finish after the timeout has been reached. | xs:unsignedInt | required |
timeouterr | Specifies whether reaching the timeout is interpreted as an error. Its default value is 1. No timeout error is issued if expression is empty or undefined. | xs:boolean | optional |
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 device variant. | FeatureType | 0..* |