QSPI loader problems

Discussions concerning TrueSTUDIO for STM32 9.0.0 and later versions.

Moderators: Markus Girdland, Mattias Norlander

Posts: 2
Joined: Thu Apr 04, 2019 9:25 am

QSPI loader problems

Postby espirit » Thu Apr 04, 2019 9:39 am

There seems to be a problem when trying to program an external flash chip via TrueStudio.

I have created an external loader to program a QSPI chip that is connected to an STM32F469II.
My loader is works via the "STM32 ST-LINK Utility", "STM32CubeProgrammer" and STM32_Programmer_CLI.

When I try to use the loader via TrueStudio I run into the problem that the external memory is not programmed.
I have selected the external loader via the property screen of the debug configuration.


When I try to program the device when the external loader is set I get the following error.


the log message that I get when programming.

STMicroelectronics ST-LINK GDB server. Version 5.1.0
Copyright (c) 2018, STMicroelectronics. All rights reserved.

Starting server with the following options:
Persistent Mode : Disabled
LogFile Name : D:\**************************\st-link_gdbserver_log.txt
Logging Level : 31
Listen Port Number : 61234
Status Refresh Delay : 15s
Verbose Mode : Enabled
SWD Debug : Enabled

Hardware watchpoint supported by the target
SWD frequency = 4000 kHz
ST-LINK Firmware version : V3J0S0
Device ID: 0x434
PC: 0x800deb8
ST-LINK device status: HALT_MODE
ST-LINK detects target voltage = 3.34 V
ST-LINK device status: HALT_MODE
Run external memory initializer
ST-LINK device status: RUN_MODE
Failed to initialize external memory!

Error in initializing ST-LINK device.
Reason: Unknown. Please check power and cabling to target.

the log file that was created

[0.000] initConfigParams(): Configuration flags start
[0.001] initConfigParams(): config-file ""
[0.001] initConfigParams(): persistent false
[0.001] initConfigParams(): log-file "D:\**************************\st-link_gdbserver_log.txt"
[0.001] initConfigParams(): log-level 31
[0.001] initConfigParams(): port-number 61234
[0.001] initConfigParams(): verbose true
[0.001] initConfigParams(): refresh-delay 15
[0.001] initConfigParams(): verify true
[0.001] initConfigParams(): swd true
[0.001] initConfigParams(): swo-port 61234
[0.001] initConfigParams(): cpu-clock 8000000
[0.001] initConfigParams(): swo-clock-div 128
[0.001] initConfigParams(): initialize-reset false
[0.001] initConfigParams(): debuggers false
[0.001] initConfigParams(): serial-number ""
[0.001] initConfigParams(): apid 0
[0.001] initConfigParams(): attach false
[0.001] initConfigParams(): shared false
[0.001] initConfigParams(): erase-all false
[0.001] initConfigParams(): memory-map ""
[0.001] initConfigParams(): ext-memory-loaders false
[0.001] initConfigParams(): extload "S25FL128S_ECLIPSECONTROL.stldr"
[0.001] initConfigParams(): stm32cubeprogrammer-path "C:\Program Files (x86)\Atollic\TrueSTUDIO for STM32 9.3.0\Servers\STM32CubeProgrammer\bin"
[0.001] initConfigParams(): temp-path ""
[0.001] initConfigParams(): preserve-temps false
[0.001] initConfigParams(): licenses false
[0.001] initConfigParams(): ignore-rest false
[0.001] initConfigParams(): version false
[0.001] initConfigParams(): help false
[0.001] initConfigParams(): Configuration flags end
[0.002] init(): STMicroelectronics ST-LINK GDB server. Version 5.1.0
Copyright (c) 2018, STMicroelectronics. All rights reserved.
[0.022] reset_hw_wtchpt_module(): Hardware watchpoint supported by the target
[0.027] Device_Initialise(): SWD frequency = 4000 kHz
[0.027] Device_Initialise(): ST-LINK Firmware version : V3J0S0
[0.027] Device_Initialise(): Device ID: 0x434
[0.028] Device_Initialise(): PC: 0x800deb8
[0.028] Device_GetStatus(): ST-LINK device status: HALT_MODE
[0.028] Device_Initialise(): ST-LINK detects target voltage = 3.34 V
[0.029] Device_Initialise(): ST-LINK device status: HALT_MODE
[0.029] initExternalMemory(): Found external memory initializer at 0x200037f5
[0.030] initExternalMemory(): Writing external memory initializer seg at 0x20000004 (0 byte)
[0.105] initExternalMemory(): Writing external memory initializer seg at 0x20004348 (0 byte)
[0.108] initExternalMemory(): MSP: 0x200045a0
[0.109] initExternalMemory(): LR: 0x20004410
[0.109] initExternalMemory(): Run external memory initializer
[0.109] Device_GetStatus(): ST-LINK device status: RUN_MODE
[0.109] initExternalMemory(): pc: 0x20004411; ret: 0
[0.210] initExternalMemory(): Restore after external memory initializer
[0.210] initExternalMemory(): Init() failed returned 0x20004411 @ 0x20004411
[0.213] initExternalMemory(): r0 0x20004411
[0.213] initExternalMemory(): r1 0x20004411
[0.213] initExternalMemory(): r2 0x20004411
[0.213] initExternalMemory(): r3 0x20004411
[0.213] initExternalMemory(): r4 0x20004411
[0.213] initExternalMemory(): r5 0x20004411
[0.213] initExternalMemory(): r6 0x20004411
[0.213] initExternalMemory(): r7 0x20004411
[0.213] initExternalMemory(): r8 0x20004411
[0.213] initExternalMemory(): r9 0x20004411
[0.213] initExternalMemory(): r10 0x20004411
[0.213] initExternalMemory(): r11 0x20004411
[0.213] initExternalMemory(): r12 0x20004411
[0.213] initExternalMemory(): sp 0x20004411
[0.213] initExternalMemory(): lr 0x20004411
[0.213] initExternalMemory(): pc 0x20004411
[0.213] initExternalMemory(): xpsr 0x20004411
[0.213] initExternalMemory(): PRIMASK 0x0
[0.213] initExternalMemory(): BASEPRI 0x0
[0.213] initExternalMemory(): FAULTMASK 0x0
[0.213] initExternalMemory(): CONTROL 0x20004411
[0.213] initExternalMemory(): MSP 0x20004411
[0.213] initExternalMemory(): PSP 0x20004411
[0.214] initExternalMemory(): Stack 0x20004411 <sp+0>: 0xbe
[0.215] initExternalMemory(): Stack 0x20004415 <sp+4>: 0x1000000
[0.215] initExternalMemory(): Stack 0x20004419 <sp+8>: 0x6040302
[0.216] initExternalMemory(): Stack 0x2000441d <sp+12>: 0x90807
[0.216] initExternalMemory(): Stack 0x20004421 <sp+16>: 0x1000000
[0.217] initExternalMemory(): Stack 0x20004425 <sp+20>: 0x69040302
[0.218] initExternalMemory(): Stack 0x20004429 <sp+24>: 0xd74696e
[0.218] initExternalMemory(): Stack 0x2000442d <sp+28>: 0xd00000a
[0.219] initExternalMemory(): Stack 0x20004431 <sp+32>: 0x6174530a
[0.220] initExternalMemory(): Stack 0x20004435 <sp+36>: 0x20737574
[0.221] initExternalMemory(): Stack 0x20004439 <sp+40>: 0xd00203a
[0.221] initExternalMemory(): Stack 0x2000443d <sp+44>: 0x6e6f63
[0.223] Device_Initialise(): Failed to initialize external memory!
[0.223] initServerContext():
Error in initializing ST-LINK device.
Reason: [0.223] initServerContext(): Unknown. Please check power and cabling to target.

When I do the programming via the commandline programmer tool I get the following :
C:\Program Files (x86)\Atollic\TrueSTUDIO for STM32 9.3.0\Servers\STM32CubeProgrammer\bin>STM32_Programmer_CLI.exe -c port=SWD -el d:\********\S25FL128S_ECLIPSECONTROL.stldr -d d:\********\EclipseControl.hex
STM32CubeProgrammer v1.3.0

ST-LINK SN : 003B00483137510A39383538
Voltage : 3.34V
SWD freq : 24000 KHz
Connect mode: Normal
Reset mode : Software reset
Device ID : 0x434
Device name : STM32F469xx/F467xx
Device type : MCU
Device CPU : Cortex-M4

Memory Programming ...
Opening and parsing file: d:\********\EclipseControl.hex
File : d:\********\EclipseControl.hex
Size : 329504 Bytes
Address : 0x08000000

Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 6]
Erasing memory corresponding to segment 1:
Erasing external memory sector 0
Download in Progress:
██████████████████████████████████████████████████ 100%

File download complete
Time elapsed during download operation: 00:00:08.002

And the external memory is programmed.

do you have any idea what I have done wrong?

Posts: 2
Joined: Mon Jun 10, 2019 2:07 pm

Re: QSPI loader problems

Postby Eyarom » Mon Jun 10, 2019 2:09 pm

I'm having the exact same problems.
did you have any luck with this issue?


Posts: 2
Joined: Thu Apr 04, 2019 9:25 am

Re: QSPI loader problems

Postby espirit » Tue Jun 11, 2019 5:13 am

No had no luck or help to try to fix this problem.
I made a bug report with ST, but they do not give support for this problem. They redirect you to this forum.
I am sorry but I can not help you with this problem. When searching for information about the errors, I saw that you have already created a post at Atollic forum. You can also try contacting their email support at support@atollic.com, even though that one is officially only for the old paid versions of TrueStudio. They might still be able to help you though, or at least dirrect someone to your respone-less thread.

I had no reply from my email, or as you can see on this forum post!!

Also made a post on the ST support forum but no reply only a question from a developer how I made the loader.

I currently use the st link utility as a external programming tool as described in the whitepaper http://info.atollic.com/hubfs/AppNotes/st_link_utility_as_ext-tool.pdf

Posts: 2
Joined: Mon Jun 10, 2019 2:07 pm

Re: QSPI loader problems

Postby Eyarom » Tue Jun 11, 2019 1:24 pm

This app note is really useful.
Thanks for your help.

Return to “TrueSTUDIO for STM32 discussions”

Who is online

Users browsing this forum: No registered users and 0 guests