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

Question about flash placement in some NRF52840 examples

Hi Devzone,

I have noticed that some examples, like "ble_app_hts" that has strange flash placement like this figure:

There are 3 partitions, each is 8 bytes in top of flash. That 3 partitions is where bootloader, mbr parameters storage and bootloader settings should locate, but this examples seem do not use bootloader. So my question is why are there 3 partitions like that?

Thanks in advance.

Update: Does peer_manager_init() cause this?

Additional question: I see that in some example, when define FLASH_SIZE in linker (Segger embedded studio), it takes no effect because I don't see this macro in flash_placement.xml. Correct me if I'm wrong, thanks.

Parents
  • Hi,

    Unfortunately you cannot rely on the Programmer app's description of what type of information is located at various locations in flash. As you are using the ble_app_hts example application here without bootloader, the last three pages are used for FDS. And that means that when the FDS pages are initialized by writing a header to the beginning of each page, and that is why you see each page having 8 bytes of data.

    Update: Does peer_manager_init() cause this?

    Yes. (Initialization of FDS is part of initialization of the peer manager.)

    Additional question: I see that in some example, when define FLASH_SIZE in linker (Segger embedded studio), it takes no effect because I don't see this macro in flash_placement.xml. Correct me if I'm wrong, thanks.

    You are right. Unfortunately it has no use in the example projects. You will need to adjust FLASH_PH_SIZE to adjust the flash size.

Reply
  • Hi,

    Unfortunately you cannot rely on the Programmer app's description of what type of information is located at various locations in flash. As you are using the ble_app_hts example application here without bootloader, the last three pages are used for FDS. And that means that when the FDS pages are initialized by writing a header to the beginning of each page, and that is why you see each page having 8 bytes of data.

    Update: Does peer_manager_init() cause this?

    Yes. (Initialization of FDS is part of initialization of the peer manager.)

    Additional question: I see that in some example, when define FLASH_SIZE in linker (Segger embedded studio), it takes no effect because I don't see this macro in flash_placement.xml. Correct me if I'm wrong, thanks.

    You are right. Unfortunately it has no use in the example projects. You will need to adjust FLASH_PH_SIZE to adjust the flash size.

Children
No Data
Related