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

Update Softdevice via DFU

I currently have a device running on sdk15 with a softdevice 6.0.0.

I got a bootloader running the DFU code, and updating the main image works perfect. We load a default image for testing during manufacturing.

We want to update the main image to use the latest sdk17 and soft device 7.0.1. Generating the new packadge is easy, using
"nrfutlis_6_1_0.exe pkg generate --hw-version 52 --sd-req 0xCB --application bleApp.hex --application-version 1 --key-file key.pem bleApp.zip"

But this does not include the soft device, so when ever I try to do a dfu serial update I get

"Extended Error 0x07: The array of supported SoftDevices for the update does not contain the FWID of the current SoftDevice."

So the question is how do I include the softdevice in the package, and or, how do I update the softdevice otherwise?

Parents
  • So I think I added the image in
    "nrfutlis_6_1_0.exe pkg generate --hw-version 52 --sd-req 0xCB --application bleApp.hex --application-version 1 --key-file key.pem --softdevice s132_nrf52_7.0.1_softdevice.hex --sd-id 0xCB bleApp.zip".

    I can see my package size grew a bit, so I take it is correct.

    But I still get the "Extended Error 0x07: The array of supported SoftDevices for the update does not contain the FWID of the current SoftDevice."

  • Hello,

    When doing a major SD update (v6-->v7) you also need to include a new app and bootloader that is compatible with the new API and layout (ie depending on softdevice, the app may require a new start address).

    Please try run nrfutil with the arguments I've added below:

    "nrfutlis_6_1_0.exe pkg generate --hw-version 52 --sd-req 0xCB, 0xA8 --bootloader <new bootloader>.hex --bootloader-version <version> --application bleApp.hex --application-version 1 --key-file key.pem --softdevice s132_nrf52_7.0.1_softdevice.hex --sd-id 0xCB bleApp.zip".

    I added 0xA8 to the sd req list because it's FWID for s132 v6.0.0 that you have running on your device.

Reply
  • Hello,

    When doing a major SD update (v6-->v7) you also need to include a new app and bootloader that is compatible with the new API and layout (ie depending on softdevice, the app may require a new start address).

    Please try run nrfutil with the arguments I've added below:

    "nrfutlis_6_1_0.exe pkg generate --hw-version 52 --sd-req 0xCB, 0xA8 --bootloader <new bootloader>.hex --bootloader-version <version> --application bleApp.hex --application-version 1 --key-file key.pem --softdevice s132_nrf52_7.0.1_softdevice.hex --sd-id 0xCB bleApp.zip".

    I added 0xA8 to the sd req list because it's FWID for s132 v6.0.0 that you have running on your device.

Children
No Data
Related