Skip to main content
Visitor II
June 18, 2025
Question

Dual Banking in stm32wle5ccu6

  • June 18, 2025
  • 1 reply
  • 321 views

I am currently implementing a dual-bank flash concept on the STM32WLE5CCU6 microcontroller, which features 256 KB of flash memory. I have divided the flash into two logical blocks, each of 128 KB. Both blocks include their own independent In-Application Programming (IAP) bootloader code. Additionally, each block contains identical application code, but mapped to different memory locations.

In the linker script for each block, I have modified the flash and SRAM start and end addresses accordingly. I have also updated the vector table  by setting the __ICFEDIT_intvec_start__ symbol to match the start of the respective flash block.

The first block (Block 0 or B0) functions correctly. Upon reset, it correctly jumps to the application code located at the corresponding address.

However, when executing code from the second block (Block 1 or B1), the application does not function as expected. Furthermore, upon issuing a hard reset, the system always jumps to the start address of Block 0, rather than to Block 1.

This raises the question: apart from modifying the linker file (flash/SRAM address ranges and vector table in linker file ), are there any additional areas or configurations that need to be updated to support execution and booting from Block 1?

This topic has been closed for replies.

1 reply

STTwo-32
ST Technical Moderator
August 4, 2025

Hello @jackiee 

I think the same question was answered here. If not, could you please add more details.

Best Regards.

STTwo-32

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.