summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--util/stm32mon.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/util/stm32mon.c b/util/stm32mon.c
index b9896a00c0..c4c5de4fbf 100644
--- a/util/stm32mon.c
+++ b/util/stm32mon.c
@@ -858,6 +858,12 @@ int write_flash(int fd, struct stm32_def *chip, const char *filename,
}
fclose(hnd);
+ /* faster write: skip empty trailing space */
+ while (res && buffer[res - 1] == 0xff)
+ res--;
+ /* ensure 'res' is multiple of 4 given 'size' is and res <= size */
+ res = (res + 3) & ~3;
+
printf("Writing %d bytes at 0x%08x\n", res, offset);
written = command_write_mem(fd, offset, res, buffer);
if (written != res) {