Hide navigation sidebar
Hide table of contents sidebar
Back to top
Toggle table of contents sidebar

# AN00121: Using XMOS TCP/IP Library for UDP-based Networking on XCORE-200

vendor:

  XMOS

version:

  3.0.0

scope:

  Example

description:

  Simple TCP/IP UDP networking example

category:

  Networking

keywords:

  Ethernet, MAC, RGMII, SMI, TCP, UDP

hardware:

  XK_EVK_XE216

## 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)

- lib_xtcp

- lib_board_support

- lib_logging

## Related application notes

- AN00120: 100Mbps RMII ethernet application note

- AN00199: XMOS Gigabit Ethernet application note (XK_EVK_XE216)