Back to main page

# AVR®32 AT32UC3 Series Software Library: Basic Web server and TFTP server example.

Copyright © 2007 Atmel Corporation

## Introduction

This example implements a basic Web server and a basic TFTP server. It is running on top of the lwIP TCP/IP stack and the AVR32 UC3 freeRTOS.org port.

This example thus contains a port of the lwIP TCP/IP stack. This port is using both the AVR32 UC3 freeRTOS.org port and the AVR32 UC3A MACB interface for the Ethernet access.

## lwIP TCP/IP stack

lwIP is an implementation of the TCP/IP protocol suite. The focus of the lwIP TCP/IP implementation is to reduce resource usage while still having a full scale TCP.

lwIP features:

  - IP (Internet Protocol) including packet forwarding over multiple network interfaces

  - ICMP (Internet Control Message Protocol) for network maintenance and debugging

  - UDP (User Datagram Protocol) including experimental UDP-lite extensions

  - TCP (Transmission Control Protocol) with congestion control, RTT estimation and fast recovery/fast retransmit

  - Specialized raw API for enhanced performance

  - Optional Berkeley-alike socket API

  - DHCP (Dynamic Host Configuration Protocol)

  - PPP (Point-to-Point Protocol)

  - ARP (Address Resolution Protocol) for Ethernet

  ## The Basic Web server

  Implements a simplistic WEB server.

  Demo description: Every time a connection is made and data is received, a dynamic page that shows the current FreeRTOS.org kernel statistics is generated and returned. The connection is then closed. Note: The WEB server is reachable at the IP address 192.168.0.2.

  ## The Basic TFTP server

  Implements a simplistic TFTP server.

Demo description:

  - To put a file onto the TFTP server (Supported file size < 2048 bytes), on a PC command line type tftp 192.168.0.2 PUT "a_file": this will copy a_file from your hard drive to a RAM buffer of the demo.

  - To get a file from the TFTP server, on a PC command line type tftp 192.168.0.2 GET "a_file": this will copy a_file from the RAM buffer of the application to the PC's hard drive.
  Note 1: only one file at a time is supported on this TFTP server. This is because the TFTP server being a simplistic example, it does not use a file system to store files but a predefined RAM area of 2048 Bytes.

  Note 2: The TFTP server is reachable at the IP address 192.168.0.2.

  ## Device Info

  All AVR32 UC3A devices with a MACB module can be used. This example has been tested with the following setup(s):

  - AT32UC3A0512 on the EVK1100 evaluation kit.

  ## Contact Info

  For more info about Atmel AVR32 visit Atmel AVR32
  AVR32 Application Notes
  Support mail: avr32@atmel.com

  ## License

  Copyright (c) 2007, Atmel Corporation All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. The name of ATMEL may not be used to endorse or promote products derived from this software without specific prior written permission.

  THIS SOFTWARE IS PROVIDED BY ATMEL ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

  AVR is a registered trademark of Atmel Corporation.