‎2023-07-11 04:43 AM - edited ‎2023-07-12 09:22 PM
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.
Solved! Go to Solution.
‎2023-07-11 07:31 AM
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.
‎2023-07-11 07:31 AM
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.
‎2023-07-11 09:14 AM - edited ‎2023-07-11 09:17 AM
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
‎2023-07-11 05:34 PM
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.
‎2023-07-11 05:37 PM
Hi,
Please help.
‎2023-07-11 05:56 PM
I attached the pins config file.
‎2023-07-11 06:03 PM
How to edit the post title ?
‎2023-07-11 09:02 PM
There's a (V) icon in the upper right corner of pane, and then a drop-down menu
‎2023-07-11 09:25 PM
Bounding condition here is broken
addr = 0x00FF0000; // 2nd sector; end_addr = 0x00010000;
‎2023-07-12 09:24 PM
I have fixed it. I have second board, after erase, program, read verfiy for 50 times. Then the problem occur. I only use the last sector of the flash.