ESF
TCP/IP™
is a flexible, compact, reliable, real-time implementation (e.g.
no heap allocation, timeouts, etc.) TCP/IP protocol stack designed
specifically for high-performance embedded networking. The code
has a small footprint and is well suited to memory constrained
environments.
The
ESF TCP/IP™ Stack and its
various options enable you, the embedded system developer, to
add networking features to your products with a minimum of time
and expense.
Like
all ESF products, ESF TCP/IP is optimized for developers of embedded
devices and offers a modular and economical way to rapidly implement
high performance solutions for legacy and new product development.

TCP/IP
Protocols
TELNET
TFTP
HTTP
SNMP (sold separately)
Transport Protocols
UDP
TCP
Network and Data Link Protocols
BOOTP
IP
ICMP
PPP (sold separately)
NETWORK INTERFACE
ARP
CLIENT/SERVER CONNECTIONLESS (UDP SOCKET)
Generic
Socket Interface
BASE ADDRESS STRUCTURE
SOCKET BUFFER ALLOCATION/DE-ALLOCATION
TIMEOUTS
ERROR CODES
BIND
LISTEN
ACCEPT
CONNECT
WRITE
READ
SENDTO
RECEIVEFROM
CLOSE
DERIVED SOCKET TYPE EXAMPLES
SERIAL DATAGRAM
WIN32
POSIX
PROXY SOCKET
Features
- No
royalties
- Full
source code included
- Small
footprint
- No
external library dependencies
- No
heap based allocation
- Fully
reentrant and ROMable
- Fast
speed and reliability
- Berkeley
style sockets application program interface with enhancements
- Advanced
underlying buffer management – 0 buffer copies from
hardware to application, accommodatesany hardware alignment
constraints and packets with noncontiguous data.
- Mutual
exclusion internally implemented.
- Instance
the protocols or servers you need, e.g. Telnet telnet;
Telnet::Server telnetServer(&telnet)
The
table below shows the code size and RAM usage for ESF TCP/IP.
The code has been compiled for the 32-bit ARM architecture using
gcc version 3.3 and code size optimization turned on (-Os).
Code
Size ESF TCP |
Code
Size |
Static RAM |
Dynamic
RAM |
8kb |
0kb |
2kb |
The
total RAM usage depends on how many TCP connection slots that
are allocated, how many ARP table entries that are allocated,
and how large packet buffer that is allocated, but is statically
configured at compile time. Each listening TCP port adds another
2 bytes of RAM usage. A uIP configuration with 1 listening TCP
port, 10 TCP connection slots, 10 ARP table entries, a packet
buffer of 400 bytes and the simple HTTP server will have the
properties shown in the table below.
WLAN
Driver Add-on
The WLAN driver enables On ESF applications to use wireless
LANs using the 802.11b protocol. The driver supports the Prism
802.11b chipset used by Symbol, Intersil, and Agere devices.