Hello,
We are trying to get DFU to work on our custom board running nrf52832. It has previously worked on the devkit. Our board does not have a crystal so we are using NRF_CLOCK_LF_SRC_RC both in the bootloader and application. Our bootloader is based on the example secure_bootloader_ble_s132_pca10040, the only changes we made are led/button behavior, public key and enabled rtt logging for debugging.
We are testing the DFU functionality using nrf connect for android.
The bootloader receives the signed zip but does not flash it. Below are some errors from the log (Flash write/erase failed (0x3))
<debug> nrf_dfu_flash: Flash write success: addr=0x0003DA7C, pending 1 <debug> nrf_dfu_ble: Freeing buffer 0x200068F8 <debug> nrf_dfu_req_handler: Whole firmware image received. Postvalidating. <debug> nrf_dfu_validation: Hash verification. Firmware start address: 0x32000, size: 0xBB54 <debug> nrf_dfu_validation: Invalidating old application in bank 0. <debug> nrf_dfu_settings: Writing settings... <debug> nrf_dfu_settings: Erasing old settings at: 0x0007F000 <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0007F000, len=1 pages), queue usage: 1 <debug> nrf_dfu_flash: Flash erase failed (0x3): addr=0x0007F000, len=0x1 bytes, pending 0 <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007F000, src=0x200074D0, len=440 bytes), queue usage: 1 <debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x0007F000, len=0x1B8 bytes, pending 0 <info> nrf_dfu_settings: Backing up settings page to address 0x7E000. <debug> nrf_dfu_settings: Writing settings... <debug> nrf_dfu_settings: Erasing old settings at: 0x0007E000 <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0007E000, len=1 pages), queue usage: 1 <debug> nrf_dfu_flash: Flash erase failed (0x3): addr=0x0007E000, len=0x1 bytes, pending 0 <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007E000, src=0x20007688, len=440 bytes), queue usage: 1 <debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x0007E000, len=0x1B8 bytes, pending 0 <debug> nrf_dfu_req_handler: All flash operations have completed. DFU completed.
What could be causing those errors? I've also attached a more full log.
Thanks
<info> app: Inside main <debug> app: In nrf_bootloader_init <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()... <debug> nrf_dfu_flash: Initializing nrf_fstorage<info> app: Inside main <debug> app: In nrf_bootloader_init <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()... <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend. <debug> nrf_dfu_settings: Settings OK <debug> app: Enter nrf_bootloader_fw_activate <info> app: No firmware to activate. <debug> app: Enter nrf_dfu_app_is_valid <debug> app: Return true. App was valid <info> nrf_dfu_settings: Backing up settings page to address 0x7E000. <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping. <debug> app: Running nrf_bootloader_app_start with address: 0x00001000 <debug> app: Disabling interrupts. NVIC->ICER[0]: 0x0 <debug> app: running irq table set <debug> app: After running irq table set <info> app: Inside main <debug> app: In nrf_bootloader_init <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()... <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend. <debug> nrf_dfu_settings: Settings OK <debug> app: Enter nrf_bootloader_fw_activate <info> app: No firmware to activate. <debug> app: Enter nrf_dfu_app_is_valid <debug> app: Return true. App was valid <debug> app: DFU mode requested via GPREGRET. <info> nrf_bootloader_wdt: WDT is not enabled <debug> app: in weak nrf_dfu_init_user <debug> app: timer_stop (0x200057D4) <debug> app: timer_activate (0x200057D4) <info> app: Entering DFU mode. <debug> app: Initializing transports (found: 1) <debug> nrf_dfu_ble: Initializing BLE DFU transport <debug> nrf_dfu_ble: Setting up vector table: 0x00072000 <debug> nrf_dfu_ble: Enabling SoftDevice. <debug> nrf_dfu_ble: Configuring BLE stack. <debug> nrf_dfu_ble: Enabling the BLE stack. <debug> nrf_dfu_ble: No advertising name found <debug> nrf_dfu_ble: Using default advertising name <debug> nrf_dfu_ble: Advertising... <debug> nrf_dfu_ble: BLE DFU transport initialized. <debug> nrf_dfu_flash: Initializing nrf_fstorage_sd backend. <debug> app: Enter main loop <debug> nrf_dfu_ble: Connected <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE <debug> nrf_dfu_ble: max_conn_interval: 12 <debug> nrf_dfu_ble: min_conn_interval: 12 <debug> nrf_dfu_ble: slave_latency: 0 <debug> nrf_dfu_ble: conn_sup_timeout: 600 <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST. <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (100, max_rx_time 912). <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE <debug> nrf_dfu_ble: max_conn_interval: 6 <debug> nrf_dfu_ble: min_conn_interval: 6 <debug> nrf_dfu_ble: slave_latency: 0 <debug> nrf_dfu_ble: conn_sup_timeout: 500 <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST. <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (100, max_rx_time 912). <debug> nrf_dfu_ble: Received BLE_GAP_EVT_CONN_PARAM_UPDATE <debug> nrf_dfu_ble: max_conn_interval: 12 <debug> nrf_dfu_ble: min_conn_interval: 12 <debug> nrf_dfu_ble: slave_latency: 0 <debug> nrf_dfu_ble: conn_sup_timeout: 600 <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST. <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (100, max_rx_time 912). <debug> nrf_dfu_ble: Received BLE_GATTS_EVT_EXCHANGE_MTU_REQUEST (request: 517, reply: 247). <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE_REQUEST. <debug> nrf_dfu_ble: Received BLE_GAP_EVT_DATA_LENGTH_UPDATE (100, max_rx_time 1096). <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_SELECT (command) <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Set receipt notif <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_RECEIPT_NOTIF_SET <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> app: Shutting down transports (found: 1) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (command) <debug> app: timer_stop (0x200057D4) <debug> app: timer_activate (0x200057D4) <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006434 acquired, len 141 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (command) <debug> nrf_dfu_ble: Freeing buffer 0x20006434 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_CRC_GET (command) <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (command) <debug> nrf_dfu_validation: PB: Init packet data len: 64 <info> nrf_dfu_validation: Signature required. Checking signature. <info> nrf_dfu_validation: Calculating init packet hash (init packet len: 64) <info> nrf_dfu_validation: Verify signature <info> nrf_dfu_validation: Image verified <debug> app: Enter nrf_dfu_cache_prepare() <debug> app: required_size: 0xBB54. <debug> app: single_bank: false. <debug> app: keep_app: false. <debug> app: keep_softdevice: true. <debug> app: SD_PRESENT: true. <debug> app: Bank contents: <debug> app: Bank 0 code: 0x01: Size: 0xBB54 <debug> app: Bank 1 code: 0x00: Size: 0x0 <debug> app: pass: 0. <debug> app: cache_address: 0x32000. <debug> app: cache_too_small: false. <debug> app: keep_firmware: false. <debug> app: delete_more: false. <debug> nrf_dfu_validation: Write address set to 0x00032000 <debug> nrf_dfu_settings: Writing settings... <debug> nrf_dfu_settings: Erasing old settings at: 0x0007F000 <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0007F000, len=1 pages), queue usage: 0 <debug> nrf_dfu_flash: Flash erase failed (0x3): addr=0x0007F000, len=0x1 bytes, pending 0 <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007F000, src=0x200074D0, len=440 bytes), queue usage: 1 <debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x0007F000, len=0x1B8 bytes, pending 0 <info> nrf_dfu_settings: Backing up settings page to address 0x7E000. <debug> nrf_dfu_settings: Writing settings... <debug> nrf_dfu_settings: Erasing old settings at: 0x0007E000 <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0007E000, len=1 pages), queue usage: 1 <debug> nrf_dfu_flash: Flash erase failed (0x3): addr=0x0007E000, len=0x1 bytes, pending 0 <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007E000, src=0x20007688, len=440 bytes), queue usage: 1 <debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x0007E000, len=0x1B8 bytes, pending 0 <debug> nrf_dfu_req_handler: Writing valid init command to flash. <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_SELECT (data) <debug> nrf_dfu_req_handler: crc = 0x0, offset = 0x0, max_size = 0x1000 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> app: Shutting down transports (found: 1) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data) <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x00032000, len=1 pages), queue usage: 1 <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00000000, CRC: 0x00000000 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash erase success: addr=0x00032000, pending 1 <debug> nrf_dfu_ble: Buffer 0x20006434 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00032000, src=0x20006434, len=244 bytes), queue usage: 1 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006528 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000320F4, src=0x20006528, len=244 bytes), queue usage: 2 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x00032000, pending 2 <debug> nrf_dfu_ble: Freeing buffer 0x20006434 <debug> nrf_dfu_ble: Buffer 0x20006434 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000321E8, src=0x20006434, len=244 bytes), queue usage: 2 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x2000661C acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000322DC, src=0x2000661C, len=244 bytes), queue usage: 3 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000320F4, pending 3 <debug> nrf_dfu_ble: Freeing buffer 0x20006528 <debug> nrf_dfu_ble: Buffer 0x20006528 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000323D0, src=0x20006528, len=244 bytes), queue usage: 3 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006710 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000324C4, src=0x20006710, len=244 bytes), queue usage: 4 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006804 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000325B8, src=0x20006804, len=244 bytes), queue usage: 5 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000321E8, pending 5 <debug> nrf_dfu_ble: Freeing buffer 0x20006434 <debug> nrf_dfu_ble: Buffer 0x20006434 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000326AC, src=0x20006434, len=244 bytes), queue usage: 5 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000322DC, pending 5 <debug> nrf_dfu_ble: Freeing buffer 0x2000661C <debug> nrf_dfu_ble: Buffer 0x2000661C acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000327A0, src=0x2000661C, len=244 bytes), queue usage: 5 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x200068F8 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00032894, src=0x200068F8, len=244 bytes), queue usage: 6 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x200069EC acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00032988, src=0x200069EC, len=244 bytes), queue usage: 7 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000323D0, pending 7 <debug> nrf_dfu_ble: Freeing buffer 0x20006528 <debug> nrf_dfu_ble: Buffer 0x20006528 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00032A7C, src=0x20006528, len=244 bytes), queue usage: 7 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006AE0 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00032B70, src=0x20006AE0, len=244 bytes), queue usage: 8 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000324C4, pending 8 <debug> nrf_dfu_ble: Freeing buffer 0x20006710 <debug> nrf_dfu_ble: Buffer 0x20006710 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00032C64, src=0x20006710, len=244 bytes), queue usage: 8 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006BD4 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00032D58, src=0x20006BD4, len=244 bytes), queue usage: 9 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006CC8 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00032E4C, src=0x20006CC8, len=244 bytes), queue usage: 10 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000325B8, pending 10 <debug> nrf_dfu_ble: Freeing buffer 0x20006804 <debug> nrf_dfu_ble: Buffer 0x20006804 acquired, len 192 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00032F40, src=0x20006804, len=192 bytes), queue usage: 10 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_CRC_GET (data) <debug> nrf_dfu_req_handler: Offset:4096, CRC:0x1D65A037 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000326AC, pending 10 <debug> nrf_dfu_ble: Freeing buffer 0x20006434 <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (data) <debug> app: timer_stop (0x200057D4) <debug> app: timer_activate (0x200057D4) <debug> nrf_dfu_flash: Flash write success: addr=0x000327A0, pending 9 <debug> nrf_dfu_ble: Freeing buffer 0x2000661C <debug> nrf_dfu_flash: Flash write success: addr=0x00032894, pending 8 <debug> nrf_dfu_ble: Freeing buffer 0x200068F8 <debug> nrf_dfu_flash: Flash write success: addr=0x00032988, pending 7 <debug> nrf_dfu_ble: Freeing buffer 0x200069EC <debug> nrf_dfu_flash: Flash write success: addr=0x00032A7C, pending 6 <debug> nrf_dfu_ble: Freeing buffer 0x20006528 <debug> nrf_dfu_flash: Flash write success: addr=0x00032B70, pending 5 <debug> nrf_dfu_ble: Freeing buffer 0x20006AE0 <debug> nrf_dfu_flash: Flash write success: addr=0x00032C64, pending 4 <debug> nrf_dfu_ble: Freeing buffer 0x20006710 <debug> nrf_dfu_flash: Flash write success: addr=0x00032D58, pending 3 <debug> nrf_dfu_ble: Freeing buffer 0x20006BD4 <debug> nrf_dfu_flash: Flash write success: addr=0x00032E4C, pending 2 <debug> nrf_dfu_ble: Freeing buffer 0x20006CC8 <debug> nrf_dfu_flash: Flash write success: addr=0x00032F40, pending 1 <debug> nrf_dfu_ble: Freeing buffer 0x20006804 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> app: Shutting down transports (found: 1) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data) <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x00033000, len=1 pages), queue usage: 1 <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00001000, CRC: 0x1D65A037 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006804 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00033000, src=0x20006804, len=244 bytes), queue usage: 2 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash erase success: addr=0x00033000, pending 2 <debug> nrf_dfu_flash: Flash write success: addr=0x00033000, pending 1 <debug> nrf_dfu_ble: Freeing buffer 0x20006804 <debug> nrf_dfu_ble: Buffer 0x20006804 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000330F4, src=0x20006804, len=244 bytes), queue usage: 1 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006CC8 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000331E8, src=0x20006CC8, len=244 bytes), queue usage: 2 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000330F4, pending 2 <debug> nrf_dfu_ble: Freeing buffer 0x20006804 <debug> nrf_dfu_ble: Buffer 0x20006804 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000332DC, src=0x20006804, len=244 bytes), queue usage: 2 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006BD4 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000333D0, src=0x20006BD4, len=244 bytes), queue usage: 3 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000331E8, pending 3 <debug> nrf_dfu_ble: Freeing buffer 0x20006CC8 <debug> nrf_dfu_ble: Buffer 0x20006CC8 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000334C4, src=0x20006CC8, len=244 bytes), queue usage: 3 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006710 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000335B8, src=0x20006710, len=244 bytes), queue usage: 4 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006AE0 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000336AC, src=0x20006AE0, len=244 bytes), queue usage: 5 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000332DC, pending 5 <debug> nrf_dfu_ble: Freeing buffer 0x20006804 <debug> nrf_dfu_ble: Buffer 0x20006804 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000337A0, src=0x20006804, len=244 bytes), queue usage: 5 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000333D0, pending 5 <debug> nrf_dfu_ble: Freeing buffer 0x20006BD4 <debug> nrf_dfu_ble: Buffer 0x20006BD4 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00033894, src=0x20006BD4, len=244 bytes), queue usage: 5 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006528 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00033988, src=0x20006528, len=244 bytes), queue usage: 6 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x200069EC acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00033A7C, src=0x200069EC, len=244 bytes), queue usage: 7 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000334C4, pending 7 <debug> nrf_dfu_ble: Freeing buffer 0x20006CC8 <debug> nrf_dfu_ble: Buffer 0x20006CC8 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00033B70, src=0x20006CC8, len=244 bytes), queue usage: 7 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x200068F8 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00033C64, src=0x200068F8, len=244 bytes), queue usage: 8 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000335B8, pending 8 <debug> nrf_dfu_ble: Freeing buffer 0x20006710 <debug> nrf_dfu_ble: Buffer 0x20006710 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00033D58, src=0x20006710, len=244 bytes), queue usage: 8 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x2000661C acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00033E4C, src=0x2000661C, len=244 bytes), queue usage: 9 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x20006434 acquired, len 192 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00033F40, src=0x20006434, len=192 bytes), queue usage: 10 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_CRC_GET (data) <debug> nrf_dfu_req_handler: Offset:8192, CRC:0xAC0E61A0 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x000336AC, pending 10 <debug> nrf_dfu_ble: Freeing buffer 0x20006AE0 <debug> nrf_dfu_flash: Flash write success: addr=0x000337A0, pending 9 <debug> nrf_dfu_ble: Freeing buffer 0x20006804 <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (data) <debug> app: timer_stop (0x200057D4) <debug> app: timer_activate (0x200057D4) <debug> nrf_dfu_flash: Flash write success: addr=0x00033894, pending 8 <debug> nrf_dfu_ble: Freeing buffer 0x20006BD4 <debug> nrf_dfu_flash: Flash write success: addr=0x00033988, pending 7 <debug> nrf_dfu_ble: Freeing buffer 0x20006528 <debug> nrf_dfu_flash: Flash write success: addr=0x00033A7C, pending 6 <debug> nrf_dfu_ble: Freeing buffer 0x200069EC <debug> nrf_dfu_flash: Flash write success: addr=0x00033B70, pending 5 <debug> nrf_dfu_ble: Freeing buffer 0x20006CC8 <debug> nrf_dfu_flash: Flash write success: addr=0x00033C64, pending 4 <debug> nrf_dfu_ble: Freeing buffer 0x200068F8 <debug> nrf_dfu_flash: Flash write success: addr=0x00033D58, pending 3 <debug> nrf_dfu_ble: Freeing buffer 0x20006710 <debug> nrf_dfu_flash: Flash write success: addr=0x00033E4C, pending 2 <debug> nrf_dfu_ble: Freeing buffer 0x2000661C <debug> nrf_dfu_flash: Flash write success: addr=0x00033F40, pending 1 <debug> nrf_dfu_ble: Freeing buffer 0x20006434 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> app: Shutting down transports (found: 1) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data) <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x00034000, len=1 pages), queue usage: 1 <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00002000, CRC: 0xAC0E61A0 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 ... ... more logs here ... ... <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x200069EC acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D7A0, src=0x200069EC, len=244 bytes), queue usage: 5 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x0003D3D0, pending 5 <debug> nrf_dfu_ble: Freeing buffer 0x20006BD4 <debug> nrf_dfu_ble: Buffer 0x20006BD4 acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D894, src=0x20006BD4, len=244 bytes), queue usage: 5 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_ble: Buffer 0x2000661C acquired, len 244 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D988, src=0x2000661C, len=244 bytes), queue usage: 6 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x0003D4C4, pending 6 <debug> nrf_dfu_ble: Freeing buffer 0x200068F8 <debug> nrf_dfu_ble: Buffer 0x200068F8 acquired, len 216 (244) <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data) <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003DA7C, src=0x200068F8, len=216 bytes), queue usage: 6 <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_CRC_GET (data) <debug> nrf_dfu_req_handler: Offset:47956, CRC:0xD1B4219C <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1 <debug> nrf_dfu_flash: Flash write success: addr=0x0003D5B8, pending 6 <debug> nrf_dfu_ble: Freeing buffer 0x20006434 <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (data) <debug> app: timer_stop (0x200057D4) <debug> app: timer_activate (0x200057D4) <debug> nrf_dfu_flash: Flash write success: addr=0x0003D6AC, pending 5 <debug> nrf_dfu_ble: Freeing buffer 0x20006710 <debug> nrf_dfu_flash: Flash write success: addr=0x0003D7A0, pending 4 <debug> nrf_dfu_ble: Freeing buffer 0x200069EC <debug> nrf_dfu_flash: Flash write success: addr=0x0003D894, pending 3 <debug> nrf_dfu_ble: Freeing buffer 0x20006BD4 <debug> nrf_dfu_flash: Flash write success: addr=0x0003D988, pending 2 <debug> nrf_dfu_ble: Freeing buffer 0x2000661C <debug> nrf_dfu_flash: Flash write success: addr=0x0003DA7C, pending 1 <debug> nrf_dfu_ble: Freeing buffer 0x200068F8 <debug> nrf_dfu_req_handler: Whole firmware image received. Postvalidating. <debug> nrf_dfu_validation: Hash verification. Firmware start address: 0x32000, size: 0xBB54 <debug> nrf_dfu_validation: Invalidating old application in bank 0. <debug> nrf_dfu_settings: Writing settings... <debug> nrf_dfu_settings: Erasing old settings at: 0x0007F000 <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0007F000, len=1 pages), queue usage: 1 <debug> nrf_dfu_flash: Flash erase failed (0x3): addr=0x0007F000, len=0x1 bytes, pending 0 <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007F000, src=0x200074D0, len=440 bytes), queue usage: 1 <debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x0007F000, len=0x1B8 bytes, pending 0 <info> nrf_dfu_settings: Backing up settings page to address 0x7E000. <debug> nrf_dfu_settings: Writing settings... <debug> nrf_dfu_settings: Erasing old settings at: 0x0007E000 <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0007E000, len=1 pages), queue usage: 1 <debug> nrf_dfu_flash: Flash erase failed (0x3): addr=0x0007E000, len=0x1 bytes, pending 0 <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007E000, src=0x20007688, len=440 bytes), queue usage: 1 <debug> nrf_dfu_flash: Flash write failed (0x3): addr=0x0007E000, len=0x1B8 bytes, pending 0 <debug> nrf_dfu_req_handler: All flash operations have completed. DFU completed. <debug> app: Shutting down transports (found: 1) <debug> nrf_dfu_ble: Shutting down BLE transport. <debug> nrf_dfu_ble: Disconnecting. <debug> nrf_dfu_ble: BLE transport shut down. <debug> app: Resetting bootloader. <info> nrf_dfu_settings: Backing up settings page to address 0x7E000. <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping. <info> app: Inside main <debug> app: In nrf_bootloader_init <debug> nrf_dfu_settings: Calling nrf_dfu_settings_init()... <debug> nrf_dfu_flash: Initializing nrf_fstorage_nvmc backend. <debug> nrf_dfu_settings: Settings OK <debug> app: Enter nrf_bootloader_fw_activate <info> app: No firmware to activate. <debug> app: Enter nrf_dfu_app_is_valid <debug> app: Return true. App was valid <info> nrf_dfu_settings: Backing up settings page to address 0x7E000. <debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping. <debug> app: Running nrf_bootloader_app_start with address: 0x00001000 <debug> app: Disabling interrupts. NVIC->ICER[0]: 0x0 <debug> app: running irq table set <debug> app: After running irq table set