diff --git a/bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f1.c b/bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f1.c index 5511c84a0e82ef1e5d5360843b6395bad5273fe5..3a385907b4fbf6d6ce8f3809da11dfbaa7267c43 100644 --- a/bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f1.c +++ b/bsp/stm32/libraries/HAL_Drivers/drv_flash/drv_flash_f1.c @@ -186,72 +186,72 @@ __exit: */ int stm32_flash_erase(rt_uint32_t addr, size_t size) { - rt_err_t result = RT_EOK; + rt_err_t result = RT_EOK; #if defined(FLASH_BANK2_END) - uint32_t addr_bank1 = 0; - uint32_t size_bank1 = 0; - uint32_t addr_bank2 = 0; - uint32_t size_bank2 = 0; - uint8_t bank1_flag = 0; - uint8_t bank2_flag = 0; + uint32_t addr_bank1 = 0; + uint32_t size_bank1 = 0; + uint32_t addr_bank2 = 0; + uint32_t size_bank2 = 0; + uint8_t bank1_flag = 0; + uint8_t bank2_flag = 0; #endif #if defined(FLASH_BANK2_END) - if(addr <= FLASH_BANK1_END) - { - addr_bank1 = addr; - bank1_flag = 1; - - if((addr + size) > FLASH_BANK1_END) - { - addr_bank2 = FLASH_BANK1_END + 1; - size_bank2 = addr + size - (FLASH_BANK1_END + 1); - - if(size_bank2) - { - bank2_flag = 1; - } - - size_bank1 = FLASH_BANK1_END + 1 - addr_bank1; - } - else - { - size_bank1 = size; - } - } - else - { - addr_bank2 = addr; - size_bank2 = size; - bank1_flag = 0; - bank2_flag = 1; - } - - if(bank1_flag) - { - log_d("bank1: addr (0x%p), size %d", (void *)addr_bank1, size_bank1); - - if(size_bank1 != stm32_flash_erase_bank(FLASH_BANK_1, addr_bank1, size_bank1)) - { - result = -RT_ERROR; - } - } - - if(bank2_flag) - { - log_d("bank2: addr (0x%p), size %d", (void *)addr_bank2, size_bank2); - - if(size_bank2 != stm32_flash_erase_bank(FLASH_BANK_2, addr_bank2, size_bank2)) - { - result = -RT_ERROR; - } - } - - return result; + if(addr <= FLASH_BANK1_END) + { + addr_bank1 = addr; + bank1_flag = 1; + + if((addr + size) > FLASH_BANK1_END) + { + addr_bank2 = FLASH_BANK1_END + 1; + size_bank2 = addr + size - (FLASH_BANK1_END + 1); + + if(size_bank2) + { + bank2_flag = 1; + } + + size_bank1 = FLASH_BANK1_END + 1 - addr_bank1; + } + else + { + size_bank1 = size; + } + } + else + { + addr_bank2 = addr; + size_bank2 = size; + bank1_flag = 0; + bank2_flag = 1; + } + + if(bank1_flag) + { + log_d("bank1: addr (0x%p), size %d", (void *)addr_bank1, size_bank1); + + if(size_bank1 != stm32_flash_erase_bank(FLASH_BANK_1, addr_bank1, size_bank1)) + { + result = -RT_ERROR; + } + } + + if(bank2_flag) + { + log_d("bank2: addr (0x%p), size %d", (void *)addr_bank2, size_bank2); + + if(size_bank2 != stm32_flash_erase_bank(FLASH_BANK_2, addr_bank2, size_bank2)) + { + result = -RT_ERROR; + } + } + +return result; #else - return stm32_flash_erase_bank(FLASH_BANK_1, addr, size); + return stm32_flash_erase_bank(FLASH_BANK_1, addr, size); #endif }