Hello,
This is related to a previous post, but now with new information and a more specific issue to resolve.
We have product in the field based on RF Digital's Simblee BLE module, which uses nRF51822 revision 3. All modules have Simblee's custom DFU bootloader, SoftDevice S110 v8.0.0 and our application flashed and working. Our application was developed using the Simblee library which hides much of the complexity of BLE, including legacy buttonless DFU.
We need to transition from the proprietary Simblee Library and bootloader to our own bootloader and an application developed with Nordic SDK 12.3, still using SoftDevice S110 v8.0.0. Our own bootloader is essentially the dual_bank_ble_s110 dfu bootloader example of SDK 10.0. Using an nRF51 dev kit, I can program our bootloader and S110, then I can DFU images of bootloader+S110 and our new application using nRF Connect (iOS). I use nrfutil v0.5.2 to generate the zip files for legacy DFU. All works well.
Ultimately we will be using DFU over BLE to update to our bootloader, S110 and our new application. I understand that this is done in two steps: 1) bootloader+S110, 2) application. If I program the DK with Simblee's proprietary bootloader and S110, when I then DFU an image that contains our bootloader+S110, following the transfer of the image, the DK does not reset. I have to manually reset the DK so that our bootloader runs and can then proceed with DFU of our application. This complicates the update process for our customers because they will be required to turn off and back on the device following transfer of the bootloader+S110 so that transfer of our application can proceed.
I'm noticing the same behaviour when using a Simblee module programmed via the nRF51 DK.
Any ideas why the module does not reset and run the bootloader following DFU of bootloader+S110? I've attached the custom Simblee bootloader (ota_bootloader_dual_bank.hex).
Many thanks,
Tim