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

nRF52 single bank: REMOTE DFU INVALID CRC ERROR

Hi,

I've been trying to get DFU updates working on my device for a while now... I've got the single-bank bootloader compiled and seemingly working (and a combined hex file of sd+bootloader+app works great).

I used nrfutil (3.10.0.14) to create a zip file based on my application:

nrfutil.exe dfu genpkg dfu.zip --application firmware.hex --application-version 0xff --dev-revision 1 --dev-type 1 --sd-req 0x81

I can now upload the zip from my phone, and it gets all the way to 99% and then fails with: REMOTE DFU INVALID CRC ERROR

Any idea what could be causing this? Presumably nrfutil is calculating the CRC (in manifest.json and the .dat file), and this is going straight to the bootloader... What could be confusing things? Is something else part of the crc?

Parents
  • I tried to flash your full hex file. I can't get it to advertise. Tried to reset and holding down buttons.

    I tested the gcc compiled bootloader in SDK 11.0.0. Seems to be working fine. Could you test it?

    Edit: Sorry. Got it working now. I got the REMOTE DFU INVALID CRC ERROR when doing DFU with espruino_1v86.90_nrf52832_dfu.zip. Then I tried with with ble_app_hrs, this zip, and that worked fine. No error.

    But you got the error witha smaller image as well? And with the unmodified dual bootloader from the SDK?

  • Interesting - I just tried and yes, your small zip works. The bootloader fails with the _sml zip from the link I gave though. It's not as small, but would still fit in 1 bank. I also took the _sml bin file and just truncated it to 40kB. It uploads file too... So it looks like it's to do with firmware size

Reply Children
No Data
Related