Discussion group dedicated to the Philips LPC2000 family of ARM MCUs
tcpip - Szemző András - Jan 13 10:12:00 2006
Re: tcpip - atmelbr - Jan 13 13:38:00 2006
--- In lpc2000@lpc2..., Szemző András <a.szemzo@k...> wrote:
Hello,
Where I can find more information about OpenTCP ?
> Hello,
> I'd ported OpenTCP to lpc2292 with rtl8019. I'll add cs8900 and
enj28j60 drivers. (All of them working with ported avrlib netstack
with lpc2292, so it will be trivial.)
>
> I add a very basic and simple device structure, becouse i would like
to use slip too, and then add ppp, etc...
>
> Somebody interested to help developing it? ;)
>
> Andrew

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
RE: Re: tcpip - Joel Winarske - Jan 13 13:53:00 2006
> Hello,
> Where I can find more information about OpenTCP ?
http://sourceforge.net/project/showfiles.php?group_id=66182

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
Re: tcpip - Rob Jansen - Jan 15 3:00:00 2006
Andrew,
Yes, I am interested.
I've got different boards to do this on, but no lpc2292.
I am currently interfacing the enc28j60 to my board. For my project I do
not need a full TCP stack, I was just asked to show that the enc28j60 is a
workable ethernet solution for a few other projects.
So all I _must_ do is to show a working MAC with the enc, but a full
tcp/ip solution may be so much easier to demo ...
I have the enc28j60 connected to SPI0 and use GCC.
Just drop me an email if you're interested - I can add the 28j60 driver.
I have also en Embedded Artists 2138 board with a DM7000 (10/100 Mb
Ethernet) and can maybe add that driver also.
Regards,
Rob
> Hello,
>
> I'd ported OpenTCP to lpc2292 with rtl8019. I'll add cs8900 and enj28j60
> drivers. (All of them working with ported avrlib netstack with lpc2292, so
> it will be trivial.)
>
> I add a very basic and simple device structure, becouse i would like to
> use slip too, and then add ppp, etc...
>
> Somebody interested to help developing it? ;)
> Andrew

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
RE: tcpip - Joel Winarske - Jan 15 5:10:00 2006
Hi Andrew,
> I'd ported OpenTCP to lpc2292 with rtl8019. I'll add cs8900 and enj28j60
> drivers. (All of them working with ported avrlib netstack with lpc2292, so
> it will be trivial.)
>
> I add a very basic and simple device structure, becouse i would like to
> use slip too, and then add ppp, etc...
>
> Somebody interested to help developing it? ;)
I may be interested in adding ppp/slip. The OpenTCP code has much better
documentation than lwip, or uip.
GCC?
Joel

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
Re: tcpip - Don Ingram - Jan 15 6:03:00 2006
Joel Winarske wrote:
> Hi Andrew,
>>I'd ported OpenTCP to lpc2292 with rtl8019. I'll add cs8900 and enj28j60
>>drivers. (All of them working with ported avrlib netstack with lpc2292, so
>>it will be trivial.)
>>
>>I add a very basic and simple device structure, becouse i would like to
>>use slip too, and then add ppp, etc...
>>
>>Somebody interested to help developing it? ;)
> I may be interested in adding ppp/slip. The OpenTCP code has much better
> documentation than lwip, or uip.
>
> GCC?
> Joel
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.
Cheers
Don

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
RE: tcpip - Joel Winarske - Jan 15 17:22:00 2006
> 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

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
RE: tcpip - Paul Curtis - Jan 15 17:36:00 2006
Joel,
> uIP - IPV4, TCP, UDP, DHCP, SMTP, POP3, HTTP, TELNET, FTP,
> VNC, IRC, PPP -
> PAP, zero documentation
No, Documentation is extensive:
http://www.sics.se/~adam/uip/uip-0.9-refman/
> no fragmented packet support.
Wrong. Set UIP_REASSEMBLY.
http://www.sics.se/~adam/uip/uip-0.9-refman/a00088.html#a1
--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors#

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
Re: tcpip - Marko Panger - Jan 15 17:38:00 2006
Hi,
Recently I was in the same dilemma. Is the OpenTCP project still active
? I am about to integrate a TCP stack in my RTOS and I am choosing with
which one to go.
marko
http://usmartx.sourceforge.net
Joel Winarske wrote:
>>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
>Yahoo! Groups Links
[Non-text portions of this message have been removed]

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
RE: tcpip - Paul Curtis - Jan 15 18:04:00 2006
Joel,
> > Recently I was in the same dilemma. Is the OpenTCP project
> still active
> > ? I am about to integrate a TCP stack in my RTOS and I am
> choosing with
> > which one to go.
>
> Last release of OpenTCP: 2003-08-03
> The last post may sum it up on OpenTCP:
> http://sourceforge.net/forum/forum.php?thread_id=1031838&forum
> _id=224425
> Paul what where the big differences between lwIP and uIP?
lwIP has a sockets-like API, uIP doesn't. lwIP has many more
TCP/IP-related features than uIP does (windowing, for example) and will
potentially have a better throughput for applications that are streaming
data. uIP has a single segment in flight at any time hence falls foul
of delayed ACK implementations of TCP/IP (cf Windows at least). uIP
applications are harder to write than lwIP apps as uIP does not use
threads (but there is something called protothreads that you *can* use
to make life easier). lwIP is bigger in RAM and code size, uIP is small
in both. uIP runs a full web server on MSP430s in 8K of code with a
fully-compliant stack and less than 1K of memory (and that's with a big
packet buffer).
If you have space issues, uIP is the way to go. If you don't, then lwIP
is more the thing.
--
Paul Curtis, Rowley Associates Ltd http://www.rowley.co.uk
CrossWorks for MSP430, ARM, AVR and now MAXQ processors
______________________________
controlSUITE software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com ) RE: tcpip - Joel Winarske - Jan 15 18:07:00 2006
Hi Marko,
> Recently I was in the same dilemma. Is the OpenTCP project still active
> ? I am about to integrate a TCP stack in my RTOS and I am choosing with
> which one to go.
Last release of OpenTCP: 2003-08-03
The last post may sum it up on OpenTCP:
http://sourceforge.net/forum/forum.php?thread_id=1031838&forum_id=224425
Paul what where the big differences between lwIP and uIP?
Joel

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
Re: tcpip - FreeRTOS Info - Jan 16 3:33:00 2006
> > Paul what where the big differences between lwIP and uIP?
>
> lwIP has a sockets-like API, uIP doesn't. lwIP has many more
> TCP/IP-related features than uIP does (windowing, for example) and will
> potentially have a better throughput for applications that are streaming
> data. uIP has a single segment in flight at any time hence falls foul
> of delayed ACK implementations of TCP/IP (cf Windows at least). uIP
> applications are harder to write than lwIP apps as uIP does not use
> threads (but there is something called protothreads that you *can* use
> to make life easier). lwIP is bigger in RAM and code size, uIP is small
> in both. uIP runs a full web server on MSP430s in 8K of code with a
> fully-compliant stack and less than 1K of memory (and that's with a big
> packet buffer).
>
> If you have space issues, uIP is the way to go. If you don't, then lwIP
> is more the thing.
Just to demonstrate Pauls points...
uIP is a really nice, small and easy to understand system. It's major
disadvantage is that only one packet can be outstanding at any one time.
This is less of a problem if you have control over both ends of the
communication, but can make streaming data to (for example) Windoze rather
slow.
The following page generates a lot of dynamic data and sends it as one
packet (this uses a non standard port number so if you are on a company
network or behind certain firewalls it will not load):
http://82.32.114.142:47822/cgi/rtos
It should load quickly. On the other hand the following page generates
dynamic data one line at a time, and sends each line individually. You
should find this then loads much more slowly as Windoze delays acknowledging
each packet (same firewall restrictions apply).
http://82.32.114.142:47822/cgi/tcp
Therefore, uIP can work with very small buffers but this then restricts the
throughput you can achieve. Like everything it is a trade off.
lwIP is a much fuller implementation that removes this restriction at the
expense of more CPU cycles and more RAM. Also the driver required for the
NIC is more complex. If you look at the SAM7X emac drivers for the
respective FreeRTOS uIP and lwIP demos you will see the former is much
simpler due to the simple buffer management in uIP.
Regards,
Richard.
http://www.FreeRTOS.org

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
Re: tcpip - FreeRTOS Info - Jan 16 4:59:00 2006
> Any plans to have a live lwIP demo? This would be a nice A-B test to your
> live uIP demo.
The lwIP demo uses the same hardware as the uIP demo so they cannot both be
live at the same time. The demo is also a bit basic with just a single page
of dynamic text being returned. As it was not live I didn't do anything
fancy (the uIP demo uses frames and contains graphics if you go to the root
rather than the links I gave).
There is a live LPC2124 / Crystal LAN CS8900 demo. This is basically Pauls
code running (practically unmodified) as a task under FreeRTOS.org. Due to
hardware limitations it bit bangs the NIC and does not use interrupts. See
http://www.freertos.org/embeddedtcp.html for the various links.
Regards,
Richard.
http://www.FreeRTOS.org
______________________________
controlSUITE software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com ) Re: tcpip - FreeRTOS Info - Jan 16 7:37:00 2006
> > See
> > http://www.freertos.org/embeddedtcp.html for the various links.
> This one does not load in Firefox, IE is fine. "Alert - The document
> contains no data".
Err, that's not good. Just looked at the file and it doesn't have the
<html></html> parts. I think this was doxygen created originally. Need to
go through and check all the pages for this, but am surprised Firefox
doesn't make a stab at displaying it.
Regards,
Richard.
http://www.FreeRTOS.org

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
RE: tcpip - Szemző András - Jan 16 8:40:00 2006
hi,
and what about that?
http://sourceforge.net/projects/freescaleotcp/
Andrew
________________________________
From: lpc2000@lpc2... [mailto:lpc2000@lpc2...] On Behalf Of
Joel Winarske
Sent: Sunday, January 15, 2006 11:08 PM
To: lpc2000@lpc2...
Subject: RE: [lpc2000] tcpip
Hi Marko,
> Recently I was in the same dilemma. Is the OpenTCP project still active
> ? I am about to integrate a TCP stack in my RTOS and I am choosing with
> which one to go.
Last release of OpenTCP: 2003-08-03
The last post may sum it up on OpenTCP:
http://sourceforge.net/forum/forum.php?thread_id=1031838&forum_id=224425
Paul what where the big differences between lwIP and uIP?
Joel
SPONSORED LINKS
Microprocessor
<http://groups.yahoo.com/gads?t=ms&k=Microprocessor&w1=Microprocessor&w2=Mic
rocontrollers&w3=Pic+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig=t
sVC-J9hJ5qyXg0WPR0l6g> Microcontrollers
<http://groups.yahoo.com/gads?t=ms&k=Microcontrollers&w1=Microprocessor&w2=M
icrocontrollers&w3=Pic+microcontrollers&w4=8051+microprocessor&c=4&s=93&.sig
=DvJVNqC_pqRTm8Xq01nxwg> Pic microcontrollers
<http://groups.yahoo.com/gads?t=ms&k=Pic+microcontrollers&w1=Microprocessor&
w2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+microprocessor&c=4&s=93&
.sig=TpkoX4KofDJ7c6LyBvUqVQ>
8051 microprocessor
<http://groups.yahoo.com/gads?t=ms&k=8051+microprocessor&w1=Microprocessor&w
2=Microcontrollers&w3=Pic+microcontrollers&w4=8051+microprocessor&c=4&s=93&.
sig=1Ipf1Fjfbd_HVIlekkDP-A>
________________________________
> .
________________________________
______________________________
controlSUITE software. Comprehensive. Intuitive. Optimized.
Real-world software for real-time control. Details Here!

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com ) RE: tcpip - Joel Winarske - Jan 16 15:58:00 2006
Hi Andrew,
> and what about that?
>
> http://sourceforge.net/projects/freescaleotcp/
It's fairly recent. August 31, 2005.
Only ten of the OpenTCP-1.0.4.src files are modified. Most changes are
compiler related. http_server.c seems to have the largest delta. On others
the only changes are removal of the license header, and include directories.
I would start with this version over OpenTCP-1.0.4.src, as there are some
useful looking changes.
Joel

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
Re: tcpip - FreeRTOS Info - Jan 16 17:23:00 2006
> > Here too.
> > Win XP Pro.
> > Firefox 1.5
> >
> > http://82.32.114.142:47821/
> > http://82.32.114.142:47820/
> > http://82.32.114.142:47822/cgi/tcp
> > http://82.32.114.142:47822/cgi/rtos
> >
> > all of them works fine.
> Hmm. First round the second listed was giving me "The document contains
> no data." After multiple tries through the list then the second worked
and
> the first start complaining. Are all of these running uIP I wonder?
>
> XP
> Firefox 1.0.7
The 47820 port is using a WizNET I2C interface.
The 47821 is Pauls uIP demo bit banging a Crystal LAN running as a task
under FreeRTOS (LPC).
The 47822 is uIP running with interrupts and DMA on a SAM7X.
The number of simultaneous connections is limited (#define in the code). If
you look at a page that sends lots of small packets then each takes a
connection. I imagine that posting the addresses here is generating several
simulations hits, so maybe its just running out of connections hence the
intermittence.
All works fine for me, but the boards are only a few feet away. Also I'm
using IE rather than Firefox.
Regards,
Richard.
http://www.FreeRTOS.org

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
Re: tcpip - FreeRTOS Info - Jan 16 17:47:00 2006
> IE loads them fine on my machine. On the ones in question, in IE there is
a
> delayed load between the header and body.
>
> It's a curious difference between Firefox and IE.
>
> A tracert of 82.32.114.142 results in over 30 network hops. This may have
a
> bearing on things. Are you in the UK? I'm in California.
Yep - UK - just a few thousand miles away.
Richard.
http://www.FreeRTOS.org

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )
Re: tcpip - FreeRTOS Info - Jan 16 17:58:00 2006
> Just a "me too", they all work fine for me (WinXP IE6) but they are
> sloooowwww...
Even this one? http://82.32.114.142:47822/cgi/rtos
My contribution to this thread started by saying that uIP could be sped up
by sending dynamic data as single buffer rather than lots of small ones -
using this link as an example compared to the other links. The standard uIP
demo from Adam Dunkels site sends each dynamically generated item
separately - hence lots of delayed acks and a slow connection to Windoze.
From here I find this page loads quickly, but I'm not 30hops away.
Regards,
Richard.
http://www.FreeRTOS.org

(You need to be a member of lpc2000 -- send a blank email to lpc2000-subscribe@yahoogroups.com )