Skip to main content
markH
Associate III
June 29, 2022
Question

Riverdi RVT101HVSNWC00 external flash programming fails

  • June 29, 2022
  • 9 replies
  • 3920 views

I have been trying to program the mentioned display. Whilst using TGFX 4.20.0 I can program an empty project then, generate code and upload from CubeIDE 1.9.0 without issue. Adding an image to the empty project and run target from TGFX works no problem BUT when generate code and run target from Cube ide it fails

Memory Programming ...
Opening and parsing file: st-link_gdb_server_a29604.srec
 File : st-link_gdb_server_a29604.srec
 Size : 495.69 KB 
 Address : 0x08000000 
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 1]
Erasing memory corresponding to segment 1:
Erasing external memory sectors [0 79]
Error: failed to erase memory

This is using

STM32H_IPS_Riverdi_CM7_v3.stldr from project and STM32H_IPS_QSPI_Loader_CM7.stldr supplied by manufacturer

I hope you can help with this issue

Thank you

Mark

This topic has been closed for replies.

9 replies

Osman SOYKURT
ST Technical Moderator
July 6, 2022

Hello Mark,

Have you tried to flash your board within STM32CubeProgrammer instead ?

Also, which board do you use ? Are you sure that the external loader used by TouchGFX Designer when you run on target is actually the same used on your STM32CubeIDE ?

/Osman

ST Software Developer | TouchGFX
Tesla DeLorean
Guru
July 6, 2022

+1

Definitely try from the GUI version of STM32 Cube Programmer (v2.11.0 currently), select the External Loader(s) and see if the behaviour is consistent there.

What type (make/model) of flash memory is used on these boards?

Did this work at some point, and then stop working?

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
markH
markHAuthor
Associate III
July 6, 2022

Thanks I will look at this tomorrow :thumbs_up:

Tesla DeLorean
Guru
July 6, 2022

I'll review where I am with my Micron loaders (13 months since I touched the H7 ones), spent most of the time with the Macronix and Winbond parts as they are more prolific, and least covered by ST Support. In terms of availability/flexibility the SOP16W (SOIC16 300-mil) packaged parts is by far the broadest. Outside of Winbond, everyone seems to be moving to the BGA24 (6x8mm) for the stacked die parts (ie 1Gb (2x 512Mb die), 2Gb (4x 512Mb die))

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
markH
markHAuthor
Associate III
July 7, 2022

I had tried programmer 2.8, 2.9 and 2.10 GUI, I managed to erase the ext flash but never write. Also tried all three cli versions in CubeIDE to no avail

With STcubeProg 2.11.0 your CLIVEONE-MT25QL512A works a treat! was able to program ext flash then load internal flash and run OK, this is further than I got before. Really looking to be able to program and debug from Cube IDE

loading in CubeIDE 1.9.0 with programmer 2.11.0 and your file, consol output os below

STMicroelectronics ST-LINK GDB server. Version 6.1.0
Copyright (c) 2022, STMicroelectronics. All rights reserved.
 
Starting server with the following options:
 Persistent Mode : Disabled
 Logging Level : 1
 Listen Port Number : 61234
 Status Refresh Delay : 15s
 Verbose Mode : Disabled
 SWD Debug : Enabled
 
Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
Debugger connected
Waiting for debugger connection...
 -------------------------------------------------------------------
 STM32CubeProgrammer v2.11.0 
 -------------------------------------------------------------------
 
 
 
Log output file: C:\Users\MarkH\AppData\Local\Temp\STM32CubeProgrammer_a22540.log
ST-Link Server is running on port : 7184
ST-LINK SN : 31FF6D064D4E353839371043
ST-LINK FW : V2J39S7
Board : --
Voltage : 3.25V
SWD freq : 4000 KHz
Connect mode: Under Reset
Reset mode : Hardware reset
Device ID : 0x450
Revision ID : Rev V
Device name : STM32H7xx
Flash size : 2 MBytes (default)
Device type : MCU
Device CPU : Cortex-M7/M4
BL Version : 0x0
 
 
 
Memory Programming ...
Opening and parsing file: ST-LINK_GDB_server_a22540.srec
 File : ST-LINK_GDB_server_a22540.srec
 Size : 495.69 KB 
 Address : 0x08000000 
 
 
Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 1]
Erasing memory corresponding to segment 1:
Erasing external memory sectors [0 4]
Error: failed to erase memory
 
 
Error: failed to erase memory
Shutting down...
Exit.

To me looks like it invokes the programmer once to try to write both internal and external flash compared to TGFX invoking the programmer twice.

markH
markHAuthor
Associate III
July 7, 2022

Compared to TGFX successfully programming

Flash
 make -f ../../STM32CubeIDE/CM7/Makefile flash
 -------------------------------------------------------------------
 STM32CubeProgrammer v2.8.0 
 -------------------------------------------------------------------
 
 STLinkUSBDriver.dll loaded
 STLinkUSBDriver.dll loaded
 ST-LINK SN : 31FF6D064D4E353839371043
 ST-LINK FW : V2J39S7
 Board : --
 Voltage : 3.26V
 SWD freq : 4000 KHz
 Connect mode: Normal
 Reset mode : Software reset
 Device ID : 0x450
 Revision ID : Rev V
 Buffer program...
 w ap 0 @0x580244F4 0x00000004 bytes Data 0x00000002
 Reading data...
 r ap 0 @0x58000528 0x00000004 bytes Data 0x00000001
 Buffer program...
 w ap 0 @0x580244F4 0x00000004 bytes Data 0x00000002
 Reading data...
 r ap 0 @0x58000528 0x00000004 bytes Data 0x00000001
 Database: Config 1 is active.
 flash loader c:/Program Files/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/FlashLoader/0x450.stldr is loaded
 Buffer program...
 w ap 0 @0x580244F4 0x00000004 bytes Data 0x00000002
 Reading data...
 r ap 0 @0x58000528 0x00000004 bytes Data 0x00000001
 Buffer program...
 w ap 0 @0x580244F4 0x00000004 bytes Data 0x00000002
 Reading data...
 r ap 0 @0x58000528 0x00000004 bytes Data 0x00000001
 Database: Config 1 is active.
 Device name : STM32H7xx
 Reading data...
 r ap 0 @0x1FF1E880 0x00000004 bytes Data 0x00000800
 Flash size : 2 MBytes
 Device type : MCU
 Device CPU : Cortex-M7/M4
 r ap 0 @0x1FF1E7FE 0x00000004 bytes Data 0x003EFF90
 BL Version : 0x90
 
 Reading data...
 r ap 0 @0x1FF095F0 0x00000004 bytes Data 0x00020200
 
 
 Memory Programming ...
 Opening and parsing file: flash.bin
 File : flash.bin
 Size : 181724 Bytes
 Address : 0x08000000 
......
 
File download complete
 Time elapsed during download operation: 00:00:03.269
 Hard reset is performed
 
 Hard reset is performed
 Disconnected

second invoke

File download complete
 Time elapsed during download operation: 00:00:03.269
 Hard reset is performed
 
 Hard reset is performed
 Disconnected
 -------------------------------------------------------------------
 STM32CubeProgrammer v2.8.0 
 -------------------------------------------------------------------
 
 external loader C:/TouchGFXProjects/MyApplication_8/STM32CubeIDE/CM7//Middlewares/Stldr/STM32H_IPS_Riverdi_CM7_v3.stldr is loaded
 STLinkUSBDriver.dll loaded
 STLinkUSBDriver.dll loaded
 ST-LINK SN : 31FF6D064D4E353839371043
 ST-LINK FW : V2J39S7
 Board : --
 Voltage : 3.26V
 SWD freq : 4000 KHz
 Connect mode: Normal
 Reset mode : Software reset
 Device ID : 0x450
 Revision ID : Rev V
 Buffer program...
 w ap 0 @0x580244F4 0x00000004 bytes Data 0x00000002
 Reading data...
 r ap 0 @0x58000528 0x00000004 bytes Data 0x00000001
 Buffer program...
 w ap 0 @0x580244F4 0x00000004 bytes Data 0x00000002
 Reading data...
 r ap 0 @0x58000528 0x00000004 bytes Data 0x00000001
 Database: Config 1 is active.
 flash loader c:/Program Files/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/FlashLoader/0x450.stldr is loaded
 Buffer program...
 w ap 0 @0x580244F4 0x00000004 bytes Data 0x00000002
 Reading data...
 r ap 0 @0x58000528 0x00000004 bytes Data 0x00000001
 Buffer program...
 w ap 0 @0x580244F4 0x00000004 bytes Data 0x00000002
 Reading data...
 r ap 0 @0x58000528 0x00000004 bytes Data 0x00000001
 Database: Config 1 is active.
 Device name : STM32H7xx
 Reading data...
 r ap 0 @0x1FF1E880 0x00000004 bytes Data 0x00000800
 Flash size : 2 MBytes
 Device type : MCU
 Device CPU : Cortex-M7/M4
 r ap 0 @0x1FF1E7FE 0x00000004 bytes Data 0x003EFF90
 BL Version : 0x90
 
 Reading data...
 r ap 0 @0x1FF095F0 0x00000004 bytes Data 0x00020200
 
 
 Memory Programming ...
 Opening and parsing file: qspi.bin
 File : qspi.bin
 Size : 325864 Bytes
 Address : 0x90000000 
......
 
 run ap 0 
 Done
 r ap 0 reg 0 R0 0x00000001
 Write elapsed time: 3098ms
 Segment[0] downloaded successfully
 
 
 File download complete
 Time elapsed during download operation: 00:00:06.096
 Hard reset is performed
 
 Hard reset is performed
 Disconnected
 Done

firmwareguru
Graduate
April 10, 2023

I can confirm that the problem is still there using external flash loader provided with TouchGFX 4.21.1 and STM32CubeProgrammer 2.6, 2.10 and 2.13.

The workaround is, as mentioned above, to load internal and external flash separately from separate files.

Associate
August 24, 2023

Can you please provide steps on how to do this? I have this problem and cannot load the riverdi display with the cubeIDE generated code.