Yahoo Groups archive

Lpc2000

Index last updated: 2026-04-28 23:31 UTC

Message

RE: [lpc2000] tcpip

2006-01-15 by Joel Winarske

> Out of curiosity, how does this compare in performance or functionality to
> Ethernut on ARM? There is also an LPC port for this under way.

Here's a brief overview of free stacks, in alphabetical order:

Nut/Net (Ethernut) - IPV4, TCP, UDP, ICMP, PPP (minimal) - PAP, stack
documentation?  fragmented packet support?

lwIP 1.1.0 - IPV4, IPV6, TCP, UDP, DHCP, ICMP, PPP - PAP, CHAP, VJ, minimal
documentation, fragmented packet support.

OpenTCP - IPV4, TCP, UDP, DHCP, ICMP, DNS, BOOTP, TFTP, SMTP, POP3, HTTP,
good documentation.  Fragmented packet support?

uIP - IPV4, TCP, UDP, DHCP, SMTP, POP3, HTTP, TELNET, FTP, VNC, IRC, PPP -
PAP, zero documentation, no fragmented packet support.  See Contiki project
for recent code base.


On the ones that support POP3 and SMTP, it appears clear text authentication
is only implemented.  Most modern ISPs require more than this.

The best performing would be dependent on a number of variables - in no
particular order:

1.  I/O bandwidth to EMAC.  This could be a combination of EMAC receive
buffer size, DMA between EMAC and RAM, bit banged port, polled driver, or
interrupt driven I/O.
2.  EMAC hardware filtering - prevents MCU from handling unwanted traffic
3.  Available MCU RAM.
4.  Protocol stack - buffer management.  Zero copy?  Does stack offer
predefined memory pool or is malloc() required?
5.  Protocol stack - CRC implementation.  Some silicon offers hardware CRC
to increase throughput.  Example - Maxim/Dallas DS80C4xx series.

etc. etc.


These are not specific to ARM, but Ethernet in general.  From here you weigh
your design requirements, the MCU features, and the protocol stack.  The
integration of the EMAC can be the biggest performance variable.

 
HTH,
Joel

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.