From 379fcb3c614d540e2d854700d77c80268b207b3f Mon Sep 17 00:00:00 2001 From: Uwe Bonnes Date: Sun, 18 Dec 2011 16:53:16 +0100 Subject: [PATCH] Also ignore ZEROs at end of file when writing --- src/stlink-common.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/stlink-common.c b/src/stlink-common.c index fac7b68..937bf82 100644 --- a/src/stlink-common.c +++ b/src/stlink-common.c @@ -1420,11 +1420,22 @@ int stlink_write_flash(stlink_t *sl, stm32_addr_t addr, uint8_t* base, unsigned int stlink_fwrite_flash(stlink_t *sl, const char* path, stm32_addr_t addr) { /* write the file in flash at addr */ int err; + unsigned int num_zero = 0, index; mapped_file_t mf = MAPPED_FILE_INITIALIZER; if (map_file(&mf, path) == -1) { WLOG("map_file() == -1\n"); return -1; } + for(index = 0; index < mf.len; index ++) { + if (mf.base[index] == 0) + num_zero ++; + else + num_zero = 0; + } + if(num_zero != 0) { + ILOG("Ignoring %d bytes of Zeros at end of file\n",num_zero); + mf.len -= num_zero; + } err = stlink_write_flash(sl, addr, mf.base, mf.len); unmap_file(&mf); return err; -- 2.30.2