STM32L476 Discovery

From SEGGER Wiki
Revision as of 17:56, 27 October 2016 by Erik (talk | contribs) (Created page with "=== Example implementation === As described above, the reference flash algorithm is based on the Open Flash Loader and therefore needs to be added manually using a JLinkDevice...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Example implementation

As described above, the reference flash algorithm is based on the Open Flash Loader and therefore needs to be added manually using a JLinkDevices.xml file. An example JLinkDevices.xml entry as well as the used pinout in the example flash algorithm


is given below. This example assumes a Winbond W25Q16DV (2MB flash) connected to the Quad-SPI interface of the STM32F446xx. For further information regarding the Open Flash Loader and how to use the JLinkDevices.xml file, please refer to the J-Link User Manual (UM08001), chapter 10 Adding Support for New Devices.

Quad-SPI interface pins

The example algorithm uses the following port pins to interface the (Q)SPI flash.

Alternate function Port / Pin
QUADSPI_BK1_IO0 PF8
QUADSPI_BK1_IO1 PF9
QUADSPI_BK1_IO2 PE2
QUADSPI_BK1_IO3 PF6
QUADSPI_CLK PB2
QUADSPI_BK1_NCS PG6

JLinkDevices.xml

<Database>
  <Device>
    <ChipInfo Vendor="ST"
              Name="STM32F446ZE"
              WorkRAMAddr="0x20000000"
              WorkRAMSize="0x18000"
              Core="JLINK_CORE_CORTEX_M4" />
    <FlashBankInfo Name="Internal Flash"
                   BaseAddr="0x90000000"
                   MaxSize="0x200000"
                   Loader="ST_STM32F446_Reference.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.