Sign In

Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
amar_sistla
Posts: 4
Registered: ‎01-04-2010
0

Re: Spartan 6 or Spartan 3E

hello sir,

    i am a b.tech student.

I have to communicate data from the pc to the board using the ethernet port. I m an amateur in this project. CAN I GET STEP BY STEP GUIDELINES ON THIS PROJECT. OR ANY MOST SUITABLE LINK. like can u please tell me completely about this project. or a link where i could get information right from the basics. please sir.

 •••••••••

Contributor
cfgmgr
Posts: 39
Registered: ‎09-28-2009
0

Re: Spartan 6 or Spartan 3E

Which board are you using?  Will you be using the EDK?

We may need a bit more information before we can be of much help!

Regular Contributor
ntropy
Posts: 84
Registered: ‎09-16-2009
0

Re: Spartan 6 or Spartan 3E

I was able to down load the EDK/SDK 30 day trial, however unable to creat the LightWeidht IP (IwIP) as referenced in XILINX document XAPP1026 due to it not being an option in the SDK -- not compatible with the Spartan 6 board.  Does anyone have any example programs to send TCP/IP messages using EDK/SDK??
Visitor
amar_sistla
Posts: 4
Registered: ‎01-04-2010
0

Re: Spartan 6 or Spartan 3E

i am using SPARTAN 3A kit and coding with vhdl ..

 

Contributor
cfgmgr
Posts: 39
Registered: ‎09-28-2009

Re: Spartan 6 or Spartan 3E

I used a 3E starter kit, but I imagine it's probably similar for the 3A.  Since you really didn't say, I am assuming that you are using the EDK.  Develop your own ethernet IP without the EDK can be done, but it's more work.  These steps are based on EDK Version 11.3:

 

It's a two-part process:  You use "XPS" to develop the "hardware platform", and you use the "SDK" to develop C code to run on that platform. 

 

Part 1:  XPS -

1) Launch XPS and use the wizard to create a new BSB project base on your board type

2) Choose a single processor system (1 microblaze processor)

3) Choose 16K of local memory, leave the system clock frequency at the default.  Do not enable floating point unit

4) On the "peripheral configuration screen", de-select (REMOVE) most of the default peripherals (e.g. you don't need LEDs, buttons, flash, dip switches, etc).  I kept only the Ethernet MAC  and the SDRAM, the RS232_DCE, dlmb_cntrl and ilmb_cntrlr. Also, make sure to check the "enable interrupts" properties for the Ethernet MAC.

5) On the same screen, ADD the "xps_timer" peripheral, and check the "use interrupt" property of the timer.

6) On the next screen, you can decide if you want instruction or data caches.  Not really needed for this demo, but definitely needed in a real-world scenario if you want any kind of performance...

7) Keep hitting the "Next" button until you reach the "Finish" button.  You are now done with the wizard.

 

At this point, click on the "Project" menu item and click on "Export Hardware Design to SDK"; Choose "Export and Launch SDK" option.

Now wait...   and wait..... and wait....  while the project builds.    You might have time for lunch.  These tools are extremely slow... A whole lot of warnings will scroll by.  You can ignore these for now.  You should NOT get any errors; warnings you can ignore for now, but errors cannot be ignored.

 

If all goes well, eventually, the SDK will launch.  You will use the SDK to write your C-code that runs on the Microblaze processor.

 

Part 2: The SDK:

1) In the SDK, right click on the Microblaze_0 object,  select "New", then "other", then select a "standalone" type of software platform.

2) Next right-click on the new software platform object you just created, and go to teh "Software Platform settings" menu option.

3) At the bottom of the software platfor settings screen, check the "lwip" library.  This will cause teh platform to rebuild and include the "lwip" library.

4) Next, right-click on the software platform object, and select "New|Project|Managed Make C application project".   From this dialog box, select the "lwIP Echo Server" application.

5) The application will compile.

 

At this point, you can download the application to the test board.  The echo server will use TCP/IP address 192.168.1.10, port 7;  10Mbit ot 100Mbit only - Gigabit doesn't work;

Connect up the ethernet cable (use a crossover cable if you are not using a network switch), start up a hyperterm session and it should all just work.  

 

I hope this helps.

 

-bill

 

 

Regular Contributor
ntropy
Posts: 84
Registered: ‎09-16-2009
0

Re: Spartan 6 or Spartan 3E

Thank you cfgmgr  for your step by step instructions.  I was able to go through them with out any problems except for at the end.  When I go to run, select Run=>Debug As=>1 Debug on Hardward, I receive an error stathing "Launch failed no binaries."  How do I solve this problem??  Once again, thank you for your help.
Contributor
cfgmgr
Posts: 39
Registered: ‎09-28-2009
0

Re: Spartan 6 or Spartan 3E

Make sure you have your "echo" application object selected when right-click and try to debug.

If that doesn;t work, try regenerating the .ELF file by either changing one of the source files (e.g. add a blank line to main.c),

or by right-clicking on the application object, and selecting "Generate Linker Script".

Visitor
amar_sistla
Posts: 4
Registered: ‎01-04-2010
0

Re: Spartan 6 or Spartan 3E

thanks a lot cfgmgr.. i vl try implementing it the same way and will update as my project progresses ..

thanks a tonne for the step by step explanation 

Regular Contributor
ntropy
Posts: 84
Registered: ‎09-16-2009
0

Re: Spartan 6 or Spartan 3E

Going through the steps as specified, I'm encoutering an error when the Software Platform adds the lwip library in SDK.  The follwoing errors are received:

 

ERROR:EDK:3193 - issued from TCL procedure "lwip_elite_hw_drc" line 5

lwip130 () - xps_ethernetlite core Ethernet_MAC does not have its interrupt

connected to interrupt controller. lwIP operates only in interrupt mode, so

please connect the interrupt port to the interrupt controller.

 

ERROR:EDK:1191 - Error(s) while running DRCs for processor microblaze_0.

make: *** [microblaze_0/lib/libxil.a] Error 2

make: Target `all' not remade because of errors.

 

Any advice would be helpful.

Contributor
cfgmgr
Posts: 39
Registered: ‎09-28-2009
0

Re: Spartan 6 or Spartan 3E

In XPS:

1)  make certain that you enabled interrupts on the ethernet MAC  (see earlier - Part 1, step 4)

2)  make sure that you added a timer to your project, and enabled the interrupts for that as well (Part 1, step 5)