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

DFU Abort - Invalid Object

I've been following the instructions on how to test buttonless secure DFU without bonds using the Buttonless DFU Template Application page.

I followed the instructions at the bottom of the page, and loaded the two following precompiled hex files using JLinkExe's command "loadfile":

  • examples\dfu\secure_dfu_test_images\ble\nrf52832
    softdevice_bootloader_secure_ble_debug_without_bonds_s132.hex
  • examples\dfu\secure_dfu_test_images\ble\nrf52832
    ble_app_buttonless_dfu_without_bonds_s132_with_setting_page.hex

I then used nRF Connect and performed a DFU using the prepackaged test image:

  • examples\dfu\secure_dfu_test_images\ble\nrf52832\softdevice_s132.zip

The DFU started, I could see the progress, and it completed without error.

I then followed the exact same steps, however this time tried to load an image I packaged myself. When I tried to start the DFU, it aborted with the message "Invalid Object."

In order to avoid complications, I packaged the blinky example and did so in the following way:

  1. Created a private key: nrfutil keys generate blinky_key.pem
  2. Created public key and stored in file: nrfutil keys display --key pk --format code blinky_key.pem --out_file dfu_public_key.c
  3. Copied "dfu_public_key.c" to \examples\dfu\dfu_req_handling, replacing the existing file.
  4. Prepared the firmware package: nrfutil pkg generate --debug-mode --application nrf52832_xxaa.hex --key-file blinky_key.pem blinky_package.zip

What's causing the invalid package?

Any help on the matter would be greatly appreciated.

Parents
  • Thanks for the reply. Yeah, debug mode is supposed to cause it to ignore version verification. Either way, I've also tried providing larger version numbers to no success. I have a suspicion that it might have something to do with the signature. I've followed the steps for generating keys, but I'm not quite sure how the public key is getting shared with the device.

Reply
  • Thanks for the reply. Yeah, debug mode is supposed to cause it to ignore version verification. Either way, I've also tried providing larger version numbers to no success. I have a suspicion that it might have something to do with the signature. I've followed the steps for generating keys, but I'm not quite sure how the public key is getting shared with the device.

Children
No Data
Related