Jump to content

Search the Community

Showing results for tags 'qspi flash'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • News
    • New Users Introduction
    • Announcements
  • Digilent Technical Forums
    • FPGA
    • Test and Measurement
    • Measurement Computing (MCC)
    • Add-on Boards
    • Digilent Microcontroller Boards
    • Non-Digilent Microcontrollers
    • LabVIEW
    • FRC
    • Other
  • General Discussion
    • Project Vault
    • Learn
    • Suggestions & Feedback
    • Buy, Sell, Trade
    • Sales Questions
    • Off Topic
    • Educators
    • Technical Based Off-Topic Discussions
    • Archived

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start





Website URL







Found 5 results

  1. Hello everyone, I'm currently facing some strange behavior of an SPI interface on my Eclypse Z7: Everything works perfectly fine as long as the board is programmed through QSPI for debugging - the self-test is good, with no errors, and I can use the device as expected. However, once I try to program it via JTAG (or from SD card), the SPI self-test fails with error #14, indicating an unexpected register value in the configuration register: #define XST_REGISTER_ERROR 14L /*!< A register did not contain the expected value */ Also, when trying to send some data after the failed test, the code gets stuck in the sending / receiving process. We're using SPI #1 as an output to control an external DAC through EMIO. The signal is routed through the PL to one of the PMOD connectors, as shown in the attached screenshot. (SPI #0 is also used as an input to read from an external ADC but works without any problems in both cases, even after programming the device via JTAG. ) So only SPI #1 is affected by the problem. Both SPI devices are initialized by the same code (shown below). The only difference is their usage in the PL. int setupSPI(XSpiPs *spiPtr, u16 deviceID, u8 SlaveSelectAddr, bool clkPhaseOne, u8 clkPrescaler) { xil_printf("Setting up SPI instance...\r\n"); int Status; XSpiPs_Config *Config; /* * Initialize the SPI driver so that it's ready to use * Look up the configuration in the config table, then initialize it. */ Config = XSpiPs_LookupConfig(deviceID); if (NULL == Config) { xil_printf("ERROR: SPI setup failed on configuration lookup.\r\n"); return XST_FAILURE; } Status = XSpiPs_CfgInitialize(spiPtr, Config, Config->BaseAddress); if (Status != XST_SUCCESS) { xil_printf("ERROR: SPI setup failed during config initialization.\r\n"); return XST_FAILURE; } /* * Perform a self-test. */ sleep(1); Status = XSpiPs_SelfTest(spiPtr); if (Status != XST_SUCCESS) { xil_printf("WARNING: SPI self-test error #%d\r\n", Status); //return XST_FAILURE; } /* * Set the SPI device as a master with manual start and manual * chip select mode options */ if (clkPhaseOne) { XSpiPs_SetOptions(spiPtr, XSPIPS_MANUAL_START_OPTION | \ XSPIPS_MASTER_OPTION | XSPIPS_FORCE_SSELECT_OPTION | XSPIPS_CLK_PHASE_1_OPTION); } else { XSpiPs_SetOptions(spiPtr, XSPIPS_MANUAL_START_OPTION | \ XSPIPS_MASTER_OPTION | XSPIPS_FORCE_SSELECT_OPTION); } /* * Set the SPI device pre-scaler to divide e.g. by 8, resulting in a clk rate of ~20,833 MHz (ADC maximum: 63 MHz / DAC maximum: 20 MHz) */ XSpiPs_SetClkPrescaler(spiPtr, clkPrescaler); // Set Slave select output. Status = XSpiPs_SetSlaveSelect(spiPtr, SlaveSelectAddr); if (Status != XST_SUCCESS) { xil_printf("ERROR: SPI failed setting Slave Select.\r\n"); return XST_FAILURE; } xil_printf("--> SPI setup successful.\r\n"); return XST_SUCCESS; }//setupSPI Both, XSpiPs_LookupConfig and XSpiPs_CfgInitialize don't return any errors, no matter how the Eclypse Z7 is programmed. I'm glad for any advice, thanks in advance.
  2. Is there a reference example or cookery for using the Macronix QSPI flash as main memory for a Microblaze; e.g. on the CoraS7 which has neither DDR nor SRAM and limited BRAM - the C libraries will easily fill 256+ kBy of memory, the S7-25 has 80 BRAM blocks IIRC (320 kBy). Narrowly the issue is how do you configure Microblaze + cache + QSPI flash (as Mb memory) I can't find an answer ... Martin
  3. Hello, I am new to FPGAs. Recently I bought a ARTY Z7. I wrote basic verilog code and programmed it it worked fine. Then i wanted to use the QSPI to flash the board so that the configuration gets loaded after poweroff. I tried a lot debugging why it was not working but i have no clue. I also went through lot of similar forum posts and i tried most of them but didnt work yet for me. These are the things i did in short. the program device is working properly only i am having trouble with the flashing QSPI I kept the jumper in JTAG position I have taken Zynq Processing System IP into the design along with the the HDL module and created a HDL wrapper I made fsbl applicatin project in sdk and created the boot image I checked the USB drivers they were ok I was getting this error when i was trying to flash the fpga Looking forward for any help and suggessions, Thanks a lot.
  4. Hi Team, I'm working on zybo z7010 evaluation board, now i'm trying to program the qspi flash through vivado lab edition tool 2020.3. 1. I have created the bitstream for zybo board in vivado 2020.2 and application project in vitis 2020.2. 2. In vivado lab edition tool i have generated the memory configuration file 3. I have added that configuration file and tried to program the flash device(Spansion s25fl128s-3.3v-qspi-x1-single) 4. I can able to program the fpga, and my current boot mode is JTAG. 5. Every time i'm getting the error message as follows Problem in Initializing Hardware Flash programming initialization failed. ERROR: [Labtools 27-3161] Flash Programming Unsuccessful ERROR: [Common 17-39] 'program_hw_cfgmem' failed due to earlier errors. If anyone having idea on how to program the qspi flash it would be helpfull. Thanks and regards, Manovikas
  • Create New...