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

Unable to Update Bootloader Using DFU

Hello,

I am trying to update my bootloader using DFU and I am running into a few issues. I have successfully flashed and tested my current bootloader on my board and everything is working great. In an attempt to prove that I have bootloader updates over DFU working correctly, I took the same hex file that was flashed to my board (with the exception that I changed the advertising name) and used it with nrfutil to create a zip package. I then use the nRF Connect Android app to DFU my device. I am able to achieve two different errors when I try to update the bootloader on my board with the following two methods:

  1. I choose Distribution Packet (ZIP) as my method for updating my bootloader and then hand it the zip file that was created with the nrfutil tool. I receive the following error

Remote DFU error: REMOTE DFU DATA SIZE EXCEEDS LIMIT

  1. I Choose Bootloader as my file type and then select the hex file for the updated bootloader and I select that dat file that was in the output zip file from nrfutil. The bootloader progress reaches 100% and then I receive this error

Remote DFU error: REMOTE DFU INVALID CRC ERROR

Can I not use the dat file that was in the nrfutil output zip file as the init packet for my bootloader update? I am also confused as to why i'm getting the size limit error if it is the exact same hex file with the same flash usage and settings. I understand that I can't grow the bootloader beyond it's initial size, but if it is the same size that shouldn't be a problem right? One interesting thing that I discovered is that if I use the Zip file, nRF Connect reports the image size as 16384 bytes total; if I use the hex+dat file, nRF Connect reports the image size as 13108 bytes total.

Here are the specifics related to my project:

  • SDK11
  • SoftDevice S130 V2.0.0
  • nRF51822-CFAA variant
  • Bootloader IROM1 Start: 0x3C000
  • Bootloader IROM1 Size: 0x3C00
  • Bootloader Region Start: 0x3C000
  • Bootloader Settings Address: 0x3FC00
  • nRF Connect for Android (v4.7.0)

Any assistance you can provide with helping me understand and getting me past these DFU errors is greatly appreciated.

Thanks and Best Regards, Cory Mast