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

Mesh SDK - NRF52840 flash page issue

I am setting up a programming script for our devices.  
Memory layout is as follows:

Address Size
MBR+SoftDevice 0x00000 0x26000
Application 0x26000 0x66000
DFU Swap Space 0x8C000 0x66000
Persistent App Data 0xF2000 0x2000
Nordic Mesh Info 0xF4000 0x4000
Nordic Bootloader 0xF8000 0x6000
Bootloader Settings 0xFE000 0x2000

Programming the following items: SD, bootloader, our application, and device page produced by device_page_generator... The device functions as desired.
The issue is when I attempt to add the persistent app data pages, starting at 0xF2000.
It seems that something is using that page (and F3000):

J-Link>mem8 F2000 1024

000F2000 = 08 04 10 10 01 00 FF FF FF FF FF FF FF FF FF FF
...
000F2FF0 = FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
000F3000 = 08 04 10 10 01 00 FF FF FF FF FF FF FF FF FF FF

I thought I had properly accounted for the flash pages required by mesh.  
Calling the following functions shows that the DSM starts where I expect:
dsm_flash_area_get() = 0xF4000
net_state_flash_area_get() =  0xF5000
flash_manager_recovery_page_get() = 0xF6000

What have I missed?  What is using the flash pages at 0xF2000 and 0xF3000

Thanks.

Mesh SDK v3.1.0
nRF5 SDK v15.2.0

Parents
  • I see from /doc/libraries/flash_manager.md that this (08 04 10 10 01 00 FF FF) is the flash manager metadata header.

    Based on the other documents, I should only need 4 pages for the mesh info (which is what I have reserved).

    However, 2 extra pages are being consumed, F2000 and F3000.  Where are these 2 extra pages coming from? 

    In this 52840 device, it is not a problem to adjust memory layout since there is plenty of flash space.  In our 52832 device however, losing 2 more pages makes things really tight. 

Reply
  • I see from /doc/libraries/flash_manager.md that this (08 04 10 10 01 00 FF FF) is the flash manager metadata header.

    Based on the other documents, I should only need 4 pages for the mesh info (which is what I have reserved).

    However, 2 extra pages are being consumed, F2000 and F3000.  Where are these 2 extra pages coming from? 

    In this 52840 device, it is not a problem to adjust memory layout since there is plenty of flash space.  In our 52832 device however, losing 2 more pages makes things really tight. 

Children
No Data
Related