CMSIS-Zone  Version 1.2.0-alpha
System Resource Management
 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)" linker_control="*sram1" />
<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
linker_control Linker control settings for 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 MPC region. xs:string optional