nrf5 Bootloader RAM consumption on nrf52810

Hi Team,

I'm on nrf52810 MCU, and am using the BLE Peripheral use case and need the BLE DFU functionality.

I've build my application on top of ./nRF5_SDK_17.1.0_ddde560/examples/peripheral/uart and add the BLE DFU service.

I've build the bootloader from ./nRF5_SDK_17.1.0_ddde560/examples/dfu/secure_bootloader.

The nrf52810 have 24KB of RAM and I see that Soft-Device take ~8.75KB of SRAM, hence the available SRAM is 15.25KB.

And upon building the bootloader, it seems that is needs ~17KB of SRAM.

Linking target: _build/nrf52810_xxaa_s112.out
text data bss dec hex filename
23356 184 17644 41184 a0e0 _build/nrf52810_xxaa_s112.out

vcvbc

Hence, can you please help in supporting the SRAM with bootloader on nrf52810.

  • Hi Ankur,

     On the nRF52810, SRAM is indeed a critical resource, especially when using both the SoftDevice and the Secure DFU bootloader. A few points that you can consider are:

     Make sure that you are using release build of the bootloader. It is stated in documentation that the debug version of the Secure DFU bootloader cannot be used together with the example on nRF52810. 

    If the bootloader is large even after using the release build, optimize it further by disabling unused features in sdk_config.h, ensuring you are not including unnecessary modules or logging, removing debug code and assertions, etc.

    If you still cannot fit within the available RAM, you may have reached the practical limits of the nRF52810 for this use case and you may need to consider a device with more RAM (like the nRF52832)

    Regards,

    Swathy

Related