diff --git a/src/FlashStorage.cpp b/src/FlashStorage.cpp index cb7dcf6..44b215c 100644 --- a/src/FlashStorage.cpp +++ b/src/FlashStorage.cpp @@ -95,8 +95,13 @@ void FlashClass::write(const volatile void *flash_ptr, const void *data, uint32_ // Fill page buffer uint32_t i; - for (i=0; i<(PAGE_SIZE/4) && size; i++) { - *dst_addr = read_unaligned_uint32(src_addr); + for (i = 0; i < (PAGE_SIZE / 4) && size; i++) + { + uint32_t new_value = read_unaligned_uint32(src_addr); + if (*dst_addr != new_value) + { + *dst_addr = new_value; + } src_addr += 4; dst_addr++; size--;