Skip to main content
Visitor II
June 19, 2025
Question

Bootloader with SPI / QSPI external flash memory

  • June 19, 2025
  • 2 replies
  • 484 views

I am working with the STM32H7A3ZI microcontroller and planning to integrate an external flash memory to run application code. The flash memory I intend to use supports both standard SPI and QSPI interfaces.

I would like to confirm the following:

  1. Are there any specific bootloader pins required for interfacing with external QSPI flash for code execution?
  2. Can I connect the flash to any QSPI-compatible pins, or are there dedicated QSPI pins that must be used for successful boot and execution?
  3. Does the STM32H7A3ZI support booting directly from external QSPI flash, and if so, what configuration is required?

 

Your assistance in clarifying these points would be greatly appreciated as I finalize the hardware design.

 

Thank you in advance for your support.

    This topic has been closed for replies.

    2 replies

    Technical Moderator
    June 19, 2025

    Hello @Arun3 and welcome to the ST community,

    If you intend to use the internal ST bootloader, that's not possible to update the QSPI. 

    You need to develop your own bootloader where you can implement the read and write operation to the QSPI.

    Super User
    June 19, 2025

    On STM32H7A execution always starts from the internal flash or the "system bootloader". Then your code in the internal flash will initialize the QSPI interface, enable memory-mapped mode (aka XIP)  and jump to your application in the external flash.

    You connect the QSPI flash to the STM32 pins intended for the QSPI controller.

    You can configure the start (boot) address of STM32H7A to point to address outside of internal flash or system bootloader - but this does not make any sense.