Skip to main content
ALomb.1
Associate III
March 4, 2022
Solved

Failed to list external Loader

  • March 4, 2022
  • 20 replies
  • 5386 views

I try to add external loader to C:\ST\STM32CubeIDE_1.8.0\STM32CubeIDE\plugins\com.st.stm32cube.ide.mcu.externaltools.cubeprogrammer.win32_2.0.100.202110141430\tools\bin\ExternalLoader

In debug configuration, check ExternalLodaer and than press Scan.

The scan fail with message "Failed to list external Loader"

If I remove the external loader that I added the scan work fine.

The exetrnal loader that I try to add is MX25L6433F_GFX01M2_STM32G0.stldr from X-CUBE-DISPLAY pack.

STM32CubeIDE Version: 1.8.0

This topic has been closed for replies.
Best answer by Karim BEN BELGACEM

This has been fixed with the new X-CUBE-DISPLAY 2.1.0 release available from here : X-CUBE-DISPLAY - Display module software expansion for STM32Cube - STMicroelectronics

20 replies

Tesla DeLorean
Guru
March 4, 2022

Weird

Perhaps something specific about the form/structure of the ELF object.

Or a very long path/file name combo

Does STM32 Cube Programmer work in stand-alone mode?

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

STM32CubeProgrammer works in stand-alone mode.

The versions are:

  • IDE: STM32CubeProgrammer v2.9.0-RC01
  • Stand Alone: STM32CubeProgrammer v2.9.0
FMarc.6
Visitor II
March 8, 2022

Hi,

I have the same issue with same versions of Cube Ide and Cube Programmer.

ALomb.1
ALomb.1Author
Associate III
March 8, 2022

I just tried with latest STM32CubeIde version 1.9.0. The plugin STM32CubeProgrammer is update to v2.10.0.

Same problem!!

mattias norlander
ST Employee
March 8, 2022

The error should not be in CubeProg. Must be in CubeIDE code.

The IDE tries to populate a list of loaders showing more than the file name, like: memory start address, length, ...

In order to do so the IDE tries to read the elf-file... If the loader (stldr-file) is built with some specifical way possibly stripping som headers I guess that the tool could generate such error.

We should not "fail the scan", we should simply not populate all fields... Just my first guess.

Could you share the elf-file and preferably also the project and code so that we can see how it is built?

You find my e-mail in my profile.

Tesla DeLorean
Guru
March 8, 2022

Yes, once upon a time there were some internal name vs .stldr naming issues.

It probably also looks for external bind points for Init, StorageInfo, Erase, Write, etc

Perhaps also look at the dash vs underscore naming convention used for most of the ST furnished loaders.

ELF files between IAR, Keil and GNU can all be subtlety different. Plus there's frequently a huge amount of clutter in the files.

Some of the Keil built ones have expectations that R9 points to the data section, related to the address independence settings.

Also Keil has a file name length issue with their .FLM loaders.

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
TSuik.2
Associate II
March 8, 2022

I have exactly the same problem, but on Linux.

I copied MX25L6433F_GFX01M2_STM32G0.stldr to the directory where other ExternalLoaders are. If I click "Scan" I get the same error message, "Failed to list external loaders".

If I delete the file from that directly, scan works.

I can also just keep MX25L6433F_GFX01M2_STM32G0.stldr in original directory, and copypaste path to that file to the "External Loader" field in Debugger settings. IDE will accept that, and will pass the filename to gdbserver while flashing. However the flashing does not work, it always fails with "Load failed".

I'm slightly ****** about this. I bought a STMG071RB Nucleo board and GFX01M2 module, genuine ST modules. Then downloaded STM32CubeIDE and X-CUBE-DISPLAY. I'm able to build the example project with no errors, but can't program the board because this External Loader issue.

I have not yet written a single line of my own code, everything is straight from ST and not working.

Other projects (without extloaders) build and program fine.

TSuik.2
Associate II
March 8, 2022

Update to my last message: Just downloaded STM32CubeProgrammer, can confirm that the same ExternalLoader works right away and I finally was able to program my board. :)

btw @mattias norlander​ , STM32CubeIDE External Loader list does not have any details you mention (memory start address, length).. Just file names in a huge dropdown menu which can't be searched. STM32CubeProgrammer has much nicer GUI here.

Tesla DeLorean
Guru
March 8, 2022

Try this

Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
TSuik.2
Associate II
March 9, 2022

Thanks!

This version can be added to IDE. However it still can't program the board:

Failed to start GDB server

Error in initializing ST-LINK device.

Reason: (0) Unknown. Please check power and cabling to target.

Flashing some other project without external loader works fine.

mattias norlander
ST Employee
March 14, 2022

I had some internal discussion and this problem had already been internally reported as a bug.

(ST Internal ticket reference 119761)

I will see if we can provide a fixed stldr-file in this thread before next X-CUBE-DISPLAY release.

@TSuik.2​, help me prioritize the work for the responsible team... Is it only this stldr-file which you currently need? MX25L6433F_GFX01M2_STM32G0.stldr.

Let us know which files are the most important for quick fix and I hope we can prioritize...

TSuik.2
Associate II
March 14, 2022

@mattias norlander​ Yes I only need MX25L6433F_GFX01M2_STM32G0.stldr.

mattias norlander
ST Employee
March 15, 2022

Here is stldr-file which should be fixed. Please give it a try and provide some feedback. Hopefully we can then mark this thread as answered given that the rest of the files are provided in the upcoming release.

KevinA
Senior
March 15, 2022

@TSuil2 I have the NUCLEO-STM32G071RB + X-NUCLEO-GFX01M1 after fighting the issue I found:

D:\STM32Cube\Repository\Packs\STMicroelectronics\X-CUBE-DISPLAY\2.0.1\Projects\NUCLEO-G071RB\Applications\GFX01M1_HelloWorld\Binary\GFX01M1_HelloWorld.bat

I had to edit the paths to where I installed STM32CubeProgrammer and then I got the extfirmware loaded. Read up on the process to generate external firmware loader, informative. FYI: TouchGFX (4.18.1) generates external loaders, they fail, but that is another thread.