
I discover some limitation on DFU stack when I play on my ARM board with DFU for my external SDCARD : 16GB
It is mainly caused by the 'long' type (32 bits on ARMv7) used for size in dfu.c
I solve the issue with the 2 first patches of this serie - manage size and result correctly in get_medium_size() - change size to u64
The 2 next patch of the serie are not directly related to the issue. It is a cleanup and code factorization of dfu.c code
Patrick Delaunay (4): dfu: allow dfu read on partition greater than 2GB dfu: remove limitation on partition size dfu: factorize transaction cleanup dfu: add common function to initiate transaction
drivers/dfu/dfu.c | 100 ++++++++++++++++++++++--------------------------- drivers/dfu/dfu_mmc.c | 20 +++++----- drivers/dfu/dfu_nand.c | 6 ++- drivers/dfu/dfu_ram.c | 6 ++- drivers/dfu/dfu_sf.c | 6 ++- include/dfu.h | 4 +- 6 files changed, 69 insertions(+), 73 deletions(-)