STM32L476 Eval

From SEGGER - Support Wiki
Jump to: navigation, search

QSPI Flash Programming Support

Before continuing with this article, please read the generic article about QSPI flash programming support on STM32L4 devices (STM32L446xx (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 STM32L476 Eval board, is given below. This example assumes a Micron N25Q256A (32MB flash) connected to the Quad-SPI interface of the STM32L476ZG. 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.

Board specifics

The QSPI Flash interface is shared with other peripherals on the ST STM32L476 Eval. Therefore, the mounted LCD glass display needs to be removed (MB979) and the solder bridges needs to be "configured" as follows:

  • SB9 closed
  • SB8 closed
  • SB12 closed
  • SB13 open
  • SB14 closed
  • SB15 open
  • SB18 closed
  • SB19 open
  • SB20 open
  • SB21 closed

Quad-SPI Interface Pins

The ST STM32L476 Eval uses the following port pins to interface the (Q)SPI flash.

Alternate function Port / Pin
QSPI_CLK PB10
QSPI_CS PB11
QSPI_D0 PB1
QSPI_D1 PB10
QSPI_D2 PB7
QSPI_D3 BA6

JLinkDevices.xml

<Database>
  <Device>
    <ChipInfo Vendor="ST"
              Name="STM32L476ZG"
              Core="JLINK_CORE_CORTEX_M4" />
    <FlashBankInfo Name="QSPI Flash"
                   BaseAddr="0x90000000"
                   MaxSize="0x02000000"
                   Loader="ST_STM32L476_Eval_QSPI.elf"
                   LoaderType="FLASH_ALGO_TYPE_OPEN" />
  </Device>
</Database>

Flash algorithm (*.elf)

This file contains the program routines used by the J-Link DLL during flash programming.

IAR example project

The example project contains a simple counter loop which is linked into the (Q)SPI flash memory region @ address 0x90000000. The project includes the JLinkDevices.xml file as well as the ST_STM32F446_Reference.elf. It runs out-of-the-box. Please note, that IAR EWARM must at least use the J-Link DLL version V6.01a, which supports the Open Flash Loader.