UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Xilinx Employee
Xilinx Employee
5,373 Views
Registered: ‎01-18-2008

XAPP1026 - lwIP Examples updated

We've updated the lwIP examples appnote (XAPP 1026). The main features are:

 

- Includes designs for ML505, ML507 and S3-AN.

- The designs are configured for the highest performance, and the performance tests are also included in the appnote. To achieve the performance numbers listed in the appnote, you might have to tune your desktop (host) setup a bit, and you might even need to use Ethereal or Wireshark to look at traffic and see if there is anything obviously wrong. The best way to look at these numbers is to think of them like the advertised mileage ratings by the car manufacturers. They are obtained under optimal conditions, and non realistic workloads, but at the very least, they establish a higher bound data point.

- The software in the reference design is supposed to be executed from within SDK.

 

Here's a link to the appnote: http://www.xilinx.com/support/documentation/application_notes/xapp1026.pdf 

 

4 Replies
Observer c_oflynn
Observer
5,353 Views
Registered: ‎02-24-2009

Re: XAPP1026 - lwIP Examples updated

Hello,

 

Testing lwip on the S3 1800 DSP board, with Ethernet Lite, I seemed to run into a problem. I'm using the example app built into 11.1:

 

The ethernet interrupt was never being called. The interrupt enable register only ever had the timer interrupt enabled. I tracked it down to the platform_setup_timer() function in platform.c. I had to comment out this line:

 

XIntc_mEnableIntr(XPAR_XPS_INTC_0_BASEADDR, PLATFORM_TIMER_INTERRUPT_MASK);

 

As the interrupt is enabled in platform_setup_interrupts(). When it is enabled in platform_setup_interrupts(), both the EMAC and Timer interrupts are enabled. When it gets re-enabled in platform_setup_timer(), it switches to only the EMAC interrupt is enabled. I didn't have this problem with the TEMAC, just with the lite mac. Commenting out the above line makes it seem to work perfectly...

 

 Any Idea?

 

    -Colin

0 Kudos
Visitor omriko.87
Visitor
5,342 Views
Registered: ‎05-21-2009

Re: XAPP1026 - lwIP Examples updated

hi vsiva.

 

I waiting for this release that include the ML507 board, that implement with EDK11.1

I'm using EDK10.1 SP3... there is any way to run the example on 10.1 version?

 

tnx

0 Kudos
Xilinx Employee
Xilinx Employee
5,327 Views
Registered: ‎01-18-2008

Re: XAPP1026 - lwIP Examples updated

@colin - I remember seeing this bug, and then fixing it, but looks like I missed incorporating the fix into the final design file. Your solution sounds perfectly reasonable.

 

@omriko.87 - Porting this to a different board should be straightforward. Just use BSB to create a system for ML507 that can run ethernet. See the lwIP documentation for requirements, but basically all you need to do is enable temac, use dma, and make sure interrupts are connected. After that you can just copy over the software and things should just work. 

0 Kudos
Observer c_oflynn
Observer
5,321 Views
Registered: ‎02-24-2009

Re: XAPP1026 - lwIP Examples updated

It really IS as easy as vsiva says too. You can just add the 'lwip' example from EDK even, it's scary how well it works the first time ;-)

 

 That was with temac anyway, if you use the lite mac make sure you have the fix in!

 

 -Colin

0 Kudos