Skip to main content
Graduate
September 5, 2024
Question

STM32F765 Dual Bank issue - What am I missing?

  • September 5, 2024
  • 1 reply
  • 769 views

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

    This topic has been closed for replies.

    1 reply

    Technical Moderator
    September 5, 2024

    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

     

     

    AnnoAuthor
    Graduate
    September 5, 2024

    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.