01-04-2010 05:01 AM
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.
01-04-2010 09:30 AM
01-05-2010 06:34 AM
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.
01-05-2010 09:17 AM
01-05-2010 10:21 AM
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".
01-06-2010 09:01 AM
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.
01-06-2010 09:10 AM
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)