CMSIS-Zone
Version 1.2.0-alpha
System Resource Management
|
The /rzone/resources/peripherals element contains a list of all peripherals available in the system. It also restricts the availability to specific processors or security modes.
Example
Parent Element | Element Chain | ||
---|---|---|---|
resources | /rzone/resources element | ||
Child Elements | Description | Type | Occurrence |
group | Logical grouping of peripherals. | complexType | 0..* |
peripheral | Peripheral definitions. | complexType | 0..* |
The /rzone/resources/peripherals/group element can be used to logically group peripherals according to functionality or bus topology.
Parent Element | Element Chain | ||
---|---|---|---|
peripherals | /rzone/resources/peripherals element | ||
Attributes | Description | Type | Use |
name | The name for the peripheral group must be be unique within a processor (specified by Pname). | xs:string | required |
start | The logical start address of the peripheral group in both secure and non-secure mode. | xs:string | required |
start_s | The logical start address of the peripheral group in secure mode only. | xs:string | optional |
physical | The physical start address of the peripheral group (in case that peripheral is shared in multi-processor system on different address). | xs:string | optional |
size | The physical size of the peripheral group in bytes. | xs:string | required |
shared | "1" specifies that this peripheral group is used by multiple zones. Default value is "0". | xs:boolean | optional |
dma | "1" specifies that this peripheral group is accessed by a DMA controller. Default value is "0". | xs:boolean | optional |
external | "1" specifies that this peripheral group is provided by an external component that is not part of the device. Default value is "0". | xs:boolean | optional |
Pname | The processor that can access this peripheral group. If omitted all processors of the system have access. | xs:string | optional |
access | Access permissions for this peripheral group. | AccessType | optional |
security | Security attributes for this peripheral group. | SecurityType | optional |
privilege | Privilege level for this peripheral group. | PrivilegeType | optional |
info | Brief description of the peripheral group. | xs:string | optional |
Child Elements | Description | Type | Occurrence |
peripheral | Peripheral definitions. | complexType | 0..* |
setup | Setup information for the peripheral group. | complexType | 0..* |
The /rzone/resources/peripherals/.../peripheral element is used to define an address mapping for one peripheral.
Parent Element | Element Chain | ||
---|---|---|---|
peripherals | /rzone/resources/peripherals element | ||
group | /rzone/resources/peripherals/group element | ||
Attributes | Description | Type | Use |
name | The name of the peripheral. The combination group / name must be be unique within a processor (specified by Pname). | xs:string | required |
start | The logical start address of the peripheral in both secure and non-secure mode. | xs:string | optional |
start_s | The logical start address of the peripheral in secure mode only. | xs:string | optional |
physical | The physical start address of the peripheral (in case that peripheral is shared in multi-processor system on different address). | xs:string | optional |
offset | Specifies an offset for the peripheral for the /rzone/resources/peripherals/group element values. The values start, start_s, physical are taken from the /rzone/resources/peripherals/group element element if not overwritten. | xs:string | optional |
size | The physical size of the peripheral in bytes. | xs:string | required |
shared | "1" specifies that this peripheral group is used by multiple zones. Default value is "0". | xs:boolean | optional |
dma | "1" specifies that this peripheral group is accessed by a DMA controller. Default value is "0". | xs:boolean | optional |
external | "1" specifies that this peripheral is provided by an external component that is not part of the device. Default value is "0". | xs:boolean | optional |
Pname | The processor that can access this peripheral. If omitted all processors of the system have access. | xs:string | optional |
access | Access permissions for this peripheral. | AccessType | optional |
security | Security attributes for this peripheral. | SecurityType | optional |
privilege | Privilege level for this peripheral. | PrivilegeType | optional |
info | Brief description of the peripheral. | xs:string | optional |
slot_name | Attribute name of the slot (i.e. Pins or Channels). Used in context menu or dialog heading. | xs:string | optional |
slot_type | Specifies the values that are configured for the slots:
| SlotTypeEnum | optional |
Child Elements | Description | Type | Occurrence |
slot | Configuration of security or privileged attribute for slots (typically channels or pins). | complexType | 0..* |
interrupt | Interrupts generated by this peripheral. | complexType | 0..* |
setup | Setup information for the peripheral. | complexType | 0..* |
The /rzone/resources/peripherals/.../peripheral/slot element is specific to a channel or pin of a peripheral. It specifies the configuration for interrupts or setup registers that belong to that slot (which is typically a channels or pins).
Parent Element | Element Chain | ||
---|---|---|---|
peripheral | /rzone/resources/peripherals/.../peripheral element | ||
Attributes | Description | Type | Use |
name | The name of the slot (typically channel or pin name). | xs:string | required |
secure | Setting of the secure attribute (default="0"). | xs:boolean | optional |
privilege | Setting of the privilege attribute (default="0"). | xs:boolean | optional |
Child Elements | Description | Type | Occurrence |
interrupt | Interrupts generated by this peripheral. | complexType | 0..* |
setup | Setup information for the peripheral. | complexType | 0..* |
The /rzone/resources/peripherals/.../interrupt element defines the interrupts that are generated by a peripheral or slot.
Parent Element | Element Chain | ||
---|---|---|---|
peripheral | /rzone/resources/peripherals/.../peripheral element | ||
Attributes | Description | Type | Use |
name | The name of the interrupt. | xs:string | required |
irqn | The interrupt number. | xs:string | required |
info | Brief description of the peripheral. | xs:string | optional |
The /rzone/resources/peripherals/.../setup element defines the setup information for this peripheral, slot, or peripheral group. The attributes security and privilege specifies conditions. When the peripheral is specified for on the the conditions, the value is assigned to the register name (with an optional index).
Parent Element | Element Chain | ||
---|---|---|---|
peripheral | /rzone/resources/peripherals/.../peripheral element | ||
group | /rzone/resources/peripherals/group element | ||
Attributes | Description | Type | Use |
name | The name of the register. | xs:string | required |
index | An index value for the register. | xs:string | required |
value | The value that should be written to the register when the security or privilege condition matches with the peripheral configuration. | xs:string | required |
security | Security condition for this setup value. Security can be "s" or "n". When a peripheral matches that security setting the value will be written. | SecurityType | optional |
privilege | Privilege level condition for this setup value. Privilege can be "u" or "p". When a peripheral matches that privilege setting the value will be written. When both Security and Privilege is specified, both conditions must match. | PrivilegeType | optional |
info | Brief description of the setup value. | xs:string | optional |