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

SD and Bootloader Flash optimization on nRF52810

Hi!

I'm working on a toy based on the nRF52810.

The BLE requirements are very low:

- Peripheral only

- 1 link only

- No bonding/pairing, no encryption, no whitelist

- No DLE extension

- 1 service with 2 characteristics

I'm a bit concerned about the size of the smallest SoftDevice (S112), which takes up a whopping 100 KB of flash!

Also, the secure BLE bootloader example takes up 24 KB + the mbr_params_page (4 KB) + the bootloader_settings_page (4KB) according to flash_placement.xml

This only leaves 192 - 24 - 4 - 4 - 100 = 60 KB for the application.

It might be enough, but I need to store some data in the Flash as well, which can't estimate ATM (compressed audio samples)

So my questions so far are:
1.- Since the flash size of an SD cannot be changed, is it possible to use a previous SD (maybe from an older SDK) which is less capable than S112, and takes up less flash?

2.- Is it necessary to have two 4KB pages for the bootloader settings and mbr params?. The struct nrf_dfu_settings_t seems to be < 1 KB from quick inspection.

3.- Is it possible to reduce the size of the secure bootloader?

4.- The nRF52810 has been chosen based on its price to keep production costs low. Would switching to the nRF51 platform give us more memory at the same (or lower) price?

5.- Any other pointers/tips to optimize flash usage would be greatly appreciated

Thanks in advance!

Parents
  • Hi Miguel,

    1. Older Softdevices may run on the NRF52810 but the problem is qualification. We have only done a few softdevice for the nRF52810. If you use the older softdevice on the nRF52810 that's not in the following list, you would need to do the whole qualification process on your own. Here is the compatibility table for the nRF52810: https://infocenter.nordicsemi.com/topic/comp_matrix_nrf52810/COMP/nrf52810/nRF52810_ic_rev_sdk_sd_comp_matrix.html?cp=3_3_2_2

    You can think of using S112 v5.1 where you can save 4kB. 

    2. Currently the bootloader setting page and the mbr param page are used for the bootloader setting, and the bootloader setting backup. The mbr param page is also used by the MBR. It's by theory can skip the bootloader setting backup and merge these 2 page to use the same page as the MBR param page. But you risk bootloader setting be corrupted if the device reset when editing bootloader setting. 

    3. I don't think it's possible to reduce the size of the bootloader without sacrifice any of its features. You can think of making application only DFU bootloader(It's not enough room to update softdevice on the nRF52810 anyway). Or non-secure DFU bootloader. These can reduce the size of the bootloader largely. 

    4. It's better that you contact one of our sale representative to discuss this. But the nRF51 will have much worst performance compare to a nRF52, including both RF performance and power consumption. 

Reply
  • Hi Miguel,

    1. Older Softdevices may run on the NRF52810 but the problem is qualification. We have only done a few softdevice for the nRF52810. If you use the older softdevice on the nRF52810 that's not in the following list, you would need to do the whole qualification process on your own. Here is the compatibility table for the nRF52810: https://infocenter.nordicsemi.com/topic/comp_matrix_nrf52810/COMP/nrf52810/nRF52810_ic_rev_sdk_sd_comp_matrix.html?cp=3_3_2_2

    You can think of using S112 v5.1 where you can save 4kB. 

    2. Currently the bootloader setting page and the mbr param page are used for the bootloader setting, and the bootloader setting backup. The mbr param page is also used by the MBR. It's by theory can skip the bootloader setting backup and merge these 2 page to use the same page as the MBR param page. But you risk bootloader setting be corrupted if the device reset when editing bootloader setting. 

    3. I don't think it's possible to reduce the size of the bootloader without sacrifice any of its features. You can think of making application only DFU bootloader(It's not enough room to update softdevice on the nRF52810 anyway). Or non-secure DFU bootloader. These can reduce the size of the bootloader largely. 

    4. It's better that you contact one of our sale representative to discuss this. But the nRF51 will have much worst performance compare to a nRF52, including both RF performance and power consumption. 

Children
  • Hi Hung,

    Thanks for all the information.

    I wasn't aware that the nRF52810 is not capable of updating its SoftDevice due to lack of room. This is good to know and therefore this is something I will definitely look into for stripping from the bootloader if I run out of space. Can you point me to some other post or case where I can find more information about this particular limitation of the 52810 ?

    I'm not that concerned about CPU and radio performance since the product needs to be close to the Central, and does not run complex or real-time algorithms. However, being low cost is the most important.

    Yes, I'm well aware that final pricing depends on the distributor and quantity, but I'd love to have some sort of ballpark estimate to get an idea of if the nRF52810 is the lowest priced chip among the nRF51 and nRF52 family, since the nRF51822 seems more expensive and the nRF5102 seems somehow extinct from my research.

    Best Regards,

    Mike

  • Hi Mike, 

    When doing BLE DFU the original softdevice is required to receive the image (via BLE) and since the size of the softdevice is 100kB there is no way we can receive the image without erasing the softdevice. It's possible to do an UART DFU update the softdevice though. 

    Regarding the pricing, could you please contact our RSM for Spain via email:  Roger.Pedersen (at  ) nordicsemi.no 

Related