CMSIS-Zone: /rzone/resources/memories element

| CMSIS-Zone Version 1.0.0 System Resource Management

- Main Page
- Usage and Description

All Files Pages
/rzone/resources/memories element

The /rzone/resources/memories element contains:

- a list of all memory regions available in this system.
- a list of all Memory Protection Controllers (MPC) in this system. Some memory region or MPC might restrict the availability to specific processors.

Example

<resources>
<memories>
<memory name="ExtMem1" start="0x00000000" physical="0x00000000" size="0x00010000" access="rwx" security="" type="RAM" info="External memory 1 / remap" external="true" />
<memory name="Flash_NS" start="0x08000000" size="0x00080000" access="rx" security="" type="ROM" info="Flash Memory (non secure)" />
<mpc name="IOTKIT_MPCSSRAM0" start="0x08000000" size="0x00100000" type="sp" blk_size="0x20000" info="MPC for extended Flash" />
<memory name="Flash_S" start="0x0c000000" physical="0x08001000" size="0x00080000" access="rx" security="c" type="ROM" info="Flash Memory (secure)" />
<memory name="SRAM1_C_NS" start="0x0A000000" size="0x00030000" access="rwx" security="" type="RAM" info="SRAM1 Code (non secure)" />
<memory name="SRAM1_C_S" start="0x0E000000" physical="0x0A000000" size="0x00030000" access="rwx" security="c" type="RAM" info="SRAM1 Code (secure)" />
<memory name="SRAM1_S" start="0x30000000" physical="0x0A000000" size="0x00030000" access="rw" security="s" type="RAM" info="SRAM1 (secure)" />
<memory name="SRAM1_NS" start="0x20000000" physical="0x0A000000" size="0x00030000" access="rw" security="" type="RAM" info="SRAM1 (non secure)" />
<memory name="FMC_Bank1" start="0x60000000" size="0x00000000" access="rw" security="" type="RAM" info="Memory Controller bank 1" />
</memories>
:
</resources>

Parent Element | Element Chain
--- | ---
resources | /rzone/resources element
Child Elements | Description | Type | Occurrence
memory | Lists a logical memory region with physical mapping. Memory might restricted to processors, access, or security modes. | complexType | 0..1
mpc | Specifies a Memory Protection Controller (MPC) for a physical address range. | complexType | 0..1

# /rzone/resources/memories/memory element

The /rzone/resources/memories/memory element lists a logical memory region with physical mapping. Memory might restricted to processors, access, or security modes.

Parent Element | Element Chain
--- | ---
memories | /rzone/resources/memories element
Attributes | Description | Type | Use
name | The name of this memory region which must be unique in this *.rzone file. | xs:string | required
type | The type of memory in this region ("RAM" or "ROM"). | PhysicalTypeEnum | required
start | The logical start address of the memory region in the address map. | NonNegativeInteger | required
physical | The physical start address of the memory region in the address map. If physical is not specified the start address value is used. | NonNegativeInteger | optional
size | The size of the memory region in bytes. | NonNegativeInteger | required
access | Access permissions for this memory region. | AccessType | optional
security | Security attributes for this memory region. | SecurityType | optional
privilege | Privilege level for this memory region. | PrivilegeType | optional
startup | "1" specifies that this region is used for the startup code of the application. Default value is "0". | xs:boolean | optional
uninit | "1" specifies that this region is not zero initialized during startup. Default value is "0". | xs:boolean | optional
shared | "1" specifies that this region is used by multiple zones. Default value is "0". | xs:boolean | optional
dma | "1" specifies that this region is accessed by a DMA controller. Default value is "0". | xs:boolean | optional
external | "1" specifies that this region 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 memory region. If omitted all processors of the system have access. | xs:string | optional
info | Brief description of the memory region. | xs:string | optional

# /rzone/resources/memories/mpc element

The /rzone/resources/memories/mpc element element specifies a Memory Protection Controller (MPC) for a physical memory address region. The MPC region must not necessarily overlap a physical memory space which means it can be larger or smaller.

Parent Element | Element Chain
--- | ---
memories | /rzone/resources/memories element
Attributes | Description | Type | Use
name | The base register name of the MPC. | xs:string | required
start | The physical start address of the memory address region that is protected by the MPC. | NonNegativeInteger | required
size | The size of the memory address region in bytes. | NonNegativeInteger | required
blk_size | The size (in bytes) of each memory block. This value is also the alignment requirement for the memory blocks. The number of LUT bits is: memory size / blk_size. | NonNegativeInteger | required

type

Specifies the permissions that the MPC verifies for the memory access:

- type="s" : (default) only the Secure attribute is verified.
- type="p" : only the Privileged attribute is verified.
- type="sp" : both the Secure are Privileged attribute are verified.

MpcTypeEnum

optional

info | Brief description of the memory region. | xs:string | optional