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

DFU OTA with MCP giving error error: REMOTE DFU DATA SIZE EXCEEDS LIMIT.

I am using nrf51822 Dongle with nordic-sdk_10 and s130 softdevice. Tried to flash the dfu bootloader and using examples/ble_peripheral/ble_app_dfu_template app for OTA.

DFU was successfull after second attempt.

With my custom application using s130 softdevice, DFU was failed with a disconnect. From MCP Logs i am seeing this error. e rror: REMOTE DFU DATA SIZE EXCEEDS LIMIT. ERROR 8(0x8): GATT CONN TIMEOUT.

Parents
  • I recommend you to go through the DFU OTA process in depth and only after a clear understanding, attempt the DFU OTA BLE. It will save you many hours of debugging and probably some hair too :) In general, the sample examples may not be used as it is for various reasons. Having said that, the error seem to indicate that the binary firmware image that you are passing to the bootloader is bigger than the application area in memory. In my opinion, the important pieces of DFU OTA are (In no particular order):

    1. Single mode vs double mode update
    2. Hardware (IC revision) - software compatibility (SDK, Softdevice) matrix.
    3. Central application version (MCP) and platform (Android, iOS)
    4. Nordic Development kit vs Custom board
    5. Memory partitioning
    6. Linker and Loader glue (Varies from one toolchain to another)
    7. Startup sequence
    8. Development vs Production environment
    9. On-chip flash memory management (pstorage)
    10. Bond manager
  • @Jarmo: You need to do calculation on the size of the (total flash size - size of softdevice - size of the bootloader - size of the application reserved data) / 2

    To switch to single bank DFU you can have a look at question J here.

Reply Children
No Data
Related