This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Buttonless DFU in SDK12.2 stuck after connect

Hello,

I've managed to get the change to DFU working from my app, but now I'm stuck with the buttonless DFU BLE operation. I've added extensive logging to the <nRF5_SDK>\components\libraries\bootloader\ble_dfu\nrf_ble_dfu.cHowever file including the event handlers. Everything initializes fine and I'm able to see DfuTarg in nRF Connect & nRFToolbox for Android and the log contains the CONNECT event. however any activity after that on characteristics fails with 0x85 GATT ERROR.

Log:

:INFO:Inside main
:INFO:In nrf_bootloader_init
:INFO:In real nrf_dfu_init
:INFO:running nrf_dfu_settings_init
:INFO:Enter nrf_dfu_continue
:INFO:Valid App
:INFO:nrf_dfu_enter_check(void) called. enter_dfu=1
:INFO:  enter_buttonless_dfu == 1
:INFO:Erasing old settings at: 0x0007f000
:DEBUG:nrf_dfu_flash_erase() called. m_flags=0
:INFO:Erasing: 0x0007f000, num: 1
:INFO:Writing 0x00000057 words
:INFO:Writing settings...
:INFO:Application sent bootloader request
:INFO:enter_bootloader_mode != 0 || app not valid: 1
SDH:DEBUG:sd_ble_enable: RAM start at 0x20002c00
SDH:WARNING:sd_ble_enable: RAM start should be adjusted to 0x200027a8
SDH:WARNING:RAM size should be adjusted to 0xd858 
:INFO:After nrf_dfu_transports_init
:INFO:------- nrf_dfu_flash_init-------
:DEBUG:nrf_dfu_flash_init() called. sd_enabled=1
:INFO:Waiting for events
:INFO:nrf_ble_dfu:ble_evt_dispatch. id: 16
:INFO:BLE_GAP_EVT_CONNECTED
:INFO:nrf_ble_dfu:ble_evt_dispatch. done

If at this point I "pause" the run in Ozone debugger the callstack shows that the PC is at address 486 "Default_handler" and it just loops there...

I've tried to do anything I can think of, so probably I've missed something obvious, but I just can't figure it out...

Ideas?

Related