Eminent Microsystems
Advanced Embedded Solutions
Turn-key project development
Our expertise and virtual component methodology delivers even the most complex application at a fraction of the cost.
Build the product you want instead of the product you end up with.               
ESF TCP/IP

 

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.