From f59c53a580e2a77c02c7531751e4f7b466ec9987 Mon Sep 17 00:00:00 2001 From: Stephan Baerwolf Date: Tue, 31 Jul 2012 14:03:21 +0200 Subject: [PATCH] optimize HAVE_BLB11_SOFTW_LOCKBIT with local variable to save some code Signed-off-by: Stephan Baerwolf --- firmware/main.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/firmware/main.c b/firmware/main.c index 727081e..1b70c71 100644 --- a/firmware/main.c +++ b/firmware/main.c @@ -250,13 +250,19 @@ uchar isLast; } }else{ uchar i; +#if HAVE_BLB11_SOFTW_LOCKBIT + uint8_t allowWrite; +#endif for(i = 0; i < len;){ +#if HAVE_BLB11_SOFTW_LOCKBIT + allowWrite = (CURRENT_ADDRESS < (addr_t)(BOOTLOADER_ADDRESS)); +#endif #if !HAVE_CHIP_ERASE if((currentAddress.w[0] & (SPM_PAGESIZE - 1)) == 0){ /* if page start: erase */ DBG1(0x33, 0, 0); # ifndef NO_FLASH_WRITE # if HAVE_BLB11_SOFTW_LOCKBIT - if (CURRENT_ADDRESS < (addr_t)(BOOTLOADER_ADDRESS)) { + if (allowWrite) { # endif cli(); boot_page_erase(CURRENT_ADDRESS); /* erase page */ @@ -271,7 +277,7 @@ uchar isLast; i += 2; DBG1(0x32, 0, 0); # if HAVE_BLB11_SOFTW_LOCKBIT - if (CURRENT_ADDRESS < (addr_t)(BOOTLOADER_ADDRESS)) { + if (allowWrite) { # endif cli(); boot_page_fill(CURRENT_ADDRESS, *(short *)data); @@ -286,7 +292,7 @@ uchar isLast; DBG1(0x34, 0, 0); #ifndef NO_FLASH_WRITE # if HAVE_BLB11_SOFTW_LOCKBIT - if ((CURRENT_ADDRESS - (addr_t)2) < (addr_t)(BOOTLOADER_ADDRESS)) { + if (allowWrite) { # endif cli(); boot_page_write(CURRENT_ADDRESS - 2); -- 2.11.0