Hello ST Forum,
I have a problem related to the QSPI with STM32F7xx, details as the following:
I have a STM32F746G-DISCO board, I run on it he code “QSPI_ReadWrite_IT” found in “STM32Cube_FW_F7_V1.4.0” the results was so great and I was very happy about it.
I got the STM32F746 (144 pin package), I was not able to buy the QSPI memory “N25Q128A”found on the DISCO kit so I bought “S25FL127SABMFI101” from the datasheet it looks the same, same pin order and same memory size and same instructions (but it seems that I’m mistaken)
I run the same example “QSPI_ReadWrite_IT” on my own board (after modifying the pins in main.h) it didn’t work, the “aRxBuffer” is filled with “0X99”
I tried to reduce the clk to the memory by increasing the divider value from to 2 to 20 I found that the few bytes at the end of “aRxBuffer” are filled with 0XDD, I increased more the divider to 255 I found that only the first few bytes of the “aRxBuffer” are filled with 0x99 while the rest is filled with 0xDD. (in all cases I got wrong data)
My board has LCD (RGB565), resistive touch controller, RS485 driver, I2C temperature sensor, DC-DC to step down from 12V to 5V, LDO to step from 5V to 3.3V and DC-DC to step up from 5V to 26V for the LCD back light, all other chips are working fine on the board, the display also is showing good performance only the QSPI chip is not working.
I did my entire project based on CubeMX and HAL libraries and my QSPI pin selection is as the following:
/**QUADSPI GPIO Configuration
PF6 ------> QUADSPI_BK1_IO3
PF7 ------> QUADSPI_BK1_IO2
PF8 ------> QUADSPI_BK1_IO0
PF9 ------> QUADSPI_BK1_IO1
PB2 ------> QUADSPI_CLK
PB6 ------> QUADSPI_BK1_NCS
I also put a 10K ohm resistor between the NCS pin and the 3.3V.
I need to know what is my mistake? Wrong configuration? Bad timing? Wrong selection of the Chip?
Any help is highly appreciated.