lib_xtcp

VERSION RELEASED COMMENTS DOCUMENTATION SOFTWARE
6.2.0 2025-07-18 Supports TCP and UDP protocols on the xcore architecture. The library has been updated to use the new SW build system and the MAC components in the new lib_ethernet, and includes an example of a simple web server application. VIEW HTML VIEW PDF ZIP
View older versions
6.0.0rc2 2017-11-28 DOWNLOAD PDF ZIP
4.0.2rc1 2016-01-07 DOWNLOAD PDF ZIP
4.0.0rc1 2015-03-22 DOWNLOAD PDF ZIP

Summary¶

lib_xtcp is a library providing implementations of the Ethernet transport layer, designed to support host-to-host network communication by handling data exchange typically using TCP or UDP protocols. It provides a software defined Ethernet transport stack implementation that connects to and runs on the XMOS Ethernet library lib_ethernet to support layer-4 traffic over Ethernet via MII or RGMII, at 10/100/1000 Mb/s Ethernet data rates.

The library provides two alternative TCP/UDP/IP protocol stacks for XMOS devices. See the following section for further details.

Stacks¶

This library provides two different TCP/IP stack implementations ported to the xCORE architecture.

uIP stack¶

The first stack ported is the uIP (micro IP) stack. The uIP stack has been designed to have a minimal resource footprint. As a result, it has limited performance and does not provide support for TCP windowing.

lwIP stack¶

The second stack ported is the lwIP (lightweight IP) stack. The lwIP stack requires more resources than uIP, but is designed to provide better throughput and also has support for TCP windowing.

Features¶

  • TCP and UDP connection handling

  • Common API to selectable TCP stack, uIP/LwIP

  • TCP, UDP, DHCP, IP4LL, ICMP, IGMP

  • Low level, event based interface for efficient memory usage

  • Supports IPv4 only, not IPv6

Known issues¶

  • psock.c does output ftpgroup warnings. This does not affect operation. This is due to the stack not being calculable on code paths with a function pointer.

Development repo¶

Required tools¶

  • XMOS XTC Tools: 15.3.1

Required libraries (dependencies)¶

Support¶

This package is supported by XMOS Ltd. Issues can be raised against the software at http://www.xmos.com/support

Scroll to Top
Cookie Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.

Strictly Necessary Cookies

Strictly Necessary Cookie should be enabled at all times so that we can save your preferences for cookie settings.

Analytics Cookies

This website uses Google Analytics to collect anonymous information such as the number of visitors to the site, and the most popular pages.

Keeping this cookie enabled helps us to improve our website.