AnsweredAssumed Answered

Understanding bank swap when dual bank boot is enabled

Question asked by guillaume petitjean on May 15, 2018


I'm developping a firmware on STM32L4x6.

I will use the dual bank boot mechanism for the firmware update feature. I've read AN2606 and AN4767 but I'm still confused about bank swap.

Does bank swap concern only code execution ? Or does it concern also any memory access from the MCU ? If the MCU reads some data from, for example, 0x08080000 ( first page of bank 2) while BFB2 is set, I understood the "read memory" operation is "translated" into a physical access to 0x08000000. Is it correct ?

What about the page erase sequence, where you have to specify the bank number and page number in FLASH_CR ?

What about the debugger output ? Is the memory also swapped for him ?

Best regards