Application won't start after OTA DFU Device Firmware update

Hi-

We have an application that currently does not use the soft device.  Eventually we will want softdevice S113 in our application once we start to add some BLE based features.  Our custom board has an nRF52833 chip on it.  Our application is based on FreeRTOS since we play to have significant code overlap with a related product that will run linux and we wanted a similar threading model.  We eventually want secure boot, but have that turned off for the moment using:

NRF_DFU_REQUIRE_SIGNED_APP_UPDATE 0

So, we are loading the stock SDK ver 17.0.2 example project 

../src/Nordic/examples/dfu/secure_bootloader/pca10100_s113_ble_debug/ses/

with the uECC library compiled into it.  We create a .zip of our firmware using nrfutil.

This was the output:

> nrfutil settings generate --family NRF52 --application HDT_NG.hex --application-version 0 --bootloader-version 2 --bl-settings-version 2 settings.hex

Note: Generating a DFU settings page with backup page included.
This is only required for bootloaders from nRF5 SDK 15.1 and newer.
If you want to skip backup page generation, use --no-backup option.

Generated Bootloader DFU settings .hex file and stored it in: settings.hex

Bootloader DFU Settings:
* File:                     settings.hex
* Family:                   nRF52
* Start Address:            0x0007F000
* CRC:                      0xD8871BC9
* Settings Version:         0x00000002 (2)
* App Version:              0x00000000 (0)
* Bootloader Version:       0x00000002 (2)
* Bank Layout:              0x00000000
* Current Bank:             0x00000000
* Application Size:         0x00015550 (87376 bytes)
* Application CRC:          0x9A890F8C
* Bank0 Bank Code:          0x00000001
* Softdevice Size:          0x00000000 (0 bytes)
* Boot Validation CRC:      0x9DA2A379
* SD Boot Validation Type:  0x00000000 (0)
* App Boot Validation Type: 0x00000001 (1)
DFU packager command line:
nrfutil pkg generate --debug-mode --hw-version 52 --application-version 0 --application HDT_NG.hex HDT_NG_App_1341_SoftDevice.zip

Once we run our own code, we hit what appears to be an assert.  We can't debug into it well since we are running just the dfu example project in the jlink debugger and once the OTA FW is successfully loaded, we don't have symbols for jumping into our own code.  We have looked at issue: https://devzone.nordicsemi.com/f/nordic-q-a/13589/dfu-and-bootloader-debugging and it seems like we might have a similar clock issue.  We have tried to surround the potential double clock init with an #ifdef.  See screen shot of code that may be part of the problem beyond the solution from the previous link.

This is a screen cap of the disassembly and debug output leading up to and after the crash a more full transcript is attached as a text file so you can see the beggining:

Notes: SOFTDEVICE_PRESENT, no nRF clock init:

<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002E6AC, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002E6AC, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002E7A0, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002E7A0, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002E894, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002E894, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002E988, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002E988, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002EA7C, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002EA7C, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002EB70, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002EB70, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002EC64, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002EC64, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002ED58, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002ED58, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002EE4C, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002EE4C, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 192 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002EF40, src=0x20004F50, len=192 bytes), queue usage: 0
<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:77824, CRC:0xE3191F39
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002EF40, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (data)
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> app: timer_stop (0x20002624)
<debug> app: timer_activate (0x20002624)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data)
<debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0002F000, len=1 pages), queue usage: 0
<debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00013000, CRC: 0xE3191F39
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash erase success: addr=0x0002F000, pending 0
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F000, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F000, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F0F4, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F0F4, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F1E8, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F1E8, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F2DC, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F2DC, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F3D0, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F3D0, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F4C4, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F4C4, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F5B8, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F5B8, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F6AC, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F6AC, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F7A0, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F7A0, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F894, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F894, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002F988, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002F988, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002FA7C, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002FA7C, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002FB70, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002FB70, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002FC64, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002FC64, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002FD58, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002FD58, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002FE4C, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002FE4C, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 192 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002FF40, src=0x20004F50, len=192 bytes), queue usage: 0
<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:81920, CRC:0xE2A496DF
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x0002FF40, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (data)
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> app: timer_stop (0x20002624)
<debug> app: timer_activate (0x20002624)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data)
<debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x00030000, len=1 pages), queue usage: 0
<debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00014000, CRC: 0xE2A496DF
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash erase success: addr=0x00030000, pending 0
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00030000, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00030000, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000300F4, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000300F4, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000301E8, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000301E8, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000302DC, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000302DC, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000303D0, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000303D0, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000304C4, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000304C4, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000305B8, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000305B8, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000306AC, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000306AC, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000307A0, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000307A0, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00030894, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00030894, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00030988, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00030988, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00030A7C, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00030A7C, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00030B70, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00030B70, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00030C64, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00030C64, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00030D58, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00030D58, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00030E4C, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00030E4C, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 192 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00030F40, src=0x20004F50, len=192 bytes), queue usage: 0
<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:86016, CRC:0x129C2919
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00030F40, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (data)
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> app: timer_stop (0x20002624)
<debug> app: timer_activate (0x20002624)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data)
<debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x00031000, len=1 pages), queue usage: 0
<debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00015000, CRC: 0x129C2919
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash erase success: addr=0x00031000, pending 0
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00031000, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00031000, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000310F4, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000310F4, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000311E8, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000311E8, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000312DC, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000312DC, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000313D0, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000313D0, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000314C4, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000314C4, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000315B8, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000315B8, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000316AC, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000316AC, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000317A0, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000317A0, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00031894, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00031894, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00031988, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00031988, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00031A7C, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00031A7C, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00031B70, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00031B70, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00031C64, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00031C64, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00031D58, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00031D58, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 244 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00031E4C, src=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00031E4C, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 192 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00031F40, src=0x20004F50, len=192 bytes), queue usage: 0
<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:90112, CRC:0x3CD5AE55
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00031F40, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (data)
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> app: timer_stop (0x20002624)
<debug> app: timer_activate (0x20002624)
<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: 0
<debug> nrf_dfu_req_handler: Creating object with size: 512. Offset: 0x00016000, CRC: 0x3CD5AE55
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash erase success: addr=0x00032000, pending 0
<debug> nrf_dfu_ble: Buffer 0x20004F50 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=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x00032000, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 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=0x20004F50, len=244 bytes), queue usage: 0
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000320F4, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_ble: Buffer 0x20004F50 acquired, len 24 (244)
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000321E8, src=0x20004F50, len=24 bytes), queue usage: 0
<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:90624, CRC:0xFF8E66AE
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> nrf_dfu_flash: Flash write success: addr=0x000321E8, pending 0
<debug> nrf_dfu_ble: Freeing buffer 0x20004F50
<debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_EXECUTE (data)
<debug> nrf_dfu_req_handler: Whole firmware image received. Postvalidating.
<debug> nrf_dfu_validation: Hash verification. start address: 0x1C000, size: 0x16200
<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: 0
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007F000, src=0x2000636C, len=896 bytes), queue usage: 1
<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: 2
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007E000, src=0x20005FEC, len=896 bytes), queue usage: 3
<debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
<debug> app: timer_stop (0x20002624)
<debug> app: timer_activate (0x20002624)
<debug> nrf_dfu_flash: Flash erase success: addr=0x0007F000, pending 3
<debug> nrf_dfu_flash: Flash write success: addr=0x0007F000, pending 2
<debug> nrf_dfu_flash: Flash erase success: addr=0x0007E000, pending 1
<debug> nrf_dfu_flash: Flash write success: addr=0x0007E000, 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 transpo<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: Using settings page.
<debug> nrf_dfu_settings: Copying forbidden parts from backup page.
<debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
<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: Enter nrf_bootloader_fw_activate
<debug> app: Valid App
<debug> app: Enter nrf_dfu_app_continue
<debug> app: No copy needed
<debug> app: Setting app as valid
<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 success: addr=0x0007F000, pending 0
<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: Using settings page.
<debug> nrf_dfu_settings: Copying forbidden parts from backup page.
<debug> nrf_dfu_settings: Destination settings are identical to source, write not needed. Skipping.
<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: Enter nrf_bootloader_fw_activate
<info> app: No firmware to activate.
<debug> app: App is valid
<debug> nrf_dfu_settings_svci: Erasing settings page additional data.
<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: 0
<debug> nrf_dfu_flash: Flash erase success: addr=0x0007E000, pending 0
<debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007E000, src=0x20005FEC, len=896 bytes), queue usage: 1
<debug> nrf_dfu_flash: Flash write success: addr=0x0007E000, pending 0
<debug> app: Running nrf_bootloader_app_start with address: 0x00001000
<debug> app: Disabling interrupts. NVIC->ICER[0]: 0x0

But it also seems like there could be some memory use overlap high up in RAM as we look at the memory use of the DFU secure boot app:

Compared to RAM use our custom native HDT app for our HDT (heavy duty tag) hardware.  The DFU app runs fine on our custom hardware till we upload our FW OTA.

Is it possible that there is a stack collision between the DFU code and our custom app code?  The relevant

Stanza in flash_placement.xml (which seems a misnomer as RAM is placed there as well):
<ProgramSection alignment="8" size="__STACKSIZE__" load="No" place_from_segment_end="Yes" name=".stack"  address_symbol="__StackLimit" end_symbol="__StackTop"/> 
place-from_segment_end="Yes"

Even though we don't use it yet, should we try to place the softdevice S113 in our custom app so that the memory layout it more similar between our custom app and the secure DFU bootloader app?  Is there anything else we should be aware of in using the debug version of the bootloader app that might be causing this fault?  We have played with having SOFTDEVICE_PRESENT  set and not set in our custom app but that didn't seem to fix things.  We tried pulling the clock init stuff out of our code manually so we didn't get a double init from the softdevice and the FreeRTOS initialization code.  Any other ideas?

Thanks, 

Related