1
0
mirror of https://github.com/esp8266/Arduino.git synced 2025-06-04 18:03:20 +03:00

Fixed PUYA flash write buffer alignment (#7491)

* Fixed PUYA flash write buffer alignment (round up)
This commit is contained in:
Drzony 2020-07-30 17:03:49 +02:00 committed by GitHub
parent 1041a9d752
commit 85ea47e9bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -697,15 +697,16 @@ static SpiFlashOpResult spi_flash_write_puya(uint32_t offset, uint32_t *data, si
} else {
bytesLeft = 0;
}
rc = spi_flash_read(pos, flash_write_puya_buf, bytesNow);
size_t bytesAligned = (bytesNow + 3) & ~3;
rc = spi_flash_read(pos, flash_write_puya_buf, bytesAligned);
if (rc != SPI_FLASH_RESULT_OK) {
return rc;
}
for (size_t i = 0; i < bytesNow / 4; ++i) {
for (size_t i = 0; i < bytesAligned / 4; ++i) {
flash_write_puya_buf[i] &= *ptr;
++ptr;
}
rc = spi_flash_write(pos, flash_write_puya_buf, bytesNow);
rc = spi_flash_write(pos, flash_write_puya_buf, bytesAligned);
pos += bytesNow;
}
return rc;