Hi,
While working on OTA DFU using my custom code compiled to work on PCA10028 board, I am seeing the following issue.
The OTA DFU works fine using Master Control Panel and my bootloader and application images on PCA10028. I have pretty much used the SDK code for the DFU logic.
I then replaced bootloader_start() from dfu_app_on_dfu_evt() and instead scheduled an event to the main(). This event gets executed as part of app_sched_execute() in the main() loop. In the event schedule execution logic, I just call bootloader_start(). In short, the bootloader_start() call is moved from BLE interrupt context to main() loop's context.
With this change the OTA DFU doesn't work. I see that the App is able to start the bootloader, but the DFU fails.
Any pointers?
I want to make the change so that I can do some cleanup work in reset_prepare(). This cleanup work requires things executed from the main() loop's context.
Thanks, Sam