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

serial DFU update with SD+BL+APP

Hello,

According to the description in below page, "The image can be an application image, SoftDevice image, bootloader image, or a combined image of bootloader and SoftDevice."

https://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.sdk5.v14.2.0%2Fsdk_app_serial_dfu_bootloader.html&cp=4_0_0_4_4_2 

Does it mean if DFU (SD+BL+APP) altogether, I have to do DFU twice? Firstly DFU (SD+BL) and then DFU (APP)?

And also when DFU the soft device, is it possible to upgrade / downgrade if the major version is different? for example DFU from 15.2 to 16 / 16 back to 15.2? 

Thanks!

Kevin

  • Hi Kevin,

    Does it mean if DFU (SD+BL+APP) altogether, I have to do DFU twice? Firstly DFU (SD+BL) and then DFU (APP)?

    No, that is an inaccurate statement in the documentation. You can have a combination of SD+BL+APP in a single image. However, the update will be split in two, first the SD + BL, then the APP, but this will not be visible to the end-user.

    And also when DFU the soft device, is it possible to upgrade / downgrade if the major version is different? for example DFU from 15.2 to 16 / 16 back to 15.2? 

    As a general rule yes, you can upgrade from one SDK version to another, though there may be some issues with some combinations, particularly if the bootloader has changed in size since the bootloader start address is fixed. As long as you use the same bootloader start address moving between 15.2 and 16 is no problem. (Just remember that the DFU image must have a higher version than the existing for the bootloader to allow the update (unless you remove this limitation), but that is a version number you provide to nrfutil and not related to the SDK version or anything else.)

    Einar

  • Thanks for the feedback Einar.

    I just tried to use nrfutil to dfu my nRF52840 EVB, below shows you what inside the package file (.zip), manifest.json and the command line to issue dfu:

    nrfutil dfu serial -pkg test.zip -p com69 -fc 0 -b 9600

    dfu can start as normal but end up the application is not being updated. Please advise how can I use nrfutil to dfu the full image (SD+BL+APP)?

    Thanks,

    Kevin

  • Hi Kevin,

    Ah, now I see. You are right, I had not noticed this before, but unlike the other DFU master implementations we provide, nrfutil does not support splitting this into two operations when it acts as DFU master. Since this is not supported you will have to use two images in this case.

  • Hi Einar,

    If that is the case, serial bootloader can only support single image dfu (SD+BL) or (APP) as described in the document.

    Thanks for your great support.

    Kevin

Related