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

Where is the peer manager data stored?

Hello, I can't find where in flash the peer manager data is stored. I'm currently working on DFU support and as part of that I want to define the memory area that should be preserved when doing updates (I want to store some custom data along with the peer manager stuff).

When looking at the memory map infocenter.nordicsemi.com/.../bootloader_memory_nrf52.svg I suspect that the peer manager data may be part of "Application data", but I can't find information about this anywhere.

Can you either explain this, or point me in the right direction? I'd like to know where peer manager stores its data, and how much data it stores (per connection etc). Also, if it's not in the "Application data" area, how is it handled when doing a DFU?

Thanks, Jacob

  • Ok. What if we along the way realize that we need to store more data (let's say in two years from now), and increase the value of DFU_APP_DATA_RESERVED. Is that supported?

    How does FDS handle flash wearout? If a block (etc) goes bad in the flash, is this taken care of?

  • Yes, you can grow the number of fds pages and DFU_APP_DATA_RESERVED in the future. fds provides basic wear leveling functionality, i.e. it won't keep track of how many times each page has been erased, but it will make an effort to not wear one page more than the others. To maximize the lifetime of flash when using fds, I suggest to garbage collect only when you receive the FDS_ERR_NO_SPACE_IN_FLASH error.

  • Hi Jørn, I know this thread is 11months old, but after I read it, and the links you posted, it is still unclear for me, where is the peer manager data stored? I am facing a scenario similar to Jacob. is it possible change the reserved memory used for FDS? where is it allocated?

    for example if the peer manager data is "underneath the region reserved for the bootloader (if a bootloader is present)" it means the data will be stored below the bootloader addres (end address) and the start address is bootloader address -( flash pages + pages for garbage)?

    If no bootloader is present the peer manager should be between or below the bootloader settings?

    for example, could the peer manager data, be store starting in the address 0x30000?

    thanks

Related