diff --git a/arch/arm/src/stm32/stm32g4xxx_flash.c b/arch/arm/src/stm32/stm32g4xxx_flash.c index 67a8b11978376..6333c3a2bc5d7 100644 --- a/arch/arm/src/stm32/stm32g4xxx_flash.c +++ b/arch/arm/src/stm32/stm32g4xxx_flash.c @@ -187,19 +187,16 @@ static inline void flash_erase(size_t page) modifyreg32(STM32_FLASH_CR, 0, FLASH_CR_PAGE_ERASE); - /* DBANK=0, Page range 0 to 128 - * DBANK=1, Page range 0 to 255 - */ - modifyreg32(STM32_FLASH_CR, FLASH_CR_PNB_MASK, FLASH_CR_PNB(page)); #if (defined(CONFIG_STM32_STM32G47XX) || \ defined(CONFIG_STM32_STM32G48XX)) + uint32_t half_npages = get_flash_npages() / 2 if (getreg32(STM32_FLASH_OPTR) & FLASH_OPTR_DBANK) { - if (page <= 0x7f) + if (page < half_npages) { /* Select bank 1 */