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

Brick after DFU Fail, Softdevice functions all return 1

Was testing DFU Failures scenarios on SDK 10 to make sure that the software elegantly handles when an Image fails to transfer/swap/load/disconnect..etc. I find that when an image corrupts the bootloader correctly identifies the image as invalid and updates bootloader settings with BANK_INVALID_APP. However after the Bootloader correctly Resets, Softdevice functions are all return err_code 1 which should not be possible. Thus bricking the software. The follow functions in dfu_transport_ble.c are some of the functions returning err_code=1:

sd_ble_gap_address_get() sd_ble_gap_address_set() sd_ble_gap_adv_start()

Something is definitely odd. If I power cycle or reset the debugger everything restarts as normal. But otherwise the device essentially bricks. Anyone seen this?

-DC

Related