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

FAVOURITE VERSION RELEASED COMMENTS DOCUMENTATION SOFTWARE
2.0.0 2025-12-02 Illustrates how to use lib_xtcp to implement UDP networking for xcore.ai devices. See AN00121 for xcore-200 version.for xcore-200 support. VIEW HTML VIEW 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 lib_xtcp Library and the ethernet board support component to provide a communication framework. It demonstrates how to send and receive text messages on the XMOS device in the network using the UDP stack using lib_xtcp. The 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/IP and Ethernet Libraries to provide a UDP loopback using a Reduced Media Independent Interface (RMII) and MAC interface supporting 100 Mbps.

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

Features

  • UDP connection handling

  • Common API to TCP/IP stack, 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)

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.