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

Related