This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52840 SDK16 - System OFF modes

Hi everyone,

Looking the nRF52840 Product Specification v1.1, I see that there are several System Off modes.

1. Using the function sd_power_system_off() what is the by default System Off mode that the system enters?

2. In case that I want to retain the values on some variable, I sould use the IOFF_RAMON_RESET ?

3. What configurations are required for each of the System Off modes? For example if I want to switch from IOFF_RAMOFF_RESET to IOFF_RAMON_RESET or vise versa.

Thanks in advance

Nick

Parents
  • Hi, 

    Looking the nRF52840 Product Specification v1.1, I see that there are several System Off modes.

    These are not different modes, rather typical power consumption values for different wakeup sources and RAM configurations.

    1. Using the function sd_power_system_off() what is the by default System Off mode that the system enters?

    By default, RAM retention is turned off - if you didn't activate any wakeup sources, you will have IOFF_RAMOFF_RESET or IOFF_RAMOFF_RESET_5V depending on your power supply scheme.

    2. In case that I want to retain the values on some variable, I sould use the IOFF_RAMON_RESET ?

    Yes, you can configure RAM retention for some sections or for the whole RAM, but you also have to ensure that your variable is not initialized by startup code (either put it into .noinit section, or decrease RAM size in project settings and use a pointer to memory above RAM known by compiler)

Reply
  • Hi, 

    Looking the nRF52840 Product Specification v1.1, I see that there are several System Off modes.

    These are not different modes, rather typical power consumption values for different wakeup sources and RAM configurations.

    1. Using the function sd_power_system_off() what is the by default System Off mode that the system enters?

    By default, RAM retention is turned off - if you didn't activate any wakeup sources, you will have IOFF_RAMOFF_RESET or IOFF_RAMOFF_RESET_5V depending on your power supply scheme.

    2. In case that I want to retain the values on some variable, I sould use the IOFF_RAMON_RESET ?

    Yes, you can configure RAM retention for some sections or for the whole RAM, but you also have to ensure that your variable is not initialized by startup code (either put it into .noinit section, or decrease RAM size in project settings and use a pointer to memory above RAM known by compiler)

Children
No Data
Related