Issue with Programming NOR Flash MT25QL512ABB1EW9 Using STM32H735IGT6
Hello ST Community,
I’m currently working on a routed circuit where I’m interfacing an STM32H735IGT6 microcontroller with an external NOR flash memory (MT25QL512ABB1EW9-0SIT). While most operations seem to work as expected, I’m encountering an issue with programming a page, and I’d appreciate your insights.
System Details:
- MCU: STM32H735IGT6
- External NOR Flash: MT25QL512ABB1EW9-0SIT
- Driver Files: Using MT25QL512ABB.c for flash operations.
- Setup and Initial Success:
- Successfully read the product ID and the Serial Flash Discoverable Parameters (SFDP).
- Entered Quad Mode successfully.
- Performed Write Enable and Erase Operations without issues (verified via the flag status register and status register).
Problem Description:
When trying to program a page:
Programming Command Execution:
- After sending the Program Page command, I read the flag status register and find the error bit is set (Flag Status Register = 0x90).
- This indicates that the program operation has failed.
Memory Mapped Read:
- After switching to memory-mapped mode to read the NOR flash content, I find that all locations are filled with 0xCC.
Debugging Steps Taken:
Erase Operation:
- I ensured the sector was erased before programming, and this operation was successful.
Write Enable:
- Confirmed that the write enable command was successfully issued before programming.
Address Alignment:
- Verified that the write address is aligned to the page size (256 bytes).
Flag Status Register Inspection:
- Observed that after issuing the program page command, the error bit is set in the flag status register (Flag Status Register = 0x90).
Attachments:
I’m attaching:
- A screenshot showing the result in memory-mapped mode (all 0xCC values).
- My main.c file.
- The driver file (MT25QL512ABB.c) for the NOR flash.
- A screenshot showing the CubeMX configuration
Thank you in advance for your support and suggestions!

