UPGRADE YOUR BROWSER

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!

cancel
Showing results for 
Search instead for 
Did you mean: 
Explorer
Explorer
2,394 Views
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