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.
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.
Thanks for your time and assistance in advance. Let me know if anything needs clarification.
Question
bhall
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 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 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.
Thanks for your time and assistance in advance. Let me know if anything needs clarification.
Brad
Link to comment
Share on other sites
11 answers to this question
Recommended Posts
Archived
This topic is now archived and is closed to further replies.