Skip to main content
Associate III
January 23, 2024
Solved

STM32H750XBHX W25Q64 bad test

  • January 23, 2024
  • 2 replies
  • 2812 views

Hello!

I have an ART_PI board with STM32H750XBHX MCU and W25Q64 FLASH IC on it.
I want to make my own loader, but it doesn't work as it should.

Running until the memcmp cycle, I look at the memory map. But the content is not good. There are values 00000000, 11111111, 22222222 instead of 00, 01, 02. Thus, memory comparison is not good.
I can't find the error.

I am attaching the files and the picture showing the memory map.

Thanks for the help!

Best answer by KDJEM.1

Hello @Thomas8607 ,

What frequency of QUADSPI did you use?

 

Please try to decrease the QUADSPI frequency.

KDJEM1_2-1706184034617.png

Thank you.

Kaouthar 

 

2 replies

KDJEM.1
KDJEM.1Best answer
Technical Moderator
January 25, 2024

Hello @Thomas8607 ,

What frequency of QUADSPI did you use?

 

Please try to decrease the QUADSPI frequency.

KDJEM1_2-1706184034617.png

Thank 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.
Associate III
January 25, 2024

Hello

 

Yes, it was the solution. I configurated the clock to lower frequency. 

Andreas Bolsch
Lead III
January 25, 2024

I'd suggest you try erase/program/read cycle first with 1-line mode throughout until you've verified it works as expected, then switch to data on 4 lines for memory mapped read only, and only finally for write, too.

Otherwise it's hard to tell whether the problem is the write, read or maybe both. In particular, without knowing the actual memory contents, it's quite difficult to know whether the read works at all. Hence it might even be useful to insert a pre-programmed flash device (with known contents!) first.

Associate III
January 25, 2024

Hi.

Currently, everything works if I do a complete chip erase (external mass erase) in cubeprogrammer before the operation. If this happens, I can read and write in cubeprogrammer and verify is also good. I can also use the flash ic for touchgfx in the cubeide program (here it works the download and verify with debugger) .

If I don't do a chip erase, verify is faulty in both programs.

I have a question, the sector erase in the loader_src file is exactly which operation for the flash ic?

Sector erase,

32kb sector erase

or 64kb sector erase?

 

Thank you! 

Tesla DeLorean
Guru
January 25, 2024

Depends on the command byte, at the respective aligned addresses

0x20 for 4KB

0x52 for 32KB

0xD8 for 64KB

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