Skip to main content
Associate II
July 11, 2023
Solved

Problem of program using qspi mt25qL128 with octospi STM32H735VGT

  • July 11, 2023
  • 5 replies
  • 8674 views

Hi All,

I have a custom board with STM32735VGT(this mcu is with 1=quad SPI but using the register octpspi). I am using the micro mt25qL128 NOR flash.

I am using the 1-1-1(1 bit instruction, 1 but data) for read and configure the registers, erase

I am using the 1-4-4(1 bit instruction, 4 bits address and data) for read and program.

All read registers, configure registers and erase is working fine.

Using 1-4-4 to read the flash is working fine too.

But when using program flash, the status is ok. I can see WIP and ready bit is correctly changed. But the flag status register read back is 144=0x90. Bit7 means ready. But bit4=1 shows it has failure and protect error or crc error.

Please help.

 

 

 

 

This topic has been closed for replies.
Best answer by KDJEM.1

Hello @PUN CHEE HUEY and welcome to the community :),

Can you share with me your code so I can help you.

Which mode are you using?

Kaouthar

5 replies

KDJEM.1
KDJEM.1Best answer
Technical Moderator
July 11, 2023

Hello @PUN CHEE HUEY and welcome to the community :),

Can you share with me your code so I can help you.

Which mode are you using?

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 II
July 12, 2023

Attached 3 files is the code. The SDK is STM32Cube_FW_H7_V1.11.0. I am using extended SPI mode. mt25ql128_ReadData() and mt25ql128_ProgramData() is using 1-4-4. All other functions is using 1-1-1.

Associate II
July 12, 2023

I attached the pins config file.

Tesla DeLorean
Guru
July 11, 2023

Please edit post/title to reflect STM32H735VGT

For Micron parts show actual value of Status Register, I've encountered a lot of cases where people accidentally set the BPx (Block Protect) bits, perhaps as a side-effect of Macronix or Winbond targeted code trying to set "QE" bits to enable Quad Pins (not Quad Mode).

If the upper or lower, or other blocks, are protected the Erase / Write operations can fail immediately. On multi-die parts you should also be using the alternate status register as the WIP doesn't work in the manner you need/expect.

Also, mask the address bits, the devices are ZERO based, they don't understand the 0x90000000 address the STM32 decodes at. The MT25QL128 will also not recognize 32-bit (4-byte) addressing modes/commands.

Show CODE.. present enough detail for others to understand and replicate

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

How to edit the post title ?

Tesla DeLorean
Guru
July 12, 2023

There's a (V) icon in the upper right corner of pane, and then a drop-down menu

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

I am using external power supply to provide 3.3v (it  was 3.5 or more) to the custom board . will it damage the flash ?

KDJEM.1
Technical Moderator
July 14, 2023

Hello @PUN CHEE HUEY ,

Could you please respect the power conditions for a safe function else the MCU may be damaged. 

  • The VDD = 1.62 to 3.6 V: external power supply for I/Os, provided externally through VDD pins.
  • VDDX - VSS max =  4.0 V

For that I advise you to check all power condition in the product datasheet.

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 II
July 14, 2023

How to re-open the discussion as the solution is still not known ?