10-07-2011 01:36 PM
I have an SP605 board which includes a Winbond W25Q64 SPI Flash.
I have used the BSB to create a design using the axi_spi core (the default) and written software to read and write to the flash which works fine.
I created a new design using BSB and changed out the axi_spi core for the axi_quad_spi core.
I tried to use the same software (with newly generated hardware platform and BSP) to read and write to the flash and it no longer works.
If I switch back to the axi_spi design it works fine.
In my axi_quad_spi core based design, I make the following calls in my code in this order:
XSpi_Initialize : SUCCESS
XSpi_Start : SUCCESS
XSpi_IntrGlobalDisable : SUCCESS
XIsf_Initialize : FAILED
I found documenation that says the XSpi driver supports the axi_quad_spi core, but I don't know for sure about the XIsf library.
Is there something special I need to do in my software when working with the quad core?
11-01-2011 04:39 PM
Did you ever find an answer to this question? My project is working with the axi_spi IP but I want to upgrade to the axi_quad_spi for improved performance.
11-02-2011 06:35 AM - edited 11-02-2011 06:36 AM
No I have not. I am still using axi_spi.
I increased the clock frequency and reduced the divider to 2 which greatly improved performance.
I could'nt spend any more time with the axi_quad_spi so I have settled for the axi_spi for now.
11-02-2011 08:29 PM
axi_quad_spi should work in a similar way to axi_spi, for common commands. The major difference is the support for dual/quad commands. _Initialize() reads the flash ID using READ_ID command (0x9f), which is a normal SPI command. Can you check the flash_family value in BSP settings dialog/mss. It should be 4 for Winbond
05-16-2013 01:23 PM
I am new to MicroBlaze and am trying to determine the best way to perform a set of read and write operations for a custom board. My custom board contains 2 FRAM chips that connect to my MicroBlaze through the AXI_SPI IP (v1.02a) in XPS 14.5.
My hardware configuration currently states that the Peripherals Test passes, but I want to be able to write and read data to certain offsets within the FRAM chips to test the board routing and connections.
Does you know of an easy way to write to and read from a memory chip like this through the use of Xil_Out and Xil_In commands? Or do these operations have to be done through setting the registers mentioned in DS742 (i.e. SPICR, SPISSR, SPIDTR, etc.)? What did your SDK Software project look like for you to communicate with you SPI Device?