Hi there, I have a problem with the bootloader from the RF5_SDK_11.0.0_89a8197 together with Intel Wireless Bluetooth chipset. I use the softdevice s132_nrf52_2.0..1. I have to stay on this release. The bootloader DFU update works well with Realtek or Logilink.
The FW update with these chips is in about 90 seconds done.
The Intel Wireless Bluetooth chip takes 216 seconds to do this. Anyway.
I increased the timeout to 300000 seconds (DFU_TIMEOUT_INTERVAL) .
In addition, the timeout is reset until the end using dfu_timer_restart().
The WDT is also reset. But none of this seems to be the problem.
With Intel, the DFU update is rarely carried out completely, but most of the time it is canceled at an unpleasant place.
What I found with Realtek or Logilink:
Do STORE 0000000000 <---- Sore Value in Bank 1
Do STORE 0000000000
BLE_DFU_VALIDATE <----- Validate Comand
dfu_timer_restart done <----- Restart Timout
BLE_DFU_ACTIVATE_N_RESET <---- Activate and reset
dfu_timer_restart done <----- Restart Timout
Erase BANK 0
0000000000
Swap BANK 1 to BANK 0
update_process ready
DFU_UPDATE_APP_COMPLETE <----- End off Comand Activate and reset
Done <----- Last DFU Comunication to here app. in 90 sec
Now the bootloader starts the internal update from bank 1 to bank 0.
0000000000 <---- return value, clean up Bank0 / Pages
0000000000
*
*
*
0000000000
0000000000
Start Swap BANK 1 to BANK 0
Do STORE 0000000000 <---- return value, Swap BANK 1 to BANK0 / Pages
Do STORE 0000000000
*
*
*
Do STORE 0000000000
Do STORE 0000000000
Do STORE 0000000000
BOOTLOADER_COMPLETE <----- done, restart App
App Start..
Everything went well, as expected.
And if not, it looks like this (Intel):
Do STORE 0000000000 <---- Sore Value in Bank 1
Do STORE 0000000000
BLE_DFU_VALIDATE <----- Validate Comand
dfu_timer_restart done <----- Restart Timout
BLE_DFU_ACTIVATE_N_RESET <---- Activate and reset
dfu_timer_restart done <----- Restart Timout
Erase BANK 0
0000000000
Swap BANK 1 to BANK 0
update_process ready
DFU_UPDATE_APP_COMPLETE <----- End off Comand Activate and reset
Done <----- Last DFU Comunication in 216 sec.
Now the bootloader starts the internal update from bank 1 to bank 0.
0000000000 <---- return value clean up Bank0 / Pages
0000000000
*
*
*
0000000000
0000000000
Start Swap BANK 1 to BANK 0
0000000000 <----- return value first Page
Now the bootloader is reset! I have no idea why this happens!
--> Dev Name xxx 7000 <---- Bootloader start, after Timeout, the bootloader tries to start the app, but it doesn't exist.
BLE_DFU_START_APP
App Start...
Does anyone have an idea what triggers the termination?
Regard and thanx for Your help.