We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎12-11-2007

Winbond SPIx4 Flash access on SP601.

Hi, all,


I am working with a Xilinx SP601 evaluation board, trying to access the Flash(Winbond SPIx4 W25Q64) via the Xps_SPI IP in MicroBlaze system.


Up to now I can read the device ID and seems the read data also works. 


The problem is when I tried write data to the Flash, it dose not work at all.


Following is the op parameters in tx fifo in sequence:


Read ID: 0x90(instruction), 0x0, 0x0, 0x0(address 0), 0x0, 0x0(2 dummy data for read out ID). 

Result: 0xEF, 0x16(looks ok).


Write Enable: 0x06(write enable). 


then Write Data: 0x02(PP), 0x20, 0x0, 0x0(address 0x200000), 0x1,...(10 data to be written to the flash)


After the write operation done, I tried to read out data from the above address(tx data: 0x03(RD), 0x20, 0x0, 0x0(read address 0x200000), 0x0...(10 dummy data)).


The read out data show all zeros!


After the Write Enable Instruction sent, I checked out the status registers, both read zeros!


As I checked the write_protect pin is all the time '1'. 


Could someone help me out?


The last question: the write enable(0x06) can not be combined with the PP(0x02) transfer(without cs low-high transition)?


thanks a lot!









0 Kudos