summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorarmink <[email protected]>2018-07-14 21:01:38 +0800
committerarmink <[email protected]>2018-07-14 21:01:38 +0800
commite1c612bf0ac7d912c4fcaa431842acf784c4f467 (patch)
tree257eff9e839faace7aaff0d136376ebdceb3ae4b
parente751fc9934898847511820f8e1e26f08f35f5d46 (diff)
[DeviceDriver][sfud] Fix block erase 0 byte issue when start address is equal end address.
-rw-r--r--components/drivers/spi/spi_flash_sfud.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/components/drivers/spi/spi_flash_sfud.c b/components/drivers/spi/spi_flash_sfud.c
index 94b9afc9ba..5d5da858f3 100644
--- a/components/drivers/spi/spi_flash_sfud.c
+++ b/components/drivers/spi/spi_flash_sfud.c
@@ -76,6 +76,10 @@ static rt_err_t rt_sfud_control(rt_device_t dev, int cmd, void *args) {
return -RT_ERROR;
}
+ if (end_addr == start_addr) {
+ end_addr ++;
+ }
+
phy_start_addr = start_addr * rtt_dev->geometry.bytes_per_sector;
phy_size = (end_addr - start_addr) * rtt_dev->geometry.bytes_per_sector;