Create a BLE DFU Bootloader Compatible with nRF52811's Memory Constraints?

Hello,

I want to integrate a bootloader with BLE DFU functionality on the nRF52811 microcontroller. I have several questions regarding this:

  1. Memory Management: Since the microcontroller has only 192 kB of flash memory, memory management is crucial. I'm looking for a solution whose size is compatible with the memory limitations of the nRF52811.

  2. Bootloader Integration: I've noticed that it's possible to add a bootloader configuration to applications by modifying the prj.conf file to include a child image, such as NSIB or MCUboot. However, I would prefer to obtain a bootloader that already has BLE DFU functionality and is adapted to the memory size of the nRF52811. I should mention that I do not wish to integrate it into a project via prj.conf.

My question is:

  • Are there any samples or tutorials that explain how to create a bootloader project with BLE DFU functionality, whose size is compatible with the nRF52811?

Thank you in advance for your help.

Parents
  • Hi,

    In nRF Connect SDK you will unfortunately struggle with getting a regular BLE application with no DFU options to fit on the 192kB nRF52811. For instance, here's the generated size of the default peripheral_uart sample (which is not even supported on the nRF52811):

    Output from building for nrf52840dk:

    [234/234] Linking C executable zephyr\zephyr.elf
    Memory region Used Size Region Size %age Used
    FLASH: 225104 B 1016 KB 21.64%
    RAM: 38304 B 256 KB 14.61%
    IDT_LIST: 0 GB 32 KB 0.00%

    Not just will flash be an issue, but so will RAM (since the 52811 has only 24kB)

    The short answer to your question(s):

    Are there any samples or tutorials that explain how to create a bootloader project with BLE DFU functionality

    Yes

    whose size is compatible with the nRF52811?

    No. This is not possible.

    Your only solution if you wish to use nRF Connect SDK, Zephyr RTOS and DFU FOTA over BLE is to use a SoC with more memory. 

    Kind regards,
    Andreas

  • Hi Andreas,

    Thank you for your quick response and for clarifying the limitations with the nRF52811. I appreciate your help.

    Even though it's not possible with the nRF52811, I would still like to learn more about creating a bootloader project with BLE DFU functionality. Could you please provide links to the samples and tutorials you mentioned?

    Thanks again for your assistance.

    Best regards,

Reply
  • Hi Andreas,

    Thank you for your quick response and for clarifying the limitations with the nRF52811. I appreciate your help.

    Even though it's not possible with the nRF52811, I would still like to learn more about creating a bootloader project with BLE DFU functionality. Could you please provide links to the samples and tutorials you mentioned?

    Thanks again for your assistance.

    Best regards,

Children
Related