Memory configuration in nRF52820 for DFU Support

Hello

I'm using nrf52820 chip with Segger embedded studio and nRF5_SDK_17.1.0_ddde560 also soft device "s112_nrf52_7.2.0_softdevice" .

I want to add DFU through BLE support to my application, i confused in the memory allocation part,

how to allocate a RAM and ROM for application and bootloader (secured bootloader) ?

In Section placement macros what value need to write. I'm using S112 soft device .

can you provide memory allocation example for nrf52820 DFU support application and bootloader.

In nrf52820 can we do dual bank update?

Best regards

Bosemani

Parents
  • Hi,

    For a DFU application example, please have a look at the Buttonless DFU Template Application.

    In nrf52820 can we do dual bank update?

    The nRF52820 has 256 kB flash, and the SoftDevice s112 v7.2.0 uses 100 kB (see the release notes at <sdk folder>\components\softdevice\s112\doc). In order for dual bank upgrade to be possible, there must be enough flash left for the upgrade after subtracting SoftDevice, Application, Application data, DFU bootloader, bootloader settings and MBR param page. See Dual-bank updates.

    Regards,
    Terje

  • Hai Terje,

    Thank you for your response..!

    I tried Buttonless DFU Application without changing anything , It worked.

    i just need some clarification to integrate to my application.

    1. What is the size of DFU bootloader, bootloader settings, MBR param page, Application data , SoftDevice (already you mentioned 100kB)?

    2. How I can define this size in my program?  (starting address and ending address)

    3. How can I verify everything is in Correct memory place? (Without any overlapping)

    Best Regards

    Bosemani

Reply
  • Hai Terje,

    Thank you for your response..!

    I tried Buttonless DFU Application without changing anything , It worked.

    i just need some clarification to integrate to my application.

    1. What is the size of DFU bootloader, bootloader settings, MBR param page, Application data , SoftDevice (already you mentioned 100kB)?

    2. How I can define this size in my program?  (starting address and ending address)

    3. How can I verify everything is in Correct memory place? (Without any overlapping)

    Best Regards

    Bosemani

Children
Related