I am using a custom board with an nRF52840.
For OTA updates, I’m using SDK 17.1.0 based on the sample codes:
-
Bootloader:
secure_bootloader
-
Application: A custom application based on
ble_app_blinky
.
After flashing my custom application, I try to perform a Firmware Update using the Android version of nRF Connect. However, the update process gets stuck right after "DFU Initialization", and eventually results in a GATT ERROR.
Below is the log from J-Link RTT Viewer:
Device is preparing to enter bootloader mode Device will enter bootloader mode
The relevant source code is shown below:
static void ble_dfu_buttonless_evt_handler(ble_dfu_buttonless_evt_type_t event) { switch (event) { case BLE_DFU_EVT_BOOTLOADER_ENTER_PREPARE: NRF_LOG_INFO("Device is preparing to enter bootloader mode"); break; case BLE_DFU_EVT_BOOTLOADER_ENTER: NRF_LOG_INFO("Device will enter bootloader mode"); break; case BLE_DFU_EVT_BOOTLOADER_ENTER_FAILED: NRF_LOG_INFO("Device failed to enter bootloader mode"); break; default: NRF_LOG_INFO("Unknown event from ble_dfu."); break; } }
The nRF Connect (Android) screen during the update is shown below:
Any help or suggestions would be greatly appreciated.
Thank you in advance!