Hi,
I have an issue where sometimes after a restart of our device the nRF hangs on either:
ble_dfu_buttonless_async_svci_init()
or
ble_dfu_buttonless_init(&dfuButtonlessService)
I suspect these functions because:
1) On a successful boot I see this in my RTT log:
00> <info> app: Setting vector table to bootloader: 0x00071000
00> <info> app: Setting vector table to main app: 0x00026000
While a failed boot logging stops at:
00> <info> app: Setting vector table to bootloader: 0x00071000
2) When I remove the calls to these functions the device seems to always start correctly.
3) Sometimes after executing a firmware upgrade using the DFU the same situation arises and we need to restart the device by removing and reinstalling the battery.
I would like to debug this but as we are using a softdevice this is near to impossible. I already assert on the return values of those functions (they need return NRF_SUCCESS), but those are never hit. Possibly because the nRF hangs within one of those functions.
Would you happen to have any idea what could be going wrong here? Does this have something to do with the softdevice sometimes not being ready? How could we fix this, or how could I find out what is really going on?
Thanks a lot
SDK: 15.3.0
SD: S132
HW: nRF52832
We use FreeRTOS
Update: Through this thread which described quite similar behaviour I found: this thread. I will try the patch and see if that fixes the issue.