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

Device not connecting in boot loader mode

Hello ,

I am using nRF52832 controller in peripheral role. I have integrated Secure boot loader code. I am facing issue of mobile device is not getting connected to the DFU service in boot-loader.

When device is in Application  it is connected and operation is fine,but after entering DFU by triggering command from DFU service to enter boot-loader mobile does not get connected but device remains in boot-loader mode. SDK used is 15.2.0 . Secure bootloader example code from DFU section is used.

I am using Custom board with ready module integrated  of nrf52832 from RAYTAC (MDBT42Q-512KV2). Board has Power supply regulator on board. Input supply voltage 10 v to 30 v with 500 mA current rating. When i use supply input of 5 volt it works perfectly. But for 12 volts it gives me above error behavior. This issue is been faced after flashing secure boot-loader code. Without boot-loader code simple application works totally fine.

Thanks in advance.

Parents
  • Hello,

    When device is in Application  it is connected and operation is fine,but after entering DFU by triggering command from DFU service to enter boot-loader mobile does not get connected but device remains in boot-loader mode. SDK used is 15.2.0 . Secure bootloader example code from DFU section is used.

     What does that mean? How do you know it is "stuck in bootloader mode" if you are not able to connect? Can you see the advertisements from the bootloader?

     

    When i use supply input of 5 volt it works perfectly. But for 12 volts it gives me above error behavior.

     12 volts into the power supply regulator I suppose? What is the input voltage to the nRF at that point?

  • Hello Edvin,

    Device starts broadcasting with "Dfutarg" name when in bootloader mode. Doesn't that mean it it bootloader mode?

    12volt into power supply regulator and nRF gets 3.3 V . Input regulator can be given variable voltage from 5 volts to 30 volt.  But as I said earlier it works properly for 5 volt only .. i want to know what are the possibilities that could hamper the function?

  • Have you enabled bonding in the bootloader project?

    No. for disabling bond i have done:

    // <h> BLE DFU security

    //==========================================================
    // <q> NRF_DFU_BLE_REQUIRES_BONDS - Require bond with peer.

    #ifndef NRF_DFU_BLE_REQUIRES_BONDS
    #define NRF_DFU_BLE_REQUIRES_BONDS 0
    #endif

     These lines indicates that there is no valid application in the memory. Is the application programmed to the nRF? If so, how was it programmed? Via DFU or via programmer? If programmer, did you also program the correct signed bootloader settings?

    Yes these logs are right there is no application firmware as i have erased whole flash and only flashed boot loader code.  I am not able to connect to the device in boot loader mode only. 

    This issue occurred when Regulator used was DCDC converter for 5 volt input to LDO (3.3V) and then to controller. So i tested with replacing DCDC to LDO (12 to 5 V) converter for 5 volt input to LDO (3.3V) and then to controller. Then also issue remained same.

    Then i tested for LM7805  regulator IC and then tested for the Output and then probability of getting failure was reduced. But issue is still there. My total PCB Load current takes 50 mA. and ripples checked at capacitor of LDO is 15mV. Is there any noise or any current related requirements which are failed here for Controller? Or any functionality which i am missing

  • Can you send me the logs from when it is working and when it isn't?

     

    ssc said:
    So i tested with replacing DCDC to LDO (12 to 5 V)

     This LDO is external, right?

     

    ssc said:
    My total PCB Load current takes 50 mA.

     That is including external components? Not the nRF?

  • Can you send me the logs from when it is working and when it isn't?

    11:17 19-11-2019
    Plain DFU bootloader code Debug logs with 24 V SMPS supply:
    
    
    <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: No valid app to boot.
    <debug> app: DFU mode because app is not valid.
    <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: Advertising...
    <debug> app: timer_stop (0x200057D4)
    <debug> app: timer_fire (0x200057D4)
    <info> app: Inactivity timeout.
    <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: No valid app to boot.
    <debug> app: DFU mode because app is not valid.
    <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> app: timer_stop (0x200057D4)
    <debug> app: timer_fire (0x200057D4)
    <info> app: Inactivity timeout.
    <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: No valid app to boot.
    <debug> app: DFU mode because app is not valid.
    <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> app: timer_stop (0x200057D4)
    <debug> app: timer_fire (0x200057D4)
    <info> app: Inactivity timeout.
    <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: No valid app to boot.
    <debug> app: DFU mode because app is not valid.
    <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
    
    
    
    
    
    
    
    
    
    
    12:14 19-11-2019
    These are Debug logs for perfectly working DFU_BLE_SECURE_BOOTLOADER EXAN+MPLE CODE:(3.3VSupply given from developement KIT )
    
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002A1E8, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002A2DC, 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=0x0002A3D0, 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=0x0002A3D0, 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=0x0002A4C4, 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=0x0002A4C4, 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=0x0002A5B8, src=0x200081F4, len=244 bytes), queue usage: 1
    <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=0x0002A6AC, src=0x20008100, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002A5B8, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002A6AC, 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=0x0002A7A0, 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=0x0002A7A0, 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=0x0002A894, 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=0x0002A894, 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=0x0002A988, 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=0x0002A988, 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=0x0002AA7C, 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=0x0002AA7C, 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=0x0002AB70, 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=0x0002AB70, 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=0x0002AC64, 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=0x0002AC64, 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=0x0002AD58, 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=0x0002AD58, 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=0x0002AE4C, src=0x20008100, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <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=0x0002AF40, src=0x200081F4, len=192 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:20480, CRC:0xB9D1AF44
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002AE4C, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002AF40, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <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 (0x200057D4)
    <debug> app: timer_activate (0x200057D4)
    <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=0x0x0002B000, len=1 pages), queue usage: 1
    <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00005000, CRC: 0xB9D1AF44
    <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=0x0002B000, src=0x200081F4, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash erase success: addr=0x0002B000, pending 2
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002B000, 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=0x0002B0F4, 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=0x0002B0F4, 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=0x0002B1E8, 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=0x0002B1E8, 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=0x0002B2DC, src=0x200081F4, len=244 bytes), queue usage: 1
    <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=0x0002B3D0, src=0x20008100, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002B2DC, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002B3D0, 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=0x0002B4C4, 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=0x0002B4C4, 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=0x0002B5B8, src=0x20008100, len=244 bytes), queue usage: 1
    <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=0x0002B6AC, 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=0x0002B5B8, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002B6AC, 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=0x0002B7A0, 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=0x0002B7A0, 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=0x0002B894, 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=0x0002B894, 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=0x0002B988, 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=0x0002B988, 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=0x0002BA7C, 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=0x0002BA7C, 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=0x0002BB70, 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=0x0002BB70, 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=0x0002BC64, 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=0x0002BC64, 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=0x0002BD58, 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=0x0002BD58, 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=0x0002BE4C, src=0x200081F4, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 192 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002BF40, src=0x20008100, len=192 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:24576, CRC:0x06A6029F
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002BE4C, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002BF40, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <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 (0x200057D4)
    <debug> app: timer_activate (0x200057D4)
    <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=0x0x0002C000, len=1 pages), queue usage: 1
    <debug> nrf_dfu_req_handler: Creating object with size: 4096. Offset: 0x00006000, CRC: 0x06A6029F
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash erase success: addr=0x0002C000, pending 1
    <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=0x0002C000, 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=0x0002C000, 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=0x0002C0F4, src=0x20008100, len=244 bytes), queue usage: 1
    <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=0x0002C1E8, 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=0x0002C0F4, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002C1E8, 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=0x0002C2DC, 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=0x0002C2DC, 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=0x0002C3D0, src=0x200081F4, len=244 bytes), queue usage: 1
    <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=0x0002C4C4, src=0x20008100, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002C3D0, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002C4C4, 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=0x0002C5B8, 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=0x0002C5B8, 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=0x0002C6AC, src=0x20008100, len=244 bytes), queue usage: 1
    <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=0x0002C7A0, 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=0x0002C6AC, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002C7A0, 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=0x0002C894, 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=0x0002C894, 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=0x0002C988, src=0x200081F4, len=244 bytes), queue usage: 1
    <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=0x0002CA7C, src=0x20008100, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002C988, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002CA7C, 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=0x0002CB70, 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=0x0002CB70, 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=0x0002CC64, 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=0x0002CC64, 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=0x0002CD58, 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=0x0002CD58, 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=0x0002CE4C, src=0x20008100, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <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=0x0002CF40, src=0x200081F4, len=192 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:28672, CRC:0xCB9A65E3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002CE4C, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002CF40, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <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 (0x200057D4)
    <debug> app: timer_activate (0x200057D4)
    <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=0x0x0002D000, len=1 pages), queue usage: 1
    <debug> nrf_dfu_req_handler: Creating object with size: 3484. Offset: 0x00007000, CRC: 0xCB9A65E3
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash erase success: addr=0x0002D000, pending 1
    <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=0x0002D000, 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=0x0002D000, 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=0x0002D0F4, src=0x200081F4, len=244 bytes), queue usage: 1
    <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=0x0002D1E8, src=0x20008100, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002D0F4, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002D1E8, 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=0x0002D2DC, 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=0x0002D2DC, 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=0x0002D3D0, src=0x20008100, len=244 bytes), queue usage: 1
    <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=0x0002D4C4, 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=0x0002D3D0, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002D4C4, 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=0x0002D5B8, 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=0x0002D5B8, 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=0x0002D6AC, src=0x200081F4, len=244 bytes), queue usage: 1
    <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=0x0002D7A0, src=0x20008100, len=244 bytes), queue usage: 2
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002D6AC, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002D7A0, 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=0x0002D894, 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=0x0002D894, 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=0x0002D988, 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=0x0002D988, 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=0x0002DA7C, src=0x20008100, len=244 bytes), queue usage: 1
    <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=0x0002DB70, 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=0x0002DA7C, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002DB70, 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=0x0002DC64, src=0x200081F4, len=244 bytes), queue usage: 1
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_ble: Buffer 0x20008100 acquired, len 68 (244)
    <debug> nrf_dfu_req_handler: Handle NRF_DFU_OP_OBJECT_WRITE (data)
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0002DD58, src=0x20008100, len=68 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:32156, CRC:0xB422D443
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002DC64, pending 2
    <debug> nrf_dfu_ble: Freeing buffer 0x200081F4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0002DD58, pending 1
    <debug> nrf_dfu_ble: Freeing buffer 0x20008100
    <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. Firmware start address: 0x26000, size: 0x7D9C
    <debug> nrf_dfu_validation: Invalidating old application in bank 0.
    <info> nrf_dfu_settings: nrf_dfu_settings_write_and_backup.
    <info> nrf_dfu_settings: nrf_dfu_settings_write_and_backup.
    <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: nrf_fstorage_write(addr=0x0007F000, src=0x2000919C, len=440 bytes), queue usage: 2
    <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: 3
    <debug> nrf_dfu_flash: nrf_fstorage_write(addr=0x0007E000, src=0x20009354, len=440 bytes), queue usage: 4
    <debug> nrf_dfu_req_handler: Request handling complete. Result: 0x1
    <debug> app: timer_stop (0x200057D4)
    <debug> app: timer_activate (0x200057D4)
    <debug> nrf_dfu_flash: Flash erase success: addr=0x0007F000, pending 4
    <debug> nrf_dfu_flash: Flash write success: addr=0x0007F000, pending 3
    <debug> nrf_dfu_flash: Flash erase success: addr=0x0007E000, pending 2
    <debug> nrf_dfu_flash: Flash write success: addr=0x0007E000, pending 1
    <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
    <info> 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> nrf_dfu_settings: memcpy setttings.
    <debug> app: Enter nrf_bootloader_fw_activate
    <debug> app: Valid App
    <debug> app: Enter nrf_dfu_app_continue
    <debug> app: No copy needed src_addr: 0x26000, dst_addr: 0x26000
    <debug> app: Setting app as valid
    <info> nrf_dfu_settings: nrf_dfu_settings_write_and_backup.
    <info> nrf_dfu_settings: nrf_dfu_settings_write_and_backup.
    <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=0x2000919C, len=440 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=0x20009354, len=440 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
    <info> 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> nrf_dfu_settings: memcpy setttings.
    <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> 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=0x20009354, len=440 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
    <debug> app: running irq table set
    <debug> app: After running irq table set
    
    
    
    12:21 19-11-2019
    Debug logs for DFU_BOOTLOADER with Application code and 24 V supply given from SMPS:
    
    
    <info> app: Inside main
    <info> 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> nrf_dfu_settings: memcpy setttings.
    <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
    <info> 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> nrf_dfu_settings: memcpy setttings.
    <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 enabled CRV:163840 ticks
    <info> nrf_bootloader_wdt: Starting a timer (160640 ticks) for feeding watchdog.
    <debug> app: timer_activate (0x200057E4)
    <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> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> nrf_dfu_ble: Connected
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> nrf_dfu_ble: Advertising...
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> nrf_dfu_ble: Connected
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> nrf_dfu_ble: Advertising...
    <debug> nrf_dfu_ble: Connected
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> nrf_dfu_ble: Advertising...
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057E4)
    <debug> app: timer_fire (0x200057E4)
    <debug> app: timer_activate (0x200057E4)
    <info> nrf_bootloader_wdt: Internal feed
    <debug> app: timer_stop (0x200057D4)
    <debug> app: timer_fire (0x200057D4)
    <info> app: Inactivity timeout.
    <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
    <info> 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> nrf_dfu_settings: memcpy setttings.
    <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
    

    This LDO is external, right?

    Yes

    That is including external components? Not the nRF?

    Yes that is including external components. Overall PCB load corrent taken from supply.

  • Does this mean that it works on the DK, but not on the custom PCB? Did you have a log from the custom PCB with Voltage = 5v, when it was working? Or is it not working when you have 5v on the custom PCB either?

    Also, I didn't understand the DK log. Does the log start in the middle of the DFU process?

  • Hello Edvin,

    Yes this works on dk but not on custom pcb when given supply of 24volts. For voltages below 22 it works fine. I don't understand why it is so? All logs given in above text file are from custom boards... Is there anything missing or else... Perfectly working log is for 5v supply given.

    Why BLE do not allow service discovery in bootloader mode.. where it works in application ?  What are electrical requirements for ble connection and service discovery? 

Reply
  • Hello Edvin,

    Yes this works on dk but not on custom pcb when given supply of 24volts. For voltages below 22 it works fine. I don't understand why it is so? All logs given in above text file are from custom boards... Is there anything missing or else... Perfectly working log is for 5v supply given.

    Why BLE do not allow service discovery in bootloader mode.. where it works in application ?  What are electrical requirements for ble connection and service discovery? 

Children
  • ssc said:
    Why BLE do not allow service discovery in bootloader mode.. where it works in application ? 

     It does allow service discovery. Can you try to connect to it with nRF Connect for desktop? It should always do service discovery, while on mobile phones, it is the OS that decides whether it should do a service discovery or not. What are you trying to connect with? A phone? Is it the same behavior if you use nRF Connect for Desktop?

  • Can you try to connect to it with nRF Connect for desktop? It should always do service discovery, while on mobile phones, it is the OS that decides whether it should do a service discovery or not.

    Yes i have tried with desktop it behaves the same way it behaves for mobile. If it was the issue for discovery it should get at lower voltages too. 

    I get error 8: BLE_HCI_CONNECTION_TIMEOUT when i use 24 volt.

    So i referred to THIS link. and changed the PPM to 500 but no luck.

  • If it doesn't show up in nRF Connect for desktop either, then there must be something wrong. Have you tried to sniff the connection? Does the central send a service discovery message?

  • Hello Edvin ,

    I think it is clock related issue. I change the NRF_SDH_CLOCK_LF_SRC to  NRF_CLOCK_LF_SRC_SYNTH instead of NRF_CLOCK_LF_SRC_XTAL . Then Boot-loader worked for all over voltage range of 5 volt to 30 volts.  I have question that if Application BLE worked fine then why Boot loader had issue ?

    Thanks and regards

  • Are all the clock configurations in your bootloader and the application the same? Before you changed to NRF_CLOCK_LF_SRC_SYNTH in the bootloader, of course.

    The settings I am asking about are:

    NRF_SDH_CLOCK_LF_SRC
    NRF_SDH_CLOCK_LF_RC_CTIV
    NRF_SDH_CLOCK_LF_RC_TEMP_CTIV
    NRF_SDH_CLOCK_LF_ACCURACY

    Note that these are not the same as:

    NRFX_CLOCK_CONFIG_LF_SRC. I am looking for the defines with "..._SDH_..."

    Can you list these defines from the bootloader project and for the application project?

    BR,

    Edvin

Related