[65] POWER: RAM[] registers mapping of RAM block and sections is wrong

This anomaly applies to IC Rev. Engineering A, build codes QFAA-AA0, QFAA-AC0, CGAA-AA0.

Symptoms

Using RAM[] registers to switch RAM retention on or off doesn't work as expected.

Conditions

Always.

Consequences

It is difficult to adjust the RAM retention to reduce power consumption.

Workaround

The easiest way to avoid problems is to switch on all RAM retention in all conditions, and do not micromanage the power consumption of the different RAM blocks and sections. The following code can be used:
NRF_POWER->RAM[0].POWER = 0xFFFFFFFF;
NRF_POWER->RAM[1].POWER = 0xFFFFFFFF;
NRF_POWER->RAM[2].POWER = 0xFFFFFFFF;
NRF_POWER->RAM[3].POWER = 0xFFFFFFFF;
NRF_POWER->RAM[4].POWER = 0xFFFFFFFF;
NRF_POWER->RAM[5].POWER = 0xFFFFFFFF;
NRF_POWER->RAM[6].POWER = 0xFFFFFFFF;
NRF_POWER->RAM[7].POWER = 0xFFFFFFFF;

Documentation feedback | Developer Zone | Subscribe | Updated 2016-07-05