Skip to main content
Associate
July 25, 2025
Solved

STM32H743 Custom External Loader fails with v2.18 and up

  • July 25, 2025
  • 4 replies
  • 699 views

Hello,

I had generated an External QSPI loader for W25Q128JV and STM32H743 some 2 years ago.


I originally used it with STlink Utility Programmer and then switched to STM32CubeProgrammer.  All good and working as expected with CubeProgrammer v2.17.

I stopped updating the CubeProgrammer as every version after that including the latest v2.20 no longer functional with my custom .stldr file refusing to mass erase the device.

 

Does anyone know what changed in CubeProgrammer support for External Loaders starting with v2.18 ?

Thank you,

Yuri

Best answer by Aziz BRIGUI

Hello @YuraM,

Sorry for the late reply, totally missed your comment,

There are some additional checks on external loaders starting from STM32CubeProgrammer v2.18. Could you please make sure that the loader name in StorageInfo in Dev_Inf.c is the exact same name of the .stldr file?

Let me know if this resolved the issue.

Aziz

4 replies

Tesla DeLorean
Guru
July 25, 2025

https://community.st.com/t5/stm32cubeprogrammer-mcus/cubeprogrammer-not-connecting-qspi/td-p/823984

I'm not sure anything specific changed, but will ask @STTwo-32 to check on changes and primary contact details.

I know the newer versions stopped working on Win7, which was unhelpful as older equipment is often retired into test and production donkey work.

Watch out for them using Memory Mapped mode for NOR_FLASH, and make sure your Init, Write and Erase functions clear/abort out of that seamlessly

Watch also for Winbond changing ID from EF40 to EF70 for some of the newer parts. I try to check for Winbond parts so I don't used magic sequences and Status Register settings that will break other manufacturers parts.

https://github.com/cturvey/stm32extldr/tree/main/h7_w25q128

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
Aziz BRIGUI
Technical Moderator
August 26, 2025

Hello @YuraM,

What is the error message you encounter when trying to do the mass erase? Could you share the logs or a screenshot.

Thanks,

Aziz

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
YuraMAuthor
Associate
August 26, 2025

@Aziz BRIGUI 
The error popup appears when I attempt to erase an entire QSPI Flash chip.  It is particularly odd as I do verify that the first sector is erased with no error before using the entire chip option.

YuraM_0-1756246538442.png

I prefer to erase the QSPI flash manually before programming after single sector verification first.  This worked for me for couple of years until version 2.18.  That's when "no external loader" popup first appeared.  Reverting to v2.17 allowed me to use my External Loader full chip erase with no issues. 

Curiously, if I deselect "skip erase before programming" and Start Programming, mass erase seems to succeed as programming and verification pass.  The reason, I prefer to erase first is that the tool does not provide any progress feedback while erasing as opposed to programming and verification having a progress bar.

Single sector erase provides an immediate response verification of the functionality before I use full erase that is taking about a minute or so if everything works as expected.

 

Aziz BRIGUI
Aziz BRIGUIBest answer
Technical Moderator
September 19, 2025

Hello @YuraM,

Sorry for the late reply, totally missed your comment,

There are some additional checks on external loaders starting from STM32CubeProgrammer v2.18. Could you please make sure that the loader name in StorageInfo in Dev_Inf.c is the exact same name of the .stldr file?

Let me know if this resolved the issue.

Aziz

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.
Tesla DeLorean
Guru
September 23, 2025

Can you point at documentation of the gating requirements, or changes to the API. Thanks.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
YuraMAuthor
Associate
September 22, 2025

Hello, Aziz.

Wow !   This is it.  I renamed the file according to the Dev_Info.c name.

All is back to normal for me now.  I can use the latest version of CubeProgrammer.

Thank you very much !!

Yuri

Aziz BRIGUI
Technical Moderator
September 23, 2025

With pleasure Yuri ! 

FYI: We're internally tracking a change request to let the user know the root cause with improved messaging (Internal tracking number: 206175).

Aziz

 

 

In order to give better visibility on the answered topics, please click on 'Accept as Solution' on the reply which solved your issue or answered your question.