cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743 Custom External Loader fails with v2.18 and up

YuraM
Associate II

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

1 ACCEPTED SOLUTION

Accepted Solutions

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.

View solution in original post

7 REPLIES 7

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 Venmo
Up vote any posts that you find helpful, it shows what's working..
Aziz BRIGUI
ST Employee

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.
YuraM
Associate II

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

 

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.
YuraM
Associate II

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

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.

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

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..