CN / EN
Doc Feedback
Thanks for your interest, welcome to contact us.
Thanks for your feedback

RAM Power Management

Each RAM Block has three power modes: POWER OFF, RETENTION, and FULL.

  • The FULL Mode corresponds to the Active Mode of the system; MCU is permitted to read from and write to RAM Blocks.
  • RETENTION Mode is mainly used in Sleep Mode of the system. Data in RAM Blocks in this power mode does not get lost and is ready for use by the system when it switches from Sleep Mode to Active Mode.
  • RAM Blocks in POWER OFF Mode are powered down, and data stored in these blocks gets lost. Users shall store the data in advance.

By default, the PMU in the GR551x enables all RAM power sources when the system starts. The GR551x SDK also provides a complete set of RAM power management APIs. You can configure the power of RAM Blocks based on application needs.

By default, the automatic RAM power management mode will be enabled when the system starts. The system will control the power of RAM Blocks automatically according to RAM usage by applications. The configuration rules are provided as follows:

  • When the system is in Active Mode, unused RAM Blocks are set to POWER OFF Mode, and RAM Blocks to be used are set to FULL Mode.
  • When the system enters Sleep Mode, unused RAM Blocks remain in POWER OFF Mode, and RAM Blocks to be used are set to RETENTION Mode.

Configurations in practice are described below:

  • In Bluetooth LE applications, two RAM Blocks, RAM_8K_0 and RAM_8K_1, are reserved for Bootloader and Bluetooth LE Stack only, not available for applications. When the system is in Active Mode, these two RAM Blocks shall be in FULL Mode; when the system is in Sleep Mode, they shall be in RETENTION Mode. Non-Bluetooth LE applications can use these two RAM Blocks.
  • Purposes of RAM_8K_2 and subsequent RAM Blocks are defined by applications. Generally, user data and the code segments to be executed in RAM are defined in continuous segments starting from RAM_8K_2; top of function call stacks are defined in upper address part of RAM. The power mode of these RAM Blocks can be enabled, or controlled by applications.
Note:
  1. Only if a RAM Block is in FULL Mode, an MCU is permitted to access it.
  2. To manage the RAM power sources and use a RAM Block which is not included in the memory layout information of applications, you need to call the mem_pwr_mgmt_mode_set_from(uint32_t start_addr, uint32_t size) function during application initialization, to power the RAM Block on.
  3. Details about RAM power management APIs are in SDK_Folder\components\sdk\platform_sdk.h.

    SDK_Folder is the root directory of GR551x SDK.

Scan to follow

Open WeChat, use "Scan" to follow.