Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

Nor Flash Forum Discussions

Shraddha
Level 3
Level 3
First solution authored 50 sign-ins 10 questions asked

1) how to program multiple memory locations 0x0000 0000 --->0x0000 0001 --->0x0000 0002..... in one transaction in SDR QSPI  .4S-4S-4S

2)then read in continuous manner with the help of mode with multiple  memory locations QSPI SDR 4S-4S-4S 

0 Likes
1 Solution
BushraH_91
Moderator
Moderator
Moderator
250 solutions authored First comment on blog 500 replies posted

Hello,

Thank you for contacting Infineon Technology. Please see below

  1. Firstly I assume you have already enabled QPI mode (4-4-4), which Configuration Register2 QPI-IT bit is configured as 1. To program data into flash in 4S-4S-4S mode, send Write Enable command (0x06), then send command 0x02 (or 0x12) following start address and input data. All input data (including command code, address and data) should be sent on four IO pins. If using 0x02 program command, if Configuration Register2 bit7 (ADRBYT) is 0, 3-byte address is required; if ADTBYT=1, 4-byte address is required. If using 0x12 program command, 4-byte address is always required. The address is the start address where the data started to be programmed. And the next input data is automatically programmed into the next sequential address. No need to input the next addresses. One transaction can program any number bytes of data between one byte up to 256 bytes if Configuration Register3 bit4 (PGMBUF) is 0 (or up to 512 bytes data if PGMBUF=1). The addresses of the multiple memory locations to be programmed in one transaction must be consecutive. For example, programming data into 0x0000 0000 to 0x0000 00FF can be done with one transaction (start address following program command is 0x0000 0000). But programming data into 0x0000 0000 to 0x0000 000F and 0x0000 0020 to 0x0000 002F needs two transactions – one transaction start address is 0x0000 0000, the other transaction start address is 0x0000 0020.
  2. Similar as program operation, to read in 4S-4S-4S mode, Configuration Register2 QPI-IT bit needs to be 1 and all input data (command code and address) need to be sent on four IO pins. 4-4-4 read commands are 0xEB, 0x0C and 0xEC (please refer to datasheet for the differences of these commands). Sending read command code following start address, then the consecutive data will be output sequentially starting from the start address, until CS# signal is pulled high. The read operation can read the entire memory space with one transaction if keeping CS# low. Same as programming operation, if the read addresses are not consecutive, multiple transactions are needed.

Thank you

Regards,

Bushra

View solution in original post

0 Likes
1 Reply
BushraH_91
Moderator
Moderator
Moderator
250 solutions authored First comment on blog 500 replies posted

Hello,

Thank you for contacting Infineon Technology. Please see below

  1. Firstly I assume you have already enabled QPI mode (4-4-4), which Configuration Register2 QPI-IT bit is configured as 1. To program data into flash in 4S-4S-4S mode, send Write Enable command (0x06), then send command 0x02 (or 0x12) following start address and input data. All input data (including command code, address and data) should be sent on four IO pins. If using 0x02 program command, if Configuration Register2 bit7 (ADRBYT) is 0, 3-byte address is required; if ADTBYT=1, 4-byte address is required. If using 0x12 program command, 4-byte address is always required. The address is the start address where the data started to be programmed. And the next input data is automatically programmed into the next sequential address. No need to input the next addresses. One transaction can program any number bytes of data between one byte up to 256 bytes if Configuration Register3 bit4 (PGMBUF) is 0 (or up to 512 bytes data if PGMBUF=1). The addresses of the multiple memory locations to be programmed in one transaction must be consecutive. For example, programming data into 0x0000 0000 to 0x0000 00FF can be done with one transaction (start address following program command is 0x0000 0000). But programming data into 0x0000 0000 to 0x0000 000F and 0x0000 0020 to 0x0000 002F needs two transactions – one transaction start address is 0x0000 0000, the other transaction start address is 0x0000 0020.
  2. Similar as program operation, to read in 4S-4S-4S mode, Configuration Register2 QPI-IT bit needs to be 1 and all input data (command code and address) need to be sent on four IO pins. 4-4-4 read commands are 0xEB, 0x0C and 0xEC (please refer to datasheet for the differences of these commands). Sending read command code following start address, then the consecutive data will be output sequentially starting from the start address, until CS# signal is pulled high. The read operation can read the entire memory space with one transaction if keeping CS# low. Same as programming operation, if the read addresses are not consecutive, multiple transactions are needed.

Thank you

Regards,

Bushra

0 Likes