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

Flash Memory Layout for nrf52832 with Mesh and Bootloader

I am transitioning a project from normal BLE to BLE mesh.

Flash space might be an issue.

Here is the flash layout I have so far.  Purple is for nordic items and yellow is for my items.

SoftDevice S132 6.0
Usage Address Size
MBR+SoftDevice 0x00000 0x26000
Application 0x26000 0x28000
DFU Swap Space 0x4F000 0x28000
Persistent App Data 0x77000 0x2000
Nordic Bootloader 0x78000 0x6000
?????? 0x7E000 0x2000

- Does the booloader use the space at the end (0x7e000)?

- Does anything in the mesh SDK require persistent storage, similar to the peer manager in the regular SDK?  I have 2 pages reserved for my own persistent configuration data.  Should I reserve any additional pages for Mesh features?

Thanks!

  • Hi Jay, 

     

    - Yes the bootloader uses the space at the end for MBR and bootloader setting. 

    - Yes, the mesh stack requires flash to store device state manager data, network state data, access state data. You can have a look at this document.

    Usually the flash manager put the defrag page right after the bootloader. Please have a look at flash_manager_defrag_init()

    You need to configure FLASH_MANAGER_RECOVERY_PAGE_OFFSET_PAGES to give space for your application plus the fstorage if you use fstorage. 

Related