Hey y'all --
I'm throwing this post out on behalf of my poor beleagured programmer. We're starting to migrate over our new designs from using the Lantronix XPort for our network needs to an ARM9 with an onboard MAC (NXP LPC3250) and handling the network in software.
The goals is going to be to keep things small; I'd love to manage to consistently keep code+data in the on-die RAM (256K) rather than having to throw away board space and routing for external RAMs. We'll primarily be running a fairly limited web server, a shell login for any of the real work, MAYBE an ftp server that'll come into play once in a blue moon. There's also been some discussion of also running an SSL layer, but I'm not convinced that security wouldn't be better handled in a $60 external box from Linksys.
Generally throughput's not going to be a major issue for us, but robustness is. Ideally, no matter how badly overloaded with requests we may be, I'd like to gracefully reject the requests rather than dying horribly and having to resort to the watchdog timer resetting the world.
We're building on GNU tools and, what with trying to keep to the local RAM, running Linux or godforbid CE isn't at all a thought. Most likely we'll be running either FreeRTOS or for(;;) {...}.
So the TCP/IP stacks I've found that seem to want to play nicely in that context are lwip and uIP. Does anyone have, ideally, any experience with both and some thoughts on their relative merits? Or experience with one or the other and things to say? Or thoughts on the entire exercise at large?
Thanks, Rob