STM32H745I-Discovery
Contents
QSPI Flash Programming Support
Before continuing with this article, please read the generic article about QSPI flash programming support on STM32H7 devices (STM32H7 (Q)SPI support).
Example implementation
As described in the generic article, the reference flash algorithm is based on the SEGGER Open Flashloader and therefore needs to be added manually using a JLinkDevices.xml file. An example JLinkDevices.xml file as well as pinout used on the STM32H745I Discovery board, is given below. This example assumes a Macronix MT25QL512ABB(64MB flash) connected to the Quad-SPI interface of the STM32H745XI. For further information regarding the Open Flashloader and how to use the JLinkDevices.xml file, please refer to the J-Link User Manual (UM08001), chapter 10 Open Flash Loader.
Quad-SPI Interface Pins
The ST STM32H745I-Discovery and ST STM32H7450I-Discovery use the following port pins to interface the (Q)SPI flash or dual (Q)SPI flash.
Alternate function | Port / Pin |
---|---|
QSPI_CLK | PF10 |
QSPI_CS | PG6 |
QSPI_BK0_D0 | PD11 |
QSPI_BK0_D1 | PF9 |
QSPI_BK0_D2 | PF7 |
QSPI_BK0_D3 | PF6 |
Additonal pins for dual SPI FLASH | Port / Pin |
QSPI_BK1_D0 | PH2 |
QSPI_BK1_D1 | PH3 |
QSPI_BK1_D2 | PG9 |
QSPI_BK1_D3 | PG14 |
JLinkDevices.xml
<Database> <Device> <ChipInfo Vendor="ST" Name="STM32H745XI" Core="JLINK_CORE_CORTEX_M7" JLinkScriptFile="Devices/ST/STM32H7/ST_STM32H7xx.pex"/> <FlashBankInfo Name="QSPI Flash" BaseAddr="0x90000000" MaxSize="0x08000000" Loader="Devices/ST/STM32H7/ST_STM32H745I_Disco_QSPI.elf" LoaderType="FLASH_ALGO_TYPE_OPEN" /> </Device> </Database>
For further information how to include this flashloader into your J-Link software, please refer to:
https://wiki.segger.com/Adding_Support_for_New_Devices#Using_a_Precompiled_Flashloader
Flash algorithm (*.elf)
This file contains the program routines used by the J-Link DLL during flash programming for single SPI flash using the above described BK0 pins.
This file contains the program routines used by the J-Link DLL during flash programming for dual SPI flash using the above described BK0 and BK1 pins.