2. Concept to achieve 32kB retention RAM

2.1. Objective

  • Create an example project where your application is executed using the 32kB RAM (Block 4).
  • Only the Block 4 (32kB RAM) is retained.
  • How we will do it:
    • Load at 0x7FC0000
    • Execute at 0x7FD0000
    • Rebase 0x7FD0000 at zero.
_images/figure5.svg

Figure 5 32kB RAM Memory view

Note

  • The 32kB RAM retained is very useful for small applications with very limited functionalities such as BLE barebone application
  • The block 4 (32kB RAM) will be used to store the code, patch table, interrupt handler & ROM code.
  • The Default boot-rom will directly jumps to SysRAM1 Block 1 (start from 0x07FC0000) that’s why the Reset handler and SystemInit are kept in SysRAM1 Block 1.
  • The Code for the reset Handler does not need to be retained because during Hardware Reset it is restored from OTP or Flash

Note

  • The Size of the section that contains the HW IP and ROM Data is calculated based on __SCT_BLE_BASE macro definition located in sdk\common_project_files\da1458x_scatter_config.h
  • During application development the HW IP and ROM Data section in block 4 cannot be used in any way. The total application size which is the maximum size that can be fitted in Block 4 for program execution is given by: User Application size = Size of Block 4 - HW IP and ROM Data