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

Is the SoftDevice upgraded with dual bank DFU?

Hello

We are using secure boot loader for DFU and is working great. We were using single bank DFU, but reduced our image size to allow dual-bank DFU. If you could please let me know the answer to the following questions, that would be awesome.

1- is SD also upgraded in dual-bank DFU? if yes, please answer question 2

2- Is there a way to avoid SD upgrade in dual-bank DFU?

3- How much scratch flash is required for DFU process? Is the size configurable and how?

4- in secure_boot loder_ble_s140_pca10056 project the sdk_config.h  shows NRF_DFU_BLE_BUFFERS set to 8 pages. What is the minimum # of pages for a safe DFU? The comment writes if this value is made too small DFU will fail. is 6 pages considered small, or 4 or 2?

Thanks,

Mano

  • Hello,

    Maybe you have seen them already, but there are some good illustrations of how the single and dual bank update process works in the SDK documentation here: Dual-bank and single-bank updates (this is also good for understanding the memory requirements: Memory layout)

    1. Softdevice updates are always dual-banked. In-place update of the Softdevice is not possible with the BLE DFU transport as it relies on the Softdevice being present.

    2. Maybe I'm not understanding your question correctly, but you decide when you create the DFU distribution packet whether the Softdevice should be inlcuded in the update or not.

    3. The Bank regions are used as scratch areas and their sizes are adjusted dynamically by the bootloader. The Bank 1 start address is for instance adjusted based on how big the app image in Bank 0 is. And if there is no app in bank 0, then there is no need for a bank 1 either.

    The bank area must be large enough to hold the entire FW image to accept an update.

    4. This configuration options specifies how many BLE DFU packets that the bootloader can queue up in RAM. I would recommend to keep the default setting here (i.e. NRF_DFU_BLE_BUFFERS_OVERRIDE == 0).

    Best regards,

    Vidar

  • Thanks Vidar for your answers. I had already seen those illustrations. For some reason, when I was looking at other posts, someone had mentioned that every time a dual-bank application update is performed, the Soft Device will also get updated!!! I didn't think this was the case and wanted to clarify.

    I realize SD updates will happen via dual-bank and that is fine. We won't be doing many of those hopefully.

    8 pages seems a lot of storage, but if cannot be reduced then will leave it alone. 

    Thanks again for your answer.

    Best,

    Mano

  • No problem Slight smile

    Mano said:
    8 pages seems a lot of storage, but if cannot be reduced then will leave it alone.

    Are you reffering to the NRF_DFU_BLE_BUFFER that buffers the BLE dfu packets? This buffer is only 4096 bytes and is kept in RAM and therefore freed when the bootloader starts the main app.

     

Related