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

DFU OTA giving error upload failed: REMOTE DFU DATA SIZE EXCEEDS LIMIT. while flashing application

Hi, i am trying to update OTA application zip file size 112kb but it become failed and showing upload failed: REMOTE DFU DATA SIZE EXCEEDS LIMIT , But if i am flash small size application zip (58kb) it can able to flash. I am using nrf51822(256kb flash) , gnu arm eclipse s/w pls anybody helpme??

  • You can convert a dual bank bootloader to a single bank bootloader by replacing dfu_dual_bank.c with dfu_single_bank.c. Are you using Keil or gcc to compile your projects?

  • I am using GCC compiler i referred ble_app_hrs example code to implement dfu in my application . single_bank or dual_bank which one they are using in ble_app_hrs example code

  • Ok, then just edit the following line in the Makefile under C_SOURCE_FILES += \ from

    $(abspath ../../../../../../components/libraries/bootloader_dfu/dfu_dual_bank.c) \
    

    to

    $(abspath ../../../../../../components/libraries/bootloader_dfu/dfu_single_bank.c) \
    
  • You should not add dfu_single_bank.c file to the ble_app_hrs example if you want to add DFU support. If you want to add DFU support to an application then you need to follow the steps given on this Infocenter page.

  • ya i am followed the same step as u mention. but in that step they are not selecting dfu_single_bank.c file or dfu_dual_bank.c file. Only bootloader_util_arm.c ,dfu_app_handler.c, ble_dfu.c these three files. Then how it work as dual bank dfu

1 2 3