2022-01-11 03:10 AM
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
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
2022-01-21 08:05 AM
Hello @mwb,
Chahinez.
2022-02-07 07:37 AM
Hi Chahinez,
thank you for your answer. We have an (almost) working example on the STM32H745-DISCO.
We have a bootloader (BL) programmed in internal flash and an application ("Blinky") programmed into the external QSPI. We've started with fresh STM32CubeIDE projects for BL and Blinky.
Is there a guideline to how to (re-)configure the controller in the SystemInit code of the application?
As it seems the generated code contains several accesses to RCC->CR. This also seems to re-configure PLLs which will also affect the QSPI interface and then the application won't run anymore.
Furthermore, the debugging session won't be able to communicate with our target anymore ("Target is not responding, retrying...").
What is the best practice regarding SystemInit code of the application? Skip it? Manually modify the generated code? Configure the CubeMX (.ioc) file and regenerate code?
Best regards,
Matthias
2022-02-09 12:52 AM
Hi Chahinez,
please find my answer in the post below.
I was not aware that answers are structured in a tree topology.
Kind regards,
Matthias