MEMCONF — Memory configuration

MEMCONF provides power control for RAM blocks.

Each RAM block can independently power up or power down in System ON and System OFF mode. RAM blocks can contain multiple RAM sections. For more information about System ON and System OFF modes, see Power and clock management. For an overview of available RAM blocks and RAM sections, see Memory.

MEMCONF registers are used for configuring the following:

In System OFF mode, a RAM section is retained by configuring the corresponding MEM[i] field of the RET register.

In System ON mode, retention and accessibility for a RAM section is configured in the corresponding MEM[i] field of register POWER[n].CONTROL (n=0..1).

A complete list of blocks (RET.MEM[i], RET2.MEM[i], and CONTROL.MEM[i]) are found in the following table.

Table 1. Memory block overview with MEMCONF.POWER configuration
Block number (index i in MEMCONF.POWER)RAM sectionRET reset valueCONTROL reset value
0RAM00 section 011
1RAM01 section 011
2RAM01 section 111
33ICACHE tag + data 1:011

The following table summarizes the behavior of the CONTROL and RET fields when a power domain is powered on or off. The RAM section can be used to read and write data when it is powered. The RAM section is retained during System OFF.

Table 2. RAM section configuration
ConfigurationRAM section status
Power modeCONTROLRETPoweredRetained
System OFFAny valueOffNoNo
System OFFOffOnNoNo
System OFFOnOnNoYes
System ON IDLEOffAny valueNoNo
System ON IDLEOnAny valueNoYes
System ON RUNAny valueAny valueYesYes

The advantage of not retaining RAM content is reduced overall current consumption.

See chapter Memory for more information on RAM sections.

Note: CACHE — Instruction/data cache must be disabled when the ICACHE memory block is turned off, and only enabled after the ICACHE memory block is turned on.

Registers

Instances

InstanceDomainBase addressDescription
MEMCONFGLOBAL0x400CF000

Memory Configuration MEMCONF

Configuration

InstanceDomainConfiguration
MEMCONFGLOBAL

Register overview

RegisterOffsetDescription
POWER[n].CONTROL0x500

Control memory block power.

POWER[n].RET0x508

RAM retention for RAM [n].

POWER[n].CONTROL

Address offset: 0x500 + (n × 0x10)

Control memory block power.

Where n = 0 for memory blocks 0 to 31 and n = 1 for memory blocks 32 to 63.

Bit number313029282726252423222120191817161514131211109876543210
IDfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0xFFFFFFFF11111111111111111111111111111111
IDR/WFieldValue IDValueDescription
A-f

RW

MEM[i] (i=0..31)

Keep the memory block MEM[i] on or off when in System ON mode.

RAM blocks powered off this way will not be retained. All RAM blocks will be off in System OFF mode.

Off

0

Power down

On

1

Power up

POWER[n].RET

Address offset: 0x508 + (n × 0x10)

RAM retention for RAM [n].

Where n = 0 for RAM blocks 0 to 31 and n = 1 for RAM blocks 32 to 63.

Bit number313029282726252423222120191817161514131211109876543210
IDfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Reset 0xFFFFFFFF11111111111111111111111111111111
IDR/WFieldValue IDValueDescription
A-f

RW

MEM[i] (i=0..31)

Keep the RAM block MEM[i] retained when in System OFF mode.

All other RAM will be off in System OFF mode.

Off

0

Retention off

On

1

Retention on