The largest part of my career was to design network connected devices also called “internet of things”. Ethernet has a very effective way to collect alarms and pass to a remote server, translate other protocols like RS232/485 to TCP, alarm systems, home automation and other applications. I had the chance to “taste” different embedded microcontrollers and TCP/IP stack to encounter. Device in the list include PIC18, PIC32, Stellaris controllers while the stacks include Microchip’s propriety TCP/IP stack, lwIP, uIP.
uIP is the simplest and smallest stack with minimal footprint, however, the available stack APIs are limited.
lwIP is probably the most used embedded TCP/IP stack used by dozens of vendors. Because of open source nature and the “operating system emulation layer”, it is adopted by many MCU vendors including some 8051 variants and ARM “cousins” use the same stack with necessary relative adoption.
Microchip TCP/IP has the limitation that it can be used only on Microchip product. However, it is the most complete and greatly organized TCP/IP stack I have seen. It has every thing, every set of protocols a developer may need with the great thing inherited by Microchip is the great documentation; everything very well explained with examples. The stack has built-in support for Ethernet as well as WiFi. Microchip has its own WiFi modules available which can be integrated with PIC MCUs via SPI bus. The stack fully supports TCP, UDP, HTTP, SNMP, SNTP, and virtually every protocol which an average Embedded Systems Engineer needs.
In a practical implementation of Ethernet connected devices, I came across on implementation of lwIP over Stellaris. One thing which stung me was that you need to build the file system (fs) using “makefsfile” utility just like “MPFS2″ utility. But it will give you plan C files to be compiled with source to burn into the device. Unlike this MPFS2 give a separate .bin file which you can upload onto the device “on-the-go”. This seems to me a big advantage of Microchip tools over lwIP implementation for Stellaris.
Welcome to the internet of things!