cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F765 Dual Bank issue - What am I missing?

Anno
Associate II

Hello community,

 

I'm struggling to get the dual bank feature to work with the STM32F765 as in the X-CUBE-DBANK-F7 example shown. Following situation:

I have two similar FWs, only a different LED is toggled. In the OB I set the nDBank to 0 and defined the BOOT_ADD0 to 0x08000000. Then I loaded the FW1 at start location 0x08000000 and FW2 at 0x08100000, as described in AN4826 for a MCU with 2 MB flash memory organisation. BOOT0 pin is on GND.

Initially, FW1 runs without any problems. But none of the LEDs light up when BOOT_ADD0 is changed to 0x08100000 inside the CubeProgrammer.

Here are some of the solutions I have tried:

  • set nDBoot to 0
  • changing the start locations
  • changing the SWP_FB bit in the FW or in the CubeProgrammer
  • changing BOOT_ADD0 in the FW
  • Towards the end I switched to single bank and changed BOOT_ADD0 to 0x08100000 but nothing happened. I thought that BOOT_ADD0 indicates the beginning (RM0410 page 82).

I would be very grateful for any input that could help me!

 

Warmest regards
Anno

2 REPLIES 2
SofLit
ST Employee

Hello,

Refer to this simple example from STM32CubeF7 on github. It can help you: https://github.com/STMicroelectronics/STM32CubeF7/tree/master/Projects/STM32F769I_EVAL/Examples/FLASH/FLASH_SwapBank

 

 

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.

Hey and thank you for your fast reply.

 

I'm familiar with this example but it didn't help me. I had taken a few lines from this example, like the MPU_Config() and the CPU_CACHE_Enable().

It seem like the MSU freezes after the change of BOOT_ADD0. Sometimes one LED is on but does not toggle.

With the executing of HAL_EnableMemorySwappingBank() the same behavior occurs but after a reset FW1 is running again.