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

DFU: Bootloader not verified error

Hello, i'm trying to DFU from 13.1 to 14.1..

What i have tested is flash(SD + B) + dfu(APP) on both versions. Now i'm trying to DFU all from sdk13.1 to 14.1.

Is it possible to dfu(SD + B + APP) at once? Is there a limit in size? Should it work with bootloader debug versions?

Here is error when try 13.1->14.1 dfu(SD + B):

:DEBUG:Finished with the SD update.
:DEBUG:Erasing old settings at: 0x0007f000
:DEBUG:Erasing: 0x0007f000, num: 1
:DEBUG:Writing 0x00000057 words
:DEBUG:Writing settings...
:DEBUG:Verifying BL: Addr: 0x00023000, Src: 0x000604a8, Len: 0x00005688
:DEBUG:Bootloader not verified, copying: Src: 0x000604a8, Len: 0x00005688

Here is a full log:

dfu_bootloader_not_verified_log.txt

And here are files i am testing with:

bootloader_debug_131.hex

all_dfu_package_141.zip

Parents
  • You need to enable the NRF_DFU_WORKAROUND_PRE_SDK_14_1_0_SD_BL_UPDATE workaround in the SDK v14.1.0 bootloader's sdk_config.h. See this answer for an explanation of the bug.

    Yes, it is possible to create a combined SD+BL+APP image using the following nrfutil command

    nrfutil --application app.hex --application-version 1 --bootloader bootloader.hex --bootloader-version 1 --softdevice softdevice.hex --hw-version 52 --sd-req 0x9D,0x98 --sd-id 0x9D --key-file private_key.pem sd_bl_app_firmware_image.zip

    Attachment:

    RTT_Terminal_201711221615.log

  • @schef: The bootloader not verified output is actually not an error, but a part of the DFU procedure. The after receiving the combined SD + BL image the old bootloader will switch the softdevice, reset and then verify if the bootloader image in the flash bank is identical to the one in the bootloader region. The obvious answer is no, as the bootloader has not performed this swap yet, but its needed in order to safeguard against power failures. Since the verification will fail, the bootloader preforms the swap procedure, resets and now the new bootloader will perform the same verification, but this time the banked image and the one in the bootloader region will match.

    I tested perform a SD+BL update with clean versions of SDK v13.1 and SDK v14.1 and it worked as it should.

Reply
  • @schef: The bootloader not verified output is actually not an error, but a part of the DFU procedure. The after receiving the combined SD + BL image the old bootloader will switch the softdevice, reset and then verify if the bootloader image in the flash bank is identical to the one in the bootloader region. The obvious answer is no, as the bootloader has not performed this swap yet, but its needed in order to safeguard against power failures. Since the verification will fail, the bootloader preforms the swap procedure, resets and now the new bootloader will perform the same verification, but this time the banked image and the one in the bootloader region will match.

    I tested perform a SD+BL update with clean versions of SDK v13.1 and SDK v14.1 and it worked as it should.

Children
No Data
Related