I flashed dual bank ble bootloader from newest SDK (6.1.0) and used it to load my application to chip. I also modified my application (according to instruction here: devzone.nordicsemi.com/.../a00076.html )
Service is succesfully added - master control panel connects, sends START DFU (application update) -> my device reboots and starts advertising as DfuTarg. To this point everything goes well, but after few secs of advertising (about 1-3) my DfuTarg stops ans my application starts. No update is performed.
I tested example ble_app_hrs_dfu provided in SDK and it works like this: Application shows ble_dfu service -> MCP sends START DFU -> device reboots to DfuTarg and starts advertising -> after about 6secs my MCP connects to it and update goes exactly as it should.
It was all tested on same bootloader.hex
My application was a bit different from ble_app_hrs_dfu, because was manually setting sd_ble_gap_address_set , and MAC of my app differed from MAC of DfuTarg, but now I solved this and both addresses are the same. I cannot find any other differences...
Do You guys have any clues what is going on here?
I have been using WDT in my app, but it is disabled right now so it shouldn't be the reason of that mess.