2019-11-27 06:57 AM
Hi,
I'm new to STM32 development board and I have an STM32F7508-DK board. I have spent days trying to have a working setup in order to have a project that makes the STM32F750 boot from the QSPI flash of the board. I have been watching youtube video and readind the AN5188 which I understood (at least the concept) but when it's time to be practical it is an other story. I also had a look at the various example from the STM32Cube_FW_F7_V1.15.0 but it seems that none of those examples have been written for STM32Cubeide ! What I have try so far is to burn various loader in the internal flash of the MCU but none of them actually seems to boot the application that is flashed in qspi flash of the board. I have a couple of questions :
Thanks
2019-11-27 08:33 AM
Sorry not using CubeIDE so can't speak to it's efficacy.
Generally the debugger can't see inside of the QSPI either until you bring up the hardware properly, this is either done in code you run, or via a debugger script achieving the same. The latter is a bit involved.
Atollic could load two .ELF/HEX concurrently to permit the loader / app to interact. Keil could just use breakpoints (BKPT) you placed in the code.
You basically want two applications, a smaller loader that brings up the clocks and external memory interfaces (pins, memory mapping, and the like), and then that transfers control to the app in QSPI which has it's own Vector Table, and *doesn't* fiddle with the clocks/interface which are already viable.
I'd probably just break-point the loader at the point immediately before it transfers control, and then walk it across the border.
2019-11-28 12:57 AM
Hi,
Thank you for the hint. Which IDE do you use ?
Concerning the the loader app, I have found a template in the STM32Cube_FW_F7_V1.15.0 for the loader and application executing from the QSPI and actually the application executing from the QSPI does setup the clock but not the interface (at least for the RAM and the QSPI).
2021-04-07 02:40 AM