2022-06-29 02:44 AM
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
2022-07-06 02:50 AM
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
2022-07-06 06:42 AM
+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?
2022-07-06 07:31 AM
Micron MT25QL512ABB1EW9-0SIT (RW213)
https://github.com/riverdi/STM32H7_IPS_QSPI_Loader
PB2 CLK
PG6 NCS
PF8 D0
PF9 D1
PF7 D2
PF6 D3
Perhaps an alternate loader, rebuilt this using my own loader trees, and the pins used on the RIVERDI board.
2022-07-06 10:02 AM
Thanks I will look at this tomorrow :thumbs_up:
2022-07-06 10:17 AM
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))
2022-07-07 01:25 AM
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.
2022-07-07 01:28 AM
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
2023-04-10 03:43 PM
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.
2023-08-23 09:21 PM
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.