2025-07-25 7:44 AM
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
Solved! Go to Solution.
2025-09-19 9:48 AM
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
2025-07-25 1:34 PM
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
2025-08-26 6:11 AM
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
2025-08-26 3:37 PM - edited 2025-08-28 5:55 AM
@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.
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.
2025-09-19 9:48 AM
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
2025-09-22 10:55 AM
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
2025-09-23 6:49 AM
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
2025-09-23 7:35 AM
Can you point at documentation of the gating requirements, or changes to the API. Thanks.