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

After updating the software with nRFtoolbox, my device doesn't advertising.

I am working with the secure bootloader example. I copied the firmware zip package to my phone. It contains only application.hex in the package, ​there is no softdevice or bootloader. the software package is installed on my device but afterwards it doesn't advertising. however, it works fine when I install software via the computer using the nRF connect application.

1)After loading the softdevice and application into nrf52 with nRFconnect on the computer, the flash memory image is as follows:

2)After loading the softdevice and bootloader into nrf52 with nRFconnect on the computer, the flash memory image is as follows:

3)This is the flash image after loading the application.hex file with nRFtoolbox.

I think there is a problem after installing softdevice and bootloader and softdevice is corrupted. or there is another problem. What could be the problem I'm having?

Parents
  • Hi, 

    Which version SDK/Softdevice are you using?

    How do you generate the updated package? Please post the command you are using. 

    Do you see the device adverse as DfuTrag after programming the softdevice and bootloader?

    Do you see any errors from the bootloader (use _debug version bootloader, you can see the log in segger or RTT view) while/after updating the package?

    -Amanda H.

  • Hi,

    Which version SDK/Softdevice are you using?

    I am using sdk 15.3.0 and s132.

    How do you generate the updated package? Please post the command you are using.

    I am using this command:

    2-N5ftrrfutil pkg generate --hw-version 52 --sd-req 0xB7 --application-version 1 --application abc.hex --key-file private.pem app_dfu_package.zip

    Do you see the device adverse as DfuTrag after programming the softdevice and bootloader?

    - Yes,When I press DFU in nRFToolbox, my device appears as DfuTrag.

    Do you see any errors from the bootloader (use _debug version bootloader, you can see the log in segger or RTT view) while/after updating the package?

    I don't know exactly how to do this.

  • Hi, 

    You should use the project under nRF5_SDK_15.3.0\examples\dfu\secure_bootloader\pca10040_ble_debug to get the debug log with segger or J-Linker RTT View. Are you able to provide the log? Thanks. 

    -Amanda H.

  • Hi,

    I debugged with the pca10040_ble_debug example. Log outputs are as follows:

    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003C894, src=0x200084D0, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003C5B8, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003C988, src=0x200082E8, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003C6AC, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200083DC
    <debug> nrf_dfu_ble: Buffer 0x200083DC acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003CA7C, src=0x200083DC, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200085C4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003CB70, src=0x200085C4, len=244 bytes), queue usage: 4
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003C7A0, pending 4
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003CC64, src=0x20008100, len=244 bytes), queue usage: 4
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003C894, pending 4
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003CD58, src=0x200084D0, len=244 bytes), queue usage: 4
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003CE4C, src=0x200081F4, len=244 bytes), queue usage: 5
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003C988, pending 5
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 192 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003CF40, src=0x200082E8, len=192 bytes), queue usage: 5
    <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:94208, CRC:0xD60AB9DD
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003CA7C, pending 5
    <debug> nrf_dfu_ble: Freeing buffer 0x200083DC
    <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=0x0003CB70, pending 4
    <debug> nrf_dfu_ble: Freeing buffer 0x200085C4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003CC64, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003CD58, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003CE4C, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003CF40, pending 0
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0003D000, len=1 pages), queue usage: 0
    <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00017000, CRC: 0xD60AB9DD
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash erase success: addr=0x0003D000, pending 0
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D000, src=0x200082E8, len=244 bytes), queue usage: 0
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D0F4, src=0x200081F4, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D000, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D1E8, src=0x200082E8, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D0F4, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D2DC, src=0x200081F4, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D1E8, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D3D0, src=0x200082E8, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D2DC, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D4C4, src=0x200081F4, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D5B8, src=0x200084D0, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D3D0, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003D6AC, src=0x200082E8, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D4C4, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 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=0x200081F4, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D5B8, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D6AC, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_ble: Buffer 0x200082E8 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=0x200082E8, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200084D0 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=0x200084D0, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D7A0, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003DA7C, src=0x200081F4, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D894, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003DB70, src=0x200082E8, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003DC64, src=0x20008100, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003D988, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003DD58, src=0x200084D0, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003DA7C, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003DE4C, src=0x200081F4, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200085C4 acquired, len 192 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003DF40, src=0x200085C4, len=192 bytes), queue usage: 4
    <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:98304, CRC:0x4E6A5A35
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003DB70, pending 4
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <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=0x0003DC64, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003DD58, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003DE4C, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003DF40, pending 0
    <debug> nrf_dfu_ble: Freeing buffer 0x200085C4
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0003E000, len=1 pages), queue usage: 0
    <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00018000, CRC: 0x4E6A5A35
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash erase success: addr=0x0003E000, pending 0
    <debug> nrf_dfu_ble: Buffer 0x200085C4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E000, src=0x200085C4, len=244 bytes), queue usage: 0
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E0F4, src=0x200081F4, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E000, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200085C4
    <debug> nrf_dfu_ble: Buffer 0x200085C4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E1E8, src=0x200085C4, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E0F4, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E2DC, src=0x200081F4, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E3D0, src=0x200084D0, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E1E8, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200085C4
    <debug> nrf_dfu_ble: Buffer 0x200085C4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E4C4, src=0x200085C4, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E2DC, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E5B8, src=0x200081F4, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E6AC, src=0x20008100, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E3D0, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E4C4, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200085C4
    <debug> nrf_dfu_ble: Buffer 0x200085C4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E7A0, src=0x200085C4, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E5B8, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E894, src=0x200081F4, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E6AC, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003E988, src=0x20008100, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003EA7C, src=0x200084D0, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E7A0, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200085C4
    <debug> nrf_dfu_ble: Buffer 0x200085C4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003EB70, src=0x200085C4, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E894, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003EC64, src=0x200081F4, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003ED58, src=0x200082E8, len=244 bytes), queue usage: 4
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003E988, pending 4
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003EE4C, src=0x20008100, len=244 bytes), queue usage: 4
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003EA7C, pending 4
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 192 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003EF40, src=0x200084D0, len=192 bytes), queue usage: 4
    <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:102400, CRC:0xD8C65A34
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <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=0x0003EB70, pending 4
    <debug> nrf_dfu_ble: Freeing buffer 0x200085C4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003EC64, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003ED58, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003EE4C, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003EF40, pending 0
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x0003F000, len=1 pages), queue usage: 0
    <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00019000, CRC: 0xD8C65A34
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash erase success: addr=0x0003F000, pending 0
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F000, src=0x200084D0, len=244 bytes), queue usage: 0
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F000, pending 0
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F0F4, src=0x200084D0, len=244 bytes), queue usage: 0
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F1E8, src=0x20008100, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F0F4, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F2DC, src=0x200084D0, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F1E8, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F3D0, src=0x20008100, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F4C4, src=0x200082E8, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F2DC, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F5B8, src=0x200084D0, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F3D0, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F6AC, src=0x20008100, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F7A0, src=0x200081F4, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F4C4, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F5B8, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F894, src=0x200084D0, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003F988, src=0x200082E8, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F6AC, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F7A0, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003FA7C, src=0x200081F4, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003FB70, src=0x20008100, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F894, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_ble: Buffer 0x200084D0 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003FC64, src=0x200084D0, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003F988, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003FD58, src=0x200082E8, len=244 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200085C4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003FE4C, src=0x200085C4, len=244 bytes), queue usage: 4
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003FA7C, pending 4
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 192 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0003FF40, src=0x200081F4, len=192 bytes), queue usage: 4
    <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:106496, CRC:0xD9779395
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003FB70, pending 4
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <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=0x0003FC64, pending 3
    <debug> nrf_dfu_ble: Freeing buffer 0x200084D0
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003FD58, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003FE4C, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200085C4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0003FF40, pending 0
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_CREATE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_erase(addr=0x0x00040000, len=1 pages), queue usage: 0
    <debug> nrf_dfu_req_handler: Creating object with size: 520. Offset: 0x0001A000, CRC: 0xD9779395
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash erase success: addr=0x00040000, pending 0
    <debug> nrf_dfu_ble: Buffer 0x200081F4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x00040000, src=0x200081F4, len=244 bytes), queue usage: 0
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200085C4 acquired, len 244 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000400F4, src=0x200085C4, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x200082E8 acquired, len 32 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x000401E8, src=0x200082E8, len=32 bytes), queue usage: 2
    <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:107016, CRC:0x2245F7A7
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x00040000, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <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=0x000400F4, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200085C4
    <debug> nrf_dfu_flash: Flash write success: addr=0x000401E8, pending 0
    <debug> nrf_dfu_ble: Freeing buffer 0x200082E8
    <debug> nrf_dfu_req_handler: Whole firmware image received. Postvalidating.
    <debug> nrf_dfu_validation: Hash verification. start address: 0x26000, size: 0x1A208
    <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=0x2000951C, 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=0x2000919C, len=896 bytes), queue usage: 3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <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 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: 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
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007F000, src=0x2000951C, len=896 bytes), queue usage: 1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0007F000, 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 success: addr=0x0007E000, pending 0
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007E000, src=0x2000919C, len=896 bytes), queue usage: 1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0007E000, pending 0
    <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: 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.
    <error> app: Received a fault! id: 0x00004002, pc: 0x00000000, info: 0x2000FFB8

  • Hi,

    Are you using the unmodified example? 

    Can you check if the flow is something like the following:

    nrf_bootloader_init() -> nrf_bootloader_fw_activate() which returns ACTIVATION_NONE, due to your log (Can you check whether the switch (p_bank->bank_code) case is NRF_DFU_BANK_INVALID or something else?)

    Then when nrf_bootloader_init() returns ACTIVATION_NONE, it should call dfu_enter_check(). Does this return? Is it called?

    id: 0x00004002 means NRF_FAULT_ID_SDK_ASSERT.

    -Amanda H.

Reply
  • Hi,

    Are you using the unmodified example? 

    Can you check if the flow is something like the following:

    nrf_bootloader_init() -> nrf_bootloader_fw_activate() which returns ACTIVATION_NONE, due to your log (Can you check whether the switch (p_bank->bank_code) case is NRF_DFU_BANK_INVALID or something else?)

    Then when nrf_bootloader_init() returns ACTIVATION_NONE, it should call dfu_enter_check(). Does this return? Is it called?

    id: 0x00004002 means NRF_FAULT_ID_SDK_ASSERT.

    -Amanda H.

Children
  • Hi.
    I could not take care of this problem for a long time due to my busy schedule. now I am dealing with this problem again.

    I checked what you said.

    nrf_bootloader_init() -> nrf_bootloader_fw_activate() which returns ACTIVATION_NONE, due to your log (Can you check whether the switch (p_bank->bank_code) case is NRF_DFU_BANK_INVALID or something else?)

    p_bank->bank_code value is 0x00000000.

    Then when nrf_bootloader_init() returns ACTIVATION_NONE, it should call dfu_enter_check(). Does this return? Is it called?

    Yes, I put a breakpoint there. Calling dfu_enter_check () function after ACTIVATION_NONE.

  • <error> app: Received a fault! id: 0x00004002, pc: 0x00000000, info: 0x2000FFB8

    The fault id indicates that an NRF_FAULT_ID_SDK_ASSERT has occurred somewhere in your code. I'm not sure why this would happen upon connection, but you can read out the assert_info_t struct stored at 0x2000FFB8 to find the line number and file name of where occurred. 

    E.g.,

    assert_info_t * p_info = (assert_info_t *) 0x2000FFB8 ;
    NRF_LOG_ERROR("ASSERTION FAILED at %s:%u",
    p_info->p_file_name,
    p_info->line_num);

    -Amanda H.

Related