Jump to content
  • 0

PMODSD


ejc

Question

I was trying to use ip integrator and vitis to examine how to write and read to an SD card. 

I have used the ip integrator with PmodMTDS and PmodKYBD successfully using the example codes supplied.

I assume the code is written in c++ and that is what I set the vitis project for.

 

However, with PmodSD  the example code in main.cc is not building.

After examination, there is one line of code  in the example main.cc that is a syntax error, sqiggly lines on the code and when I run the mouse over it, it tells me syntax error.

 DFATFS::fsmount(disk, szDriveNbr, 1);

There are also many syntax error in the  #include "DXSPISDVOL.h".

practically half of it has the squiggly lines. 

 

Below is what I get when trying to build the project.

 

Description    Resource    Path    Location    Type
make: *** [makefile:50: sdtest.elf] Error 1    sdtest             C/C++ Problem
region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem' overflowed by 63000 bytes    sdtest             C/C++ Problem
sdtest.elf section `.text' will not fit in region `microblaze_0_local_memory_ilmb_bram_if_cntlr_Mem_microblaze_0_local_memory_dlmb_bram_if_cntlr_Mem'    sdtest             C/C++ Problem
 

So if the syntax errors are causing this, what is the fix?

I am using ARTY A7 with 35T csg324 board.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

Hello @ejc,

The build errors from above is not caused by syntax errors. This application needs more memory resources and the build errors are caused by the insufficient memory that was set in Microblaze.

Because the Arty A7 35T has only 225 KB of BRAM, then the maximum memory you can set in Microblaze is 128 KB. I don't think this is enough memory to run the PmodSD application.

To solve the memory problem you should use the 256MB DDR3L SDRAM memory https://reference.digilentinc.com/reference/programmable-logic/arty-a7/reference-manual#memory

I suppose you installed the board files for the Arty A7 35T. When you add the MIG (Memory Interface Generator) to your design, the MIG preset for this board will be loaded and you don't have to manually configure the DDR3L settings for the Arty A7, specified in the Reference Manual.

You can find in this tutorial how to add and configure MIG https://reference.digilentinc.com/learn/programmable-logic/tutorials/arty-getting-started-with-microblaze/start?s[]=mig

Also you can check this forum post https://forum.digilentinc.com/topic/18555-arty-a7-and-mig/

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...