Use the --softdevice flag to provide the SoftDevice file to the nrfutil nrf5sdk-tools pkg generate command.
When generating the package that includes a SoftDevice file:
-
Use the
--sd-reqoption to specify one or more firmware IDs of the SoftDevice, one of which must be present on the target device (old SoftDevice).- While Thread and Zigbee stacks do not use a SoftDevice, the
--sd-reqoption is required for compatibility. Any value provided for this option is ignored during the DFU.
- While Thread and Zigbee stacks do not use a SoftDevice, the
-
Use the
--sd-idoption to specify the firmware ID of the new SoftDevice to be used as the new--sd-reqvalue on the target device.- This option was added in nRF Util v3.1.0 and is required since v3.2.0 in case the package should contain SD (+ BL) + APP. The new ID is copied to
--sd-reqlist so that in case of a link loss during the APP update, the DFU process can be restarted. In this case, the new SD would overwrite itself, so--sd-reqmust contain the ID of the new SD.
- This option was added in nRF Util v3.1.0 and is required since v3.2.0 in case the package should contain SD (+ BL) + APP. The new ID is copied to
Refer to the list of SoftDevice firmware IDs displayed by the nrfutil nrf5sdk-tools pkg generate --help command.
Note
When using this package, use the same major version of the SoftDevice as the one present on the device. This is because the bootloader on the device may not be compatible with the new SoftDevice version.
For example, the following command generates a package with the SoftDevice file softdevice.hex and the firmware ID 0x80 (SoftDevice S130 v2.0.0):
nrfutil nrf5sdk-tools pkg generate --softdevice softdevice.hex sd_dfu_package.zip --sd-req 0x80