CMSIS-SVD: Extensions to the Peripheral Section

| CMSIS-SVD Version 1.3.1 CMSIS System View Description

- Main Page
- Usage and Description
- Reference

Extensions to the Peripheral Section
SVD Extensions

The following elements have been added to the peripheral section. All new elements are optional but are highly recommended to enable the generation of consistent and CMSIS-compliant device header files from SVD descriptions.

Element Name | Description | Type | Occurrence
--- | --- | --- | ---
alternatePeripheral | All address blocks in the memory space of a device are assigned to a unique peripheral by default. If there are multiple peripherals describing the same address blocks, this needs to be specified explicitly. A peripheral redefining an address block needs to specify the name of the peripheral that is listed first in the description. If no alternate peripheral is specified, then the SVDConv utility will generate errors. | identifierType | 0..1
headerStructName | The header file generator uses the name of a peripheral as the base name for the C structure type. If this element is specfied, then this string is used instead of the peripheral name. This is particularly useful when multiple peripherals get derived from a peripheral description and a generic type name shall be used. | identifierType | 0..1

# Example:

<peripheral>
<name>Timer1</name>
<version>1.0</version>
<description>Timer 1 is a standard timer ... </description>
<baseAddress>0x40002000</baseAddress>
...
</peripheral>
<peripheral>
<name>Timer1_Alt</name>
<version>1.0</version>
<description>Alternate Timer 1 is a special timer execution mode ... </description>
<baseAddress>0x40002000</baseAddress>
<alternatePeripheral>Timer1</alternatePeripheral>
...
</peripheral>

Two timer peripheral descriptions are specified for the same memory block. No redefined addresses will be reported for both peripherals.