I am using nRF52840 with SDK16 building with armgcc and trying to intergrate buttonless OTA into my project.
App details:
- Based on the ble_app_hrs_freertos example project
- Peer manager disabled as it was causing issues with USB DFU
- CDC ACM enabled
Bootloader details:
- Based on secure_bootloader pca10056_usb
- Configured for buttoned DFU
As far as I can tell, I have migrated the necessary code from ble_app_buttonless_ota into my app code and from secure_bootloader pca10056_ble into my bootloader. When I try and run the code, I am seeing potentially 2 issues.
- I get a hang on boot when calling ble_dfu_buttonless_async_svci_init() -> nrf_dfu_svci_vector_table_set().
- If I comment out ble_dfu_buttonless_async_svci_init(), then my app code can fully run without problem. But if I attempt to send OTA from nRF Toolbox DFU, I seem to get stuck in a loop of attempting to enter the bootloader but instead resetting into the app code after some time. This goes on until I reprogram the app code entirely.
- I have used the debugger to get to where I know it is getting through the various events of ble_dfu_evt_handler(), but compared to the raw example code, I do not see my app code get to app_shutdown_handler()
Anyone have any ideas as to what is going on?