Issue with OTA Application Update on nRF52840 DK Board

I am currently working on the secure_bootloader example (pca10056_s140_ble) for the nRF52840 DK board and am encountering an issue with updating the OTA application. I have followed the standard steps for generating the required keys, merging the softdevice and bootloader, and attempting to update the application over-the-air (OTA), but it seems that the application is not updating as expected.

Here are the steps I have taken:

1.Private Key Generation:
I successfully generated a private key using the following command:

.\nrfutil.exe keys generate private.key

2.Public Key Generation:
After generating the private key, I generated the corresponding public key:

.\nrfutil.exe keys display --key pk --format code .\private.key --out_file public_key.c

I then replaced the old public key content in the bootloader source code with the newly generated one and recompiled the bootloader.

3.Merging Bootloader and SoftDevice:


I merged the bootloader and SoftDevice hex files:


mergehex -m bootloader.hex softdevice.hex -o bl_sd.hex

I then uploaded this bl_sd.hex file to the device.

4.Package the Application:
I created the application DFU package with the following command:

.\nrfutil.exe pkg generate --hw-version 52 --application-version 1 --application .\nrf52840_xxaa.hex --sd-req 0x0100 --key-file .\private.key app_dfu_package_code.zip

5.OTA Update:

After loading the bootloader and SoftDevice onto the device, I attempted to update the application using the DFU Target (DFUtrg) on my mobile app. However, the application is not updating as expected, and the process seems to stall or fail or sometime upto 17% process and GATT ERROR.

I have checked the connections and the commands several times, but the issue persists. Could you kindly assist me in troubleshooting this problem or provide guidance on what might be missing from the process?

I would greatly appreciate any help or suggestions you can provide to resolve this issue.

Thank you for your time and support.

Parents
  • Hi,

    Can you build a debug version of the bootloader (use the example project suffixed _debug) and check the RTT log? Can you share the log here? That will often give good information about any bootloader issues.

  • 00> <info> app: Inside main
    00>
    00> <debug> app: In nrf_bootloader_init
    00>
    00> <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
    00>
    00> <debug> nrf_dfu_settings: Using settings page.
    00>
    00> <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <debug> app: Enter nrf_bootloader_fw_activate
    00>
    00> <info> app: No firmware to activate.
    00>
    00> <info> app: Boot validation failed. No valid app to boot.
    00>
    00> <debug> app: DFU mode because app is not valid.
    00>
    00> <info> nrf_bootloader_wdt: WDT is not enabled
    00>
    00> <debug> app: in weak nrf_dfu_init_user
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_activate (0x20005994)
    00>
    00> <info> app: Entering DFU mode.
    00>
    00> <debug> app: Initializing transports (found: 1)
    00>
    00> <debug> nrf_dfu_ble: Initializing BLE DFU transport
    00>
    00> <debug> nrf_dfu_ble: Setting up vector table: 0x000F1000
    00>
    00> <debug> nrf_dfu_ble: Enabling SoftDevice.
    00>
    00> <debug> nrf_dfu_ble: Configuring BLE stack.
    00>
    00> <debug> nrf_dfu_ble: Enabling the BLE stack.
    00>
    00> <debug> nrf_dfu_ble: No advertising name found
    00>
    00> <debug> nrf_dfu_ble: Using default advertising name
    00>
    00> <debug> nrf_dfu_ble: Advertising...
    00>
    00> <debug> nrf_dfu_ble: BLE DFU transport initialized.
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_sd backend.
    00>
    00> <debug> app: Enter main loop
    00>
    00> <debug> nrf_dfu_ble: Connected
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST.
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (27, max_rx_time 328).
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 600
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 6
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 6
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 500
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 600
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GATTS_EVT_EXCHANGE_MTU_REQUEST (request: 517, reply: 247).
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST.
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (27, max_rx_time 328).
    00>
    00> <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_SELECT (command)
    00>
    00> <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    00>
    00> <debug> nrf_dfu_ble: Set receipt notif
    00>
    00> <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_RECEIPT_NOTIF_SET
    00>
    00> <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    00>
    00> <debug> app: Shutting down transports (found: 1)
    00>
    00> <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (command)
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_activate (0x20005994)
    00>
    00> <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 500
    00>
    00> <debug> nrf_dfu_ble: Advertising...
    00>
    00> <debug> nrf_dfu_settings: Using settings page.
    00>
    00> <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    00>
    00> <debug> nrf_dfu_ble: Connected
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST.
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (27, max_rx_time 328).
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 600
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 6
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 6
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 500
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 600
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: tim<info> app: Inside main
    00>
    00> <debug> app: In nrf_bootloader_init
    00>
    00> <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
    00>
    00> <debug> nrf_dfu_settings: Using settings page.
    00>
    00> <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <debug> app: Enter nrf_bootloader_fw_activate
    00>
    00> <info> app: No firmware to activate.
    00>
    00> <info> app: Boot validation failed. No valid app to boot.
    00>
    00> <debug> app: DFU mode because app is not valid.
    00>
    00> <info> nrf_bootloader_wdt: WDT is not enabled
    00>
    00> <debug> app: in weak nrf_dfu_init_user
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_activate (0x20005994)
    00>
    00> <info> app: Entering DFU mode.
    00>
    00> <debug> app: Initializing transports (found: 1)
    00>
    00> <debug> nrf_dfu_ble: Initializing BLE DFU transport
    00>
    00> <debug> nrf_dfu_ble: Setting up vector table: 0x000F1000
    00>
    00> <debug> nrf_dfu_ble: Enabling SoftDevice.
    00>
    00> <debug> nrf_dfu_ble: Configuring BLE stack.
    00>
    00> <debug> nrf_dfu_ble: Enabling the BLE stack.
    00>
    00> <debug> nrf_dfu_ble: No advertising name found
    00>
    00> <debug> nrf_dfu_ble: Using default advertising name
    00>
    00> <debug> nrf_dfu_ble: Advertising...
    00>
    00> <debug> nrf_dfu_ble: BLE DFU transport initialized.
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_sd backend.
    00>
    00> <debug> app: Enter main loop
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_fire (0x20005<info> app: Inside main
    00>
    00> <debug> app: In nrf_bootloader_init
    00>
    00> <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
    00>
    00> <debug> nrf_dfu_settings: Using settings page.
    00>
    00> <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <debug> app: Enter nrf_bootloader_fw_activate
    00>
    00> <info> app: No firmware to activate.
    00>
    00> <info> app: Boot validation failed. No valid app to boot.
    00>
    00> <debug> app: DFU mode because app is not valid.
    00>
    00> <info> nrf_bootloader_wdt: WDT is not enabled
    00>
    00> <debug> app: in weak nrf_dfu_init_user
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_activate (0x20005994)
    00>
    00> <info> app: Entering DFU mode.
    00>
    00> <debug> app: Initializing transports (found: 1)
    00>
    00> <debug> nrf_dfu_ble: Initializing BLE DFU transport
    00>
    00> <debug> nrf_dfu_ble: Setting up vector table: 0x000F1000
    00>
    00> <debug> nrf_dfu_ble: Enabling SoftDevice.
    00>
    00> <debug> nrf_dfu_ble: Configuring BLE stack.
    00>
    00> <debug> nrf_dfu_ble: Enabling the BLE stack.
    00>
    00> <debug> nrf_dfu_ble: No advertising name found
    00>
    00> <debug> nrf_dfu_ble: Using default advertising name
    00>
    00> <debug> nrf_dfu_ble: Advertising...
    00>
    00> <debug> nrf_dfu_ble: BLE DFU transport initialized.
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_sd backend.
    00>
    00> <debug> app: Enter main loop
    00>

Reply
  • 00> <info> app: Inside main
    00>
    00> <debug> app: In nrf_bootloader_init
    00>
    00> <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
    00>
    00> <debug> nrf_dfu_settings: Using settings page.
    00>
    00> <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <debug> app: Enter nrf_bootloader_fw_activate
    00>
    00> <info> app: No firmware to activate.
    00>
    00> <info> app: Boot validation failed. No valid app to boot.
    00>
    00> <debug> app: DFU mode because app is not valid.
    00>
    00> <info> nrf_bootloader_wdt: WDT is not enabled
    00>
    00> <debug> app: in weak nrf_dfu_init_user
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_activate (0x20005994)
    00>
    00> <info> app: Entering DFU mode.
    00>
    00> <debug> app: Initializing transports (found: 1)
    00>
    00> <debug> nrf_dfu_ble: Initializing BLE DFU transport
    00>
    00> <debug> nrf_dfu_ble: Setting up vector table: 0x000F1000
    00>
    00> <debug> nrf_dfu_ble: Enabling SoftDevice.
    00>
    00> <debug> nrf_dfu_ble: Configuring BLE stack.
    00>
    00> <debug> nrf_dfu_ble: Enabling the BLE stack.
    00>
    00> <debug> nrf_dfu_ble: No advertising name found
    00>
    00> <debug> nrf_dfu_ble: Using default advertising name
    00>
    00> <debug> nrf_dfu_ble: Advertising...
    00>
    00> <debug> nrf_dfu_ble: BLE DFU transport initialized.
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_sd backend.
    00>
    00> <debug> app: Enter main loop
    00>
    00> <debug> nrf_dfu_ble: Connected
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST.
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (27, max_rx_time 328).
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 600
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 6
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 6
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 500
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 600
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GATTS_EVT_EXCHANGE_MTU_REQUEST (request: 517, reply: 247).
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST.
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (27, max_rx_time 328).
    00>
    00> <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_SELECT (command)
    00>
    00> <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    00>
    00> <debug> nrf_dfu_ble: Set receipt notif
    00>
    00> <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_RECEIPT_NOTIF_SET
    00>
    00> <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    00>
    00> <debug> app: Shutting down transports (found: 1)
    00>
    00> <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (command)
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_activate (0x20005994)
    00>
    00> <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 500
    00>
    00> <debug> nrf_dfu_ble: Advertising...
    00>
    00> <debug> nrf_dfu_settings: Using settings page.
    00>
    00> <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    00>
    00> <debug> nrf_dfu_ble: Connected
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST.
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (27, max_rx_time 328).
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 600
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 6
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 6
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 500
    00>
    00> <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE
    00>
    00> <debug> nrf_dfu_ble: max_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: min_conn_interval: 12
    00>
    00> <debug> nrf_dfu_ble: slave_latency: 0
    00>
    00> <debug> nrf_dfu_ble: conn_sup_timeout: 600
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: tim<info> app: Inside main
    00>
    00> <debug> app: In nrf_bootloader_init
    00>
    00> <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
    00>
    00> <debug> nrf_dfu_settings: Using settings page.
    00>
    00> <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <debug> app: Enter nrf_bootloader_fw_activate
    00>
    00> <info> app: No firmware to activate.
    00>
    00> <info> app: Boot validation failed. No valid app to boot.
    00>
    00> <debug> app: DFU mode because app is not valid.
    00>
    00> <info> nrf_bootloader_wdt: WDT is not enabled
    00>
    00> <debug> app: in weak nrf_dfu_init_user
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_activate (0x20005994)
    00>
    00> <info> app: Entering DFU mode.
    00>
    00> <debug> app: Initializing transports (found: 1)
    00>
    00> <debug> nrf_dfu_ble: Initializing BLE DFU transport
    00>
    00> <debug> nrf_dfu_ble: Setting up vector table: 0x000F1000
    00>
    00> <debug> nrf_dfu_ble: Enabling SoftDevice.
    00>
    00> <debug> nrf_dfu_ble: Configuring BLE stack.
    00>
    00> <debug> nrf_dfu_ble: Enabling the BLE stack.
    00>
    00> <debug> nrf_dfu_ble: No advertising name found
    00>
    00> <debug> nrf_dfu_ble: Using default advertising name
    00>
    00> <debug> nrf_dfu_ble: Advertising...
    00>
    00> <debug> nrf_dfu_ble: BLE DFU transport initialized.
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_sd backend.
    00>
    00> <debug> app: Enter main loop
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_fire (0x20005<info> app: Inside main
    00>
    00> <debug> app: In nrf_bootloader_init
    00>
    00> <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()...
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend.
    00>
    00> <debug> nrf_dfu_settings: Using settings page.
    00>
    00> <debug> nrf_dfu_settings: Copying forbidden parts from backup page.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <info> nrf_dfu_settings: Backing up settings page to address 0xFE000.
    00>
    00> <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
    00>
    00> <debug> app: Enter nrf_bootloader_fw_activate
    00>
    00> <info> app: No firmware to activate.
    00>
    00> <info> app: Boot validation failed. No valid app to boot.
    00>
    00> <debug> app: DFU mode because app is not valid.
    00>
    00> <info> nrf_bootloader_wdt: WDT is not enabled
    00>
    00> <debug> app: in weak nrf_dfu_init_user
    00>
    00> <debug> app: timer_stop (0x20005994)
    00>
    00> <debug> app: timer_activate (0x20005994)
    00>
    00> <info> app: Entering DFU mode.
    00>
    00> <debug> app: Initializing transports (found: 1)
    00>
    00> <debug> nrf_dfu_ble: Initializing BLE DFU transport
    00>
    00> <debug> nrf_dfu_ble: Setting up vector table: 0x000F1000
    00>
    00> <debug> nrf_dfu_ble: Enabling SoftDevice.
    00>
    00> <debug> nrf_dfu_ble: Configuring BLE stack.
    00>
    00> <debug> nrf_dfu_ble: Enabling the BLE stack.
    00>
    00> <debug> nrf_dfu_ble: No advertising name found
    00>
    00> <debug> nrf_dfu_ble: Using default advertising name
    00>
    00> <debug> nrf_dfu_ble: Advertising...
    00>
    00> <debug> nrf_dfu_ble: BLE DFU transport initialized.
    00>
    00> <debug> nrf_dfu_flash: Initializing nrf_fstorage_sd backend.
    00>
    00> <debug> app: Enter main loop
    00>

Children
No Data
Related