Skip to main content
Graduate
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!

    This topic has been closed for replies.
    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.1Answer
    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 

     

    Graduate
    January 25, 2024

    Hello

     

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

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

    Graduate
    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! 

    Graduate II
    January 25, 2024

    Depends on the command byte, at the respective aligned addresses

    0x20 for 4KB

    0x52 for 32KB

    0xD8 for 64KB