:orphan:

########################################################################
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 <https://www.xmos.com/libraries/lib_xtcp>`_
* `lib_board_support <https://www.xmos.com/libraries/lib_board_support>`_
* `lib_logging <http://www.xmos.com/libraries/lib_logging>`_

*************************
Related application notes
*************************

* `AN00120: 100Mbps RMII ethernet application note <https://www.xmos.com/file/an00120>`_
* `AN00199: XMOS Gigabit Ethernet application note (XK_EVK_XE216) <https://www.xmos.com/file/an00199-xmos-gigabit-ethernet-application-note>`_
