Showing results for 
Show  only  | Search instead for 
Did you mean: 
Not applicable

Linker Script Generation in SDK

I am trying to implement a design on a Spartan 6 using ISE 12.4.  I have used XPS to create a project for a microblaze, and exported it to SDK.  In SDK, I have created a C project from the included template for the lwIP Echo Server, but have run into problems building the project.


When I try to Generate Linker Scripts, it defaults to ilmb_cntlr_dlmb_cntlr for the Code, Data, and Heap/Stack locations.  However, the ilmb_cntlr_dlmb_cntlr defaults to 16kB which is not nearly large enough to hold all of the files as seen on the Advanced tab of the Generate Linker Scripts dialog box.  The only thing large enough to hold the files is the MCB3_LPDDR_MPMC_BASEADDR for the DDR RAM which is 64MB.


I have tried switching to the MCB3_LPDDR_MPMC_BASEADDR, but it causes a lot of errors when I try to compile the project in ISE (where the system.xmp) is included and the ELF file created in SDK (lwip_echo_server_0.elf).  All of them deal with come type of unconnected or undriven pin.  If I simply remove the ELF file from the project files list in ISE, it compiles fine.


My questions are:

1.  Should I change the ilmb_cntlr_dlmb_cntlr size to be large enough (something like 1MB or larger)?  This just feels wrong to me.

2.  If I can use the DDR (which I think needs to be done in the long run for the larger project that will be created later), does anyone have any suggestions about using this?  In particular, related to the ISE MAP step errors of unconnected pins.


Any advice would really be appreciated.  Thanks

Tags (1)
0 Kudos
2 Replies
Registered: ‎09-09-2010

Ask in

"If it don't work in simulation, it won't work on the board."
0 Kudos
Registered: ‎02-07-2011

First read the requirements for MicroBlaze lwIP library. Includes DDR SDRAM, to accommodate the code (heap and stack). PIM configured correctly DDR SDRAM.
0 Kudos