Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Must the Soft Device be upgraded if the SDK is upgraded?

With rev 3 of the nRF52840 I am looking at upgrading the SDK from 16.0.0 to 17.1.0 on my current project.

I have product in the field based on SDK 16.0.0 with Soft Device 7.0.1.

After reviewing the Soft Device and SDK release notes I'm left with one unanswered question. As SDK 17.1.0 is listed as compatible with Soft Device 7.2.0, must I upgrade the Soft Device at the same time as the application for my field devices? Or, are minor Soft Device updates somehow compatible with newer SDKs as long as new features are not used?

Note I am using buttonless DFU for upgrades.

Parents
  • Hi,

    You don't need to upgrade to a new SDK version in order to support the new rev 3 devices, it is enough to upgrade the MDK (delivered with the SDK, at <sdk root>/modules/nrfx/mdk). The way to do so depend on toolchain. What IDE/toolchain are you using?

    If you need other functionality from a later SDK version, upgrading to SDK 17.1.0 is of course also good. For that version of the SDK, the included MDK also supports the rev 3 devices. Since the SoftDevice is on the same major revision, it should be compatible, yes, if only using the old features. See release notes and migration document in e.g. <sdk root>/components/softdevice/s140/doc/ for the specific details. However if the sole purpose is to rebuild the application to be compatible with the new SoC revision then only upgrading MDK might be the better option.

    Regards,
    Terje

  • I'm using the arm gcc toolchain. I've moved over to using VSCode and Meson/ninja for IDE and build system. I used the provided Make system as the reference when doing this.

    My main driver behind moving to SDK 17 is partly to support the coming rev 3 hardware, but also to be on the same SDK that is being maintained by Nordic. It's pretty clear that nRF Connect SDK is where the main development is and the nRF5 SDK is in maintenance.

Reply
  • I'm using the arm gcc toolchain. I've moved over to using VSCode and Meson/ninja for IDE and build system. I used the provided Make system as the reference when doing this.

    My main driver behind moving to SDK 17 is partly to support the coming rev 3 hardware, but also to be on the same SDK that is being maintained by Nordic. It's pretty clear that nRF Connect SDK is where the main development is and the nRF5 SDK is in maintenance.

Children
  • Hi,

    If you go for full SDK upgrade:
    SoftDevice s140 v7.2.0 (SDK 17) is binary compatible with s140 v7.0.1 (SDK 16). This means you can still use the same SoftDevice. See the migration document for s140 for details on what API functionality was added for v7.2.0, in the <nRF5 SDK v17 folder>\components\softdevice\s140\doc folder.

    If you go for only MDK upgrade:
    GCC is probably the one where it is the easiest to upgrade to a new MDK (still sticking to the same SDK version.) Get the new MDK release from our nRF MDK download page, and use the files from the zip archive to replace the files distributed with the SDK in the <sdk folder>/modules/nrfx/mdk folder. If the set of c files in the MDK has changed, you may need to add additional c files to the project.

    Regards,
    Terje

Related