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: 
Contributor
Contributor
477 Views
Registered: ‎11-13-2018

NEXYS 4 Programming Flash

Jump to solution

Hello,

I am attempting to store a SDK program in SPI flash on a NEXYS 4. It is being powered via USB. My block diagram and C program are almost the same as in "Getting Started with the Vivado IP Integrator". I am using MicroBlaze.

I followed the tutorial "How To Store Your SDK Project in SPI Flash". The problem I am having is that unlike the tutorial, the nexys 4 does not have DDR, so on step 2.3 my only option for "Place Code Sections in:" is the MicroBlaze memory (see attached image). For "Place Data Sections in:" and "Place Heap and Stack in:" I can select the axi_emc memory that I assume communicates with the Cellular RAM on the board. I believe this is the problem but I'm not 100% sure. I can edit the lscript.ld to have all of the memory regions under axi_emc (see other attached image), but my program does not seem to be running after completing the remaining steps. 

I know that the issue is not my block design or C program because I was able to successfully store and run it from flash using this tutorial. https://www.instructables.com/id/Flashing-a-MicroBlaze-Program/ The project functions correctly when I simply configure the FPGA with the program .elf.

The only problem with using the second method is that it runs the program in the FPGA's BRAM (I think). This might be an issue for me in the future if my program can not fit in the BRAM. 

Can anyone suggest a solution to my problem? Like I said, the other steps in the "How To Store Your SDK Project in SPI Flash" tutorial seem like they are finishing correctly but after programming and reboot, the "DONE" light turns on, but button presses do nothing to the lights and nothing appears in the terminal. JP1 is in the qspi position.

Thanks for your time and assistance in advance. Let me know if anything needs clarification. 

Brad

 

Referenced tutorials:
Getting Started with the Vivado IP Integrator: https://reference.digilentinc.com/vivado/getting-started-with-ipi/start

How To Store Your SDK Project in SPI Flash: https://reference.digilentinc.com/learn/programmable-logic/tutorials/htsspisf/start

Tags (3)
linker.jpg
genlink.jpg
bdbd.png
0 Kudos
1 Solution

Accepted Solutions
Highlighted
Contributor
Contributor
410 Views
Registered: ‎11-13-2018

Re: NEXYS 4 Programming Flash

Jump to solution

I solved my issue by re-customizing the MicroBlaze and making sure that "Use Instruction and Data Caches" and "Use Cache for All Memory Accesses" boxes were checked.

0 Kudos
1 Reply
Highlighted
Contributor
Contributor
411 Views
Registered: ‎11-13-2018

Re: NEXYS 4 Programming Flash

Jump to solution

I solved my issue by re-customizing the MicroBlaze and making sure that "Use Instruction and Data Caches" and "Use Cache for All Memory Accesses" boxes were checked.

0 Kudos