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

Memory organization with SoftDevice, bootloader and main app

Hi all,

I want to ask whether I can put the main app on random address in the flash of the chip if there is bootloader and SD present due to future releases of SD and memory requirements?

Here is an example:

I have MBR from 0x0 to 0x1000 and from 0x1000 to 0x27000 I have SD7.0. Can I put the main app from address 0x33000 for example because I don't know now whether in the future SD will be larger than the SD7.0? I want to apply this to the RAM memory as well. Can I reserve more RAM memory for future releases of the SD?

If I can put the main app from 0x33000, should I use sd_softdevice_vector_table_base_set() for setting the start address of the main app on 0x33000 or the bootloader will automatically jump to SD and then to the main app (if the main app is right after SD)?

Can I set the MBR_SIZE of the bootloader to the address 0x33000 to avoid calling the above mentioned SD function?

I am particularly interested in the first memory organization (leaving memory for future releases of the SD).

Thanks in advance.

Parents
  • Hi

    Allocating RAM and FLASH should be done according to this blog post, and will be updated whenever a new SoftDevice is available. Generally, you'd want to set the RAM and Flash start addresses at the minimum value to make as much room in RAM/Flash for the application as possible. However, I don't see an issue with setting the start address higher if you value easier transitions to new SoftDevices more than space for your application.

    Best regards,

    Simon

Reply
  • Hi

    Allocating RAM and FLASH should be done according to this blog post, and will be updated whenever a new SoftDevice is available. Generally, you'd want to set the RAM and Flash start addresses at the minimum value to make as much room in RAM/Flash for the application as possible. However, I don't see an issue with setting the start address higher if you value easier transitions to new SoftDevices more than space for your application.

    Best regards,

    Simon

Children
Related