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

bootloader activate and reset - won't reset

Hi, I'm using trying to use the DFU via BLE, dual bank example from SDK 8.1.1 (with SD 8.0.0) and got it all working up to the point where I call "activate image and reset".

At that point, it activates the image, which calls dfu_image_activate(). This succeeds, and then nothing happens: the reset is in an if statement: if (err_code != NRF_SUCCESS) (at dfu_transport_ble.c:591).

I tried changing that, so that dfu_reset() gets called anyway, then it gets to m_update_status = BOOTLOADER_RESET; (at bootloader.c:234), and that's it. It seems like the reset never happens, because it never gets handled, I guess it's stuck at sd_app_evt_wait() ?

Anyone knows how to fix this properly?

edit

Seems like it got stuck in app_sched_execute(), handling BLE_GAP_EVT_DISCONNECTED in dfu_transport_ble.c with error code 5 (NRF_ERROR_NOT_FOUND). It gets disconnected in dfu_transport_close (at dfu_transport_ble.c:1095).

Related