summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--digital/avr/modules/flash/flash.c3
-rw-r--r--digital/avr/modules/flash/flash.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/digital/avr/modules/flash/flash.c b/digital/avr/modules/flash/flash.c
index 69277266..92b70b68 100644
--- a/digital/avr/modules/flash/flash.c
+++ b/digital/avr/modules/flash/flash.c
@@ -157,7 +157,8 @@ flash_sector_next (uint32_t addr)
rsp = flash_read (addr);
}
- return addr < (FLASH_ADDRESS_HIGH + 1) ? addr : FLASH_ADDRESS_ERROR;
+ return addr < (FLASH_ADDRESS_HIGH + 1) ?
+ addr - FLASH_PAGE_SIZE : FLASH_ADDRESS_ERROR;
}
/** Write in the flash byte provided in parameter.
diff --git a/digital/avr/modules/flash/flash.h b/digital/avr/modules/flash/flash.h
index 06c64f54..0738cf36 100644
--- a/digital/avr/modules/flash/flash.h
+++ b/digital/avr/modules/flash/flash.h
@@ -29,6 +29,8 @@
#define FLASH_ADDRESS_HIGH 0x1FFFFF
#define FLASH_ADDRESS_ERROR 0xFFFFFF
+#define FLASH_ADDRESS_INC(val) \
+ ((val) + 1) & FLASH_ADDRESS_HIGH
#define FLASH_PAGE_SIZE 0x1000
#define FLASH_PAGE_MASK (FLASH_ADDRESS_HIGH & FLASH_PAGE_SIZE)