Standard sockets interface.
No configuration required.
Works with any RTOS in a multitasking environment (embOS recommended).
Zero-copy for ultra-fast performance.
Drivers for most popular microcontrollers and external MACs available.
Easy to use!.
Raw socket support
Non-blocking versions of all functions.
Re-assembly of fragmented packets.
Fully runtime configurable.
Developed from ground up for embedded systems.
Various upper layer protocols available.
Easy to use
The stack comes with a variety of confidence tests and
example applications. It runs out of the box. For most
microcontrollers, sample projects are available. All
modules can output debug messages and warnings in debug
builds. The modules to output this information can be
selected at run-time, allowing the developer to focus on
the aspect he is analyzing.
The entire stack can be compiled into a library. Setup is
reduced to a minimum, performed at run-time. This, along
with a wealth of sample programs, gets you up and running
quickly. Since inter-module dependencies are limited to the
parts required for the functionality of the stack, unused
parts of the code are automatically excluded by the linker.
embOS/IP is written in ANSI C and, apart from the
The stack has been optimized for both, performance and code
size. The standard socket interface is complemented by the
zero-copy API, which allows reading and writing of data
without additional protocol buffers, if the target hardware
and driver support DMA.
embOS/IP allows any number of tasks to call API functions
concurrently. The stack itself uses typically two tasks
(one for housekeeping and one for packet reception), but
can also be used with just a single or even no task (polled
mode). The two-task model allows minimum interrupt latency
on systems without nested interrupts.
embOS/IP is organized in different layers: Application
Layer DHCP, DNS, FTP, HTTP, Telnet Transport Layer TCP, UDP
Network Layer IPv6, IPv4, ICMP, ARP, RARP, … Link Layer
Ethernet (IEEE 802.3), PPP, …
embOS/IP is offered in a BASE package which includes the
most important protocols related to Ethernet communication
and the stack itself. Depending on the engineer's needs
there are several protocols available as add-ons, as well
as the embOS/IP PRO software which includes a device
driver, and all addons for extended communication via
Internet. The following protocols are part of the basic
You can find the full list of additional modules here:
- ARP (Address resolution protocol)
- IP (Internet protocol)
- ICMP (Internet control message protocol)
- UDP (User datagram protocol)
- TCP (Transmission control protocol)
- Standard Socket API
- Zero-Copy API
- DNS client
- DHCP client
- Telnet server (sample)
embOS/IP WEB SERVER
The embOS/IP web server allows embedded systems to present
web pages with dynamically generated content. It has all
features typically required by embedded systems: multiple
connections, authentication, forms. The RAM usage of the
web server has been kept to a minimum by smart buffer
handling. The sockets interface can be used with any TCP/IP
embOS/IP FTP SERVER and FTP CLIENT
The embOS/IP FTP server can use the same file system as the
web server. It can be used in r/o or in r/w mode and allows
reading and modifying of configuration data or web content.
With the FTP client add-on data can be exchanged with any
FTP server .
emSSL Transport Layer
emSSL is a Transport Layer Security solution which allows
secure and private connections with single-chip systems
using as little as 7 kBytes of RAM. emSSL works perfectly
with embOS/IP. For more details about emSSL, please refer
to the product description on page 18.
embOS/IP PPP LINK LAYER
As an alternative to Ethernet PPP allows the use of IP via
modem or GSM. Further add-ons are available.
Universal Plug&Play module.
embOS/IP SNTP Client
Simple Network Time Protocol.
embOS/IP SMTP Client
The Client allows to send emails from your embedded system
via an email server.
Memory requirements depend on the used CPU, compiler,
memory model, as well as on various other factors. A
typical ROM size for a system using ARP, IP, ICMP, UDP, TCP
and sockets is about 18kB (on typical 32-bit
microcontroller with size optimization). Minimum RAM usage
is about 6KB for simple applications.