cancel
Showing results for 
Search instead for 
Did you mean: 

The *.stldr file generated by MX25LM51245G_STM32L4R9I-DISCO (@ ST-LINK Utility 4.2.0.0) can't work for STM32L4R9I-DISCO device. Please give me some advices. Thanks.

xxues
Associate II

The *.stldr file generated by MX25LM51245G_STM32L4R9I-DISCO (@ ST-LINK Utility 4.2.0.0) can't work for STM32L4R9I-DISCO device.

Step1. According to the readme.txt in the directory of "C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility\ExternalLoader\MX25LM51245G_STM32L4R9I-DISCO", The detail is as follows:

@par Example Description

This an example of an external loader of MX25LM51245G flash memory for STM32L4R9I-DISCO.

This loader can be used with STM32 ST-LINK Utility and STM32CubeProgrammer.

     

@par Hardware and Software environment  

 - This example runs on STM32L4R9xx devices.

   

 - This example has been tested with STMicroelectronics STM32L4R9I-Discovery

  boards and can be easily tailored to any other supported device 

  and development board.

@par How to use it ? 

 - Place the folder "MX25LM51245G_STM32L4R9I-DISCO" under the following path inside the STM32L4 Cube firmware package  "STM32Cube_FW_L4_Vx.y.z" folder:

  STM32Cube_FW_L4_Vx.y.z\Projects\STM32L4R9I_DISCO\Examples\OSPI

 - Open your preferred toolchain 

 - Rebuild all files and load your image into target memory

 - After build, the loader should be displayed in the external loaders window, ready-to-use.

​​

Step2. Add Existing project of MX25LM51245G_STM32L4R9I-DISCO by using the EWARM 8.22.1,then rebuild all files.So the 

*.out file will be generated, then rename to *.stldr and copy to the directory of "C:\Program Files (x86)\STMicroelectronics\STM32 ST-LINK Utility\ST-LINK Utility\ExternalLoader\"

IAR Configuration

Step3. When downloading MenuLauncher-STM32L4R9I-Discovery_V1.0.0.hex through ST-Link Utility 4.2.0.0,the error is as following:

23:49:29 : ST-LINK SN : 0678FF504955857567011028

23:49:29 : ST-LINK Firmware version : V2J29M18

23:49:29 : Connected via SWD.

23:49:29 : SWD Frequency = 4,0 MHz.

23:49:29 : Connection mode : Connect Under Reset.

23:49:29 : Debug in Low Power mode enabled.

23:49:29 : Device ID:0x470 

23:49:29 : Device flash Size : 2MBytes

23:49:29 : Device family :STM32L4Rx

​23:50:24 : [MenuLauncher-STM32L4R9I-Discovery_V1.0.0.hex] opened successfully.

         Address Ranges [0x08000000 0x080001BC] [0x08006000 0x08006F48] [0x08007000 0x0803B303] [0x90000000 0x9022C30A] 

23:50:24 : [MenuLauncher-STM32L4R9I-Discovery_V1.0.0.hex] checksum : 0x0F9EA60A 

23:52:26 : Timeout during flash programming

23:52:26 : Error occured during erase operation!

Best Regards,

23 REPLIES 23

For starting, I just want to be able to compile an external loader for the STM32L4R9 Discovery Board by my own. I can compile but that elf does not work with the ST-Link programmer. For the posts here, I guess that the example project has some issue. So could you share the project for the Discovery? Thanks.

-Please find attached the corrected project it works well on the STM32L4R9 discovery and STLink utility 4.2.0.

Please find a nice step-by step powerpoint that explains how to configure

the QSPI Flash interface from CubeMx and the memory data sheet, how To test it (and optimize) and

how add the STLIink loader C files and atollic linker file to make a loader application (.stldr).

The idea is to provide a universal method whatever the board pinout and memory to configure the qspi then create your own external flash loader.

Br

Emmanuel Combette

STMicroelectronics Tomas team

Project source code.

On discovey the flash is connected to OctSPI_SPI2 interface starting on 0x7000 0000.

The descriptor in the flash loader starts Def_inf.c is incorrect , the start address is the OctoSPI_SPI1 interface and the comments are not aligned with the L4R9 memory map and data sheet. 

Please find the power point. This is for a QSPI memory , not for an OCtoSPI memory but the methodology remains the same.