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!