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
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.