AN00121 : Using XMOS TCP/IP Library for UDP-based Networking

VERSION RELEASED COMMENTS DOCUMENTATION SOFTWARE
3.0.0 2025-07-28 Updated to run on xcore-200 EVK (XK-EVK-XE216) and now supports the xcommon-cmake build system. VIEW HTML VIEW PDF ZIP
View older versions
2.0.1rc1 2016-01-08 DOWNLOAD PDF ZIP
2.0.0rc1 2015-03-22 DOWNLOAD PDF ZIP
INFO

Summary#

This application note demonstrates the use of XMOS TCP/IP stack on an XMOS multicore micro controller to communicate on an ethernet-based network.

The code associated with this application note provides an example of using the XMOS TCP/IP (XTCP) Library and the ethernet board support component to provide a communication framework. It demonstrates how to broadcast and receive text messages from and to the XMOS device in the network using the UDP stack from the XTCP library. The XTCP library features low memory footprint but provides a complete stack of various protocols.

Ethernet connectivity is an essential part of the explosion of connected devices known collectively as the Internet of Things (IoT). XMOS technology is perfectly suited to these applications - offering future proof and reliable ethernet connectivity whilst offering the flexibility to interface to a huge variety of “Things”.

The code associated with this application note provides an example of using the TCP and Ethernet Libraries to provide a UDP loopback using a Reduced Gigabit Media Independent Interface (RGMII) and MAC interface supporting 1000 Mbps.

Note: This application note requires an application to be run on the host machine to test the communication with the XMOS device.

Features#

  • TCP and UDP connection handling

  • Common API to selectable TCP stack, uIP/LwIP

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

  • Low level, event based interface for efficient memory usage

  • Supports IPv4 only, not IPv6

Known issues#

  • None

Required tools#

  • XMOS XTC Tools: 15.3.1

Required libraries (dependencies)#

滚动至顶部
Privacy 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.

3rd Party 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.