Hello all,
We sell BLE devices with pre-programmed firmware, which has the ability to be remotely updated using the nordic buttonless DFU service based on a modified version of the secure bootloader.
Our customer wishes to use their own application + bootloader, and we would like to make that update using the buttonless DFU service.
Some technical info:
Customer SDK version: 15.0.0 (EDITED: Previously: 5.0.0)
Customer SoftDevice FW ID: 0x9D (s132)
Our SDK version: 17.0.1 (EDITED: Previously: 7.0.1)
Our SoftDevice FW ID: 0xCB (s132)
Hardware: BMD-350 (nrf52832 base)
The DFU zip package is generated using the command:
nrfutil pkg generate --application app_v0.1.1.hex --application-version-string "1.0.0" --bootloader bootloader.hex --bootloader-version 2 --hw-version 52 --sd-req 0xCB --sd-id 0x9D --softdevice s132_nrf52_5.0.0_softdevice.hex --key-file dfu_private_key.pem complete_dfu.zip
The issue is: When we update using this DFU zip file, the customer bootloader starts running. But the application never starts, not even after waiting for the customer bootloader to time-out (which it never does).
This indicate to me that the application is not successfully received by the device. But the application runs without problem when flashed to the device using SWD.
As I understand it, the bootloader and SoftDevice are programmed first when using DFU and the application is programmed afterwards. How come only half of the process is successful?
Best regards