cancel
Showing results for 
Search instead for 
Did you mean: 

Bootloader with SPI / QSPI external flash memory

Arun3
Visitor

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.

2 REPLIES 2
mƎALLEm
ST Employee

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.

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.
Pavel A.
Super User

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.