From b8bcbaebba4c29cd5ac5ca01262d3be4245c482b Mon Sep 17 00:00:00 2001 From: NĂ©lio Laranjeiro Date: Mon, 10 Nov 2008 21:09:56 +0100 Subject: avr/modules/flash: Fix the flash_sector_next function. It was returning the next sector address instead of the current one. --- digital/avr/modules/flash/flash.c | 3 ++- digital/avr/modules/flash/flash.h | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) 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) -- cgit v1.2.3