cancel
Showing results for 
Search instead for 
Did you mean: 

Changing octospi to quadspi configuration on STM32H723

Aries16
Associate II

Hello,

I am using QuadSPI in STM32H723ZGT6 which has OCTOSPI and I am changing octospi to quadspi in pin configuration and writing code also I had written same code for STM32H750VBT6 which only supports QUADSPI and I am using W25Q128JVSIQ Flash for this in H750 the same code is working but in H723 it is not working can anyone explain me why you can check my main.c file for both of the controllers I am attaching it below.

5 REPLIES 5
KDJEM.1
ST Employee

Hello @Aries16 ;

 

The datasheet of the W25Q128JVSIQ is 128MBits = 16Mbytes. We see the bit 24 is set  meaning 2^24 =16 MBytes. In STM32CubeMx you need to set the device size field to 24.

Also, it is recommended to enable Sample shifting (SSHT) in STR mode and disabled in DTR mode.
Delay hold quarter cycle (DHQC) enabled in DTR mode and disabled in STR mode.

 

Why do you use different sCommand.Instruction =0x94; //0x9F//?

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.

Aries16
Associate II

Hii I made all the changes you told but sill it is not working. by the way I am using 0x9F command to read the manufacturing id of W25Q128JV. can you tell me what I can do now to solve this issue

KDJEM.1
ST Employee

Hello @Aries16;

 

To read manufacturer device ID Quad I/O you need to use 0x94 command.

KDJEM1_0-1747057175072.png

 

Could you please try with 94h command?

In addition, I recommend to decrease the OCTOSPI frequency.

 

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.

Hii I have also used 0x94 and I have tried to run octospi at different freq like at 64MHZ, 100mhz, 200mhz but still it is not working

KDJEM.1
ST Employee

Hello @Aries16;

 

Are you reading the manufacturer device ID with less than two cycles before the data?

Please look at the errata sheet

KDJEM1_1-1747059293926.png

I think the "sCommand.InstructionSize" is missing in your code.

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.