cancel
Showing results for 
Search instead for 
Did you mean: 

I am working on stm32h750 interfacing with QSPI but after some days not boot my Device

MSury.1
Associate II

I am working on stm32h750 interfacing with QSPI but my problem is when i saved the firmware file in QSPI external flash two days before the code is working fine and file also saved in QSPI but today i run same code there is problem to boot the device So i request to suggest me.

1) how to check my QSPI working fine or not .

2)how to find tutorial QSPI to understand very well i am new in QSPI

4 REPLIES 4

One could check the integrity of the firmware image with a CRC check.

Generally speaking one would validate the design and software by writing test patterns to the memory and demonstrate read, write and erase functionality.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
i also check CRC before downloading .BIN file in ST-LINK utility my code is download successfully but problem is device is not BOOT .Two days before my device working very well. my Seiners told me that may be your external flash is damaged so that is why i am ask you how to check my external flash memory IC 32MB size
MSury.1
Associate II

i also check CRC before downloading .BIN file in ST-LINK utility my code is download successfully but problem is device is not BOOT .Two days before my device working very well. my Seiners told me that may be your external flash is damaged so that is why i am ask you how to check my external flash memory IC 32MB size

The code in the Internal Flash needs to check the QSPI content at startup, and output a diagnostic message if it fails.

Done correctly you should be able to determine if it downloaded correctly the first time, or at what point it got corrupted, and the nature of the corruption. ie byte level errors, section erased or overwritten.

How would you normally check your work?

Typically you'd test your BSP code and implementation thoroughly, so there aren't any system level issues.

Have you written code to Erase or Write the part? Have you tested those? Have you written complicated test patterns to the memory to ensure you don't have any times issues, or pattern sensitivity? Fill the entire memory, changes the patterns, repeat several times.

Try to determine if you have gross errors, or more subtle ones.

Have your Hard Fault Handler output actionable data so you can diagnose failures if you end up there. You aren't going to learn anything from a while(1), and the debugger may interfere with normal operation.

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