QSPI loader with TrueStudio
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 working 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
ST-LINK FW : V3J1M1B1S1
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.002When using the commandline programmer the external memory will be erased and programmed.