From: Uwe Bonnes Date: Sun, 18 Dec 2011 15:53:16 +0000 (+0100) Subject: Also ignore ZEROs at end of file when writing X-Git-Url: https://git.gag.com/?p=fw%2Fstlink;a=commitdiff_plain;h=379fcb3c614d540e2d854700d77c80268b207b3f Also ignore ZEROs at end of file when writing --- 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;