TCP/IP Networking

A compact, reliable, high-performance TCP/IP protocol stack
designed for embedded applications, featuring dual IPv4 and IPv6 support.

Return to the µC/OS Overview

Features

Key Features

Micrium's TCP/IP stack includes the following features:

  • Supports multiple interfaces and multiple IP addresses per interface (multihoming)
  • Support IPv4 and IPv6
  • BSD socket API with most popular socket option
  • Scalable to contain only required features and minimize memory footprint.
  • SSL/TLS socket option (sold separately).
  • High performance/bandwidth

IPv6 Support

Micrium's TCP/IP stack provides IPv6 support, allowing embedded devices to have unique IP addresses across the Internet. With IPv6, your embedded device can take advantage of the new Neighbor Discovery Protocol (NDP), and superior multicast support.

Switching to IPv6 is easy, and µC/OS allows for simultaneous use of IPv4 and IPv6. Micrium provides its IPv4 and IPv6 network stacks separately, and they can be used in your product individually or in tandem.

Micrum’s support for IPv6 includes:

  • IPv6 Node
  • SLAAC (IPv6 stateless address autoconfiguration )
  • IPv6 Multicast (MLD)
  • Neighbour Discovery Protocol (NDP)
  • ICMPv6 (echo request/response)

SSL Module (optional)

The SSL / TLS specification is the world's most widely-implemented security protocol.

Micrium's SSL module is ideal for IoT devices — such as medical equipment, industrial sensors, smart grid devices, camcorders, and many others — that need to transport data securely over the Internet.

Our SSL module is built for efficiency and high performance with support for TLS 1.2 and TLS certificate management. The memory footprint is remarkably small: 60K of RAM is required per secured socket.

This module is available as an option.

Contact Micrium to learn more about our SSL module, developed by our partner Mocana.

Specifications and RFC Compliance

Specifications

Micrium's TCP/IP specifications include, but are not limited to, the following:

Supported processors Wide-ranging support. Nearly every processor works with Micrium's TCP/IP stack.
Related network applications DHCP Client, DNS Client, HTTP Client, HTTP Server, FTP Client, TFTP Server, TFTP Client, SMTP Client, SNMP Agent, SNTP Client, TELNET Server.
Real-time kernel Required. Micrium’s μC/OS-III or μC/OS-II suggested and supported.
Transport layer TCP and/or UDP
Protocols supported Multicast transmission and reception (IGMPv2), IPv6 Multicast (MLD), ICMPv6, ARP, Neighbor Discovery Protocol (NDP)
Interface type Ethernet (802.3 and Ethernet), Wi-Fi, Loopback
Socket API Two sets of socket APIs: one proprietary and another a standard BSD socket.

Stack Compliance

Micrium uses Ixia’s IxANVL to validate the compliance of the stack with the networking RFCs. IxANVL is used by Developers and manufacturers of networking equipment and Internet devices to validate protocol compliance and interoperability.

The table below lists the different RFCs supported by Micrium's TCP/IP.

Transport
  • UDP (RFC #768)
  • TCP (RFC #793, #813, #879, #896, #2001, #2584, #2988)
  • TCP Congestion Control (RFC #5681)
  • TCP’s Retransmission Timer (RFC #6298)
IPv4
  • Internet Protocol Specification (IPv4) (RFC #791, #950, #1071, #3927)
  • IP Datagram Reassembly Algorithms (RFC #815)
  • Ethernet Address Resolution Protocol (ARP) (RFC #826)
  • Internet Control Message Protocol Specification (ICMP) (RFC #792)
  • Host Extensions for IP Multicasting (RFC #1112)
  • Internet Group Management Protocol, Version 2 (IGMPv2) (RFC #2113)
IPv6
  • IPv6 Specification (RFC #2460, #2464, #4291)
  • IPv6 Node Requirements (RFC #4294)
  • Internet Control Message Protocol Version 6 (ICMPv6) (RFC #4443)
  • Neighbor Discovery for IP version 6 (NDP) (RFC #4861)
  • Multicast Listener Discovery (MLD) for IPv6 (RFC #2710)
  • Basic Socket Interface Extensions for IPv6 (RFC #3493)
  • Default Address Selection for Internet Protocol version 6 (RFC #3484)
Interface Ethernet (RFC #894, #1042)

TCP/IP Layers

Micrium's TCP/IP requires the presence of a kernel for task scheduling and mutual exclusion. To meet this requirement, Micrium provides source code to allow network applications to readily accommodate μC/OS-II and μC/OS-III.

TCPIP-Layers

Drivers

Drivers for Network Controllers

Micrium's TCP/IP provides drivers for the following controllers:

  • Ethernet
  • Wi-Fi
  • PHY

The tables below show the list of hardware architectures from our silicon partners for which we provide controller support. It also indicates its location indicating if it is part of the microcontroller (MCU), part of a field-programmable gate array (FPGA), or external to the device (External).

If you don’t see the driver you are looking for please contact our sales department. We can give you the latest information on new driver development.

Ethernet

Micrium's TCP/IP provides these Ethernet controller drivers:

Manufacturer Driver Device Family Location MAC Type
Altera TSE Stratix V, Stratix IV, Arria V, Arria II, Cyclone V, Cyclone IV & HardCopy IV FPGA Ethernet 10/100/1000
Altera HPS EMAC Altera SoC HPS Ethernet 10/100/1000
Atmel AT91RM9200 RM9200 MCU Ethernet 10/100
Atmel GEM ATSAMA5 MCU Ethernet 10/100/1000
Atmel MACB AVR32 MCU Ethernet 10/100
Atmel MACB_AP7000 AVR32 AP7000 MCU Ethernet 10/100
Davicom DM9000 - External Ethernet 10/100
Freescale FEC - MCU Ethernet 10/100
Freescale FEC_MPC55xx MPC55xx MCU Ethernet 10/100
Freescale MACNet Kinetis MCU Ethernet 10/100
STMicroelectronics
Fujitsu
NXP
GMAC STM32Fxxxx MB9BFD10T MB9BF610T MB9BF210T LPC185x LPC183x LPC435x LPC433x MCU Ethernet 10/100
Luminary Micro LM3S9Bxx LM3S9B9x MCU Ethernet 10/100
Luminary Micro LM3Sxxxx LM3Sxxxx MCU Ethernet 10/100
Microchip PIC32 PIC32MX6/7 MCU Ethernet 10/100
Microsemi A2Fx00 A2Fx00 MCU Ethernet 10/100
NXP LPCxxxx LPC17xx LPC23xx LPC24xx LPC32x0 MCU Ethernet 10/100
Renesas H8S2472 H8S2472 MCU Ethernet 10/100
Renesas RX-EtherC RX62N RX63N MCU Ethernet 10/100
Renesas RZ-EtherC RZ/A1 MCU Ethernet 10/100
Renesas SH-EtherC SH-Ether MCU Ethernet 10/100
SMSC LAN911x LAN911x External Ethernet 10/100
STMicroelectronics STM32Fxxx STM32Fxxx MCU Ethernet 10/100
STMicroelectronics STR912 STR912 MCU Ethernet 10/100
Texas Instruments OMAP-L1x OMAP-L137 OMAP-L138 MCU Ethernet 10/100
Toshiba TMPM369 TMPM369 MCU Ethernet 10/100
Xilinx EtherLite 6/7-Series Ultrascale Ultrascale+ FPGA Ethernet 10/100
Xilinx GEM Zynq-7000 MCU Ethernet 10/100/1000
Xilinx XPS_LL_TEMAC Virtex-5 LX, Virtex-5 LXT, Virtex-5 SXT, Virtex-4 FX, Virtex-4 LX, Virtex-4 SX, Spartan-6, Spartan-3A, Spartan-3A DSP, Spartan-3AN & Virtex-6 FPGA Ethernet 10/100/1000
µC/USBD CDC EEM Host CDC EEM External USB

Wi-Fi

Micrium's TCP/IP provides these Wi-Fi controller drivers:

Manufacturer Driver Device Family Location MAC Type
Gainspan GS2xxx GS2xxx External WiFi – SPI
Qualcomm-Atheros QCA400x GT202 | QCA400x External WiFi – SPI
Redpine Signals RS9110n2x RS9110-N-11-2x-(xx) External Wi-Fi

PHY

Micrium's TCP/IP provides these physical layer (PHY) drivers:

Manufacturer Driver PHY Chip Media Interface Media Interface Location
- Generic - (R)MII EMAC
Texas Instruments DP83848C DP83848C (R)MII EMAC
Texas Instruments DP83640 DP83640 (R)MII EMAC
AMD AM79C874 AM79C874 (R)MII EMAC
Marvell 88E1111 88E1111 GMII/RGMII/MII EMAC
Micrel KSZ9021RN/RL KSZ9021R GMII/RGMII/MII EMAC

Network Applications

DHCP Client Dynamic Host Configuration Protocol – client

  • Transmit and receive option is supported
  • IPv4 Only
DNS Client Domain Name System – client

  • Support IPv4 and IPv6
  • Auto select best address
  • Integrated cache
FTP Client File Transfer Protocol – client

  • Support authentication.
  • Transfer via buffers or files (file system required).
  • Support SSL (Secure Sockets Layer)
HTTP Client Hypertext Transfer Protocol – Web client

  • Full support for HTTP 1.1 (RFC 2616)
  • All HTTP methods suported (GET, POST, PUT, DELETE, HEAD, OPTIONS, and TRACE)
  • Support for WebSocket
  • Support for persistent connections
  • HTTP header field processing (HTTP cookies)
  • HTTP query string processing
  • Support multiple simultaneous connection with multiple HTTP Server
HTTP Server Hypertext Transfer Protocol – Web server

  • Supports multi connection - up to 255 client connections
  • Supports any file system, or can be used via a static file system, which is provided
  • Highly customizable via hook functions
  • Include add-on for advanced functionalities such as Authentication Module and REST Framework
MQTT Client MQTT messaging protocol

  • Supports multiple simultaneous connections with multiple MQTT brokers
  • Support for multiple message in the air simultaneously
  • Unlimited number of connections and messages
  • Support all Qualities of Service (QoS-0, QoS-1 & QoS-2)
SMTP Client Simple Mail Transfer Protocol – client

  • Support for SSL/TLS
  • Support Authentication
SNMP Agent

Simple Network Management Protocol Agent.

This application is provided by DMH Software. More details available here.

  • Delivered as a source code SDK in highly portable ANSI C, or as a binary SDK
  • SNMPv3 support
  • Includes MIB compiler
  • Full implementation of SNMP Version 3 Agent with USM, VACM and SNMPv3 application MIBs
SNTP Client Simple Network Time Protocol – client
Telnet Server Telnet – server

  • Integrated with uCOS-Shell
  • Support authentication uCOS-Common
  • Support SSL (Secure Sockets Layer).
TFTP Client Trivial File Transfer Protocol – client

  • Transfer and reception via buffers or files (file system required).
TFTP Server Trivial File Transfer Protocol – server

  • Support any file system; a file system is required.

Licensing

Licensing Packages That Meet Your Needs

Micrium embedded components are priced as individual modules or as bundled solutions. Check out our licensing page for more information.

Documentation

Micrium's user documentation is available online on the Micrium documentation site.

Contact us today and start working with µC/OS