How to boot from and execute code from external Quad SPI flash memory on STM32H742 (STM32H7) using XiP model?
Hi all,
we're planing to use an STM32H742 with external SDRAM (for data) and external Quad SPI flash.
The Quad SPI flash shall hold the application binary - i.e. instructions, constants, etc. to be loaded at boot and all code to be executed.
We'd like to use the "XiP model [which is] based on code execution directly from the external non-volatile memory that is used for code storage" - as described in AN5188. However, the AN5188 does not mention STM32H742 but only STM32H743.
Does the STM32H742 support this feature?
It seems to be likely to us as we've seen
- sentences like "(..) the STM32H7 devices deliver the maximum theoretical performance of the Cortex-M7 core no matter whether the code is executed from the embedded Flash or from the external memory" - mentioning the whole series; and
- the section "23.3.7 QUADSPI memory-mapped mode" of RM0433 for STM32H742 stating "Support for execute in place (XIP) operation is implemented, where the QUADSPI (...)"
What steps need to be done to boot from the external Quad SPI flash and also execute application's code?
If so, is there a separate application note for it?
Are there any special steps to take in order to load/initialize data into both internal SRAM and external SDRAM?
How to configure the FMC and QUADSPI peripherals using the STM32CubeMX utility?
What settings need to made in STM32CubeIDE in order to make this work?
Thanks and best regards,
Matthias
