cancel
Showing results for 
Search instead for 
Did you mean: 

Issue with QSPI External Flash Loader Verification Functionality for STM32H745

APate.18
Associate III

I am writing to address a concern regarding the QSPI External Flash Loader that I have developed, which I have attached below for your reference.

The functionality of reading, writing, and erasing operations with the ".stldr" file in conjunction with other project files is working seamlessly. However, I am encountering an issue when attempting to verify the data during the loading/debugging process.

 

I would greatly appreciate your assistance in resolving this matter. If there are any insights or suggestions you could provide to help rectify this issue, it would be immensely helpful.

Thank you for your attention to this matter. I look forward to your prompt response.

 

17 REPLIES 17
KDJEM.1
ST Employee

Hello @APate.18 ,

Which memory device are you using?

Could you please refer to How to implement and use your own external flash loader: An example using STM32U5A9J-DK and check Dev_Inf.c and Loader_Src.c files.  

This FAQ can help to Verify your External Loader using the STM32CubeProgrammer.

Also, I recommend you to take a look to How to create an external QSPI loader MOOC may help you.

I hope this help you!

Kaouthar

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.

What exactly is happening with the Verify?

It's supposed to allow for a  quick read-back check for data already in RAM for the purposes of Write to ensure the data was in fact written correctly, and if not, where it failed.

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

I am Using "Winboard 25Q512JVEQ" foe external memory . 

Please Find Attached Snap shot while i am verify.

1) This Image is related to Verification start process

VerificationStart.png

2) After Verification I am getting error message 

VerificationFaildmessage.png

VerificationFaild02.png

 

4) Verifications failed console message 

Verificatiofailed03.png

 

Hello @APate.18 ,

Could you please verify the device size and the programing page size settings.

Also I advise you to check the Debug configurations as mentioned in UM2609 section 3.1.4.1 Debug using the ST-LINK GDB server section. 

I hope this help you!

Kaouthar

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.

urbito
Associate III

You may check manually through the CubeProgrammer what is in the External Flash.

 

After writting to the external QSPI but failing at validation, you can check through the Cube Programmer. You can check if there is a missaligment or corruption.

I say this because sometimes there can be a missaligment while writting because an unintended offset, for example.

 

Hope this helps.

 

Greetings

A data shift can be seen if the address width or dummy cycles are in disagreement. Repetitive nibbles would suggest the command is not supported in the current mode.

An illustration of what was written and what's read back would be instructive.

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

Hey @KDJEM.1 

I am using following size confing for device.

#define MEMORY_FLASH_SIZE 0x4000000 /* 64Mbit =>8Mbyte */
#define MEMORY_BLOCK_SIZE 0x10000 /* 64KBytes */
#define MEMORY_SECTOR_SIZE 0x10000 /* 4kBytes *///0x1000
#define MEMORY_PAGE_SIZE 0x100 /* 256 bytes */
#define TOTAL_PAGES 262144 /* Total number of pages */

 

Hey @urbito 

Can you please explain how to check misalingment using cube programmer 

Hey @KDJEM.1 

Is there any file(.stldr) is provided form ST for external loader of STM32H745 related.