Back to the SERVICES main page

# AVR®32 AT32UC3 Series Software Framework: 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

  lwIP is freely available (under a BSD-style license) in C source code format and can be downloaded from the development homepage.

  ## The Basic Web server

  Implements a simplistic WEB server. To use this demo part, define HTTP_USED to 1, else define to 0. (default is 1)

  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. To use this demo part, define TFTP_USED to 1, else define to 0. (default is 1)

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.

  ## The Basic SMTP client

  Implements a simplistic SMTP client. To use this demo part, define SMTP_USED to 1, else define to 0. (default is 0)

Demo description:

  - Prior to compile and run the SMTP client, you will have to configure the connection settings :
  - Server address : default is 192.168.0.1.
  - Server name : used in the EHLO field, default is smtp.domain.com.
  - Mail sender : used in the mailfrom field, default is sender@domain.com.
  - Mail recipient : used in the mailto field, default is receiver@domain.com.
  - Mail content : default is Subject: *** SPAM ***\r\nFROM: \"Your Name here\" <sender@domain.com>\r\nTO: \"Your Contact here\" <receiver@domain.com>\r\n\r\nSay what you want here.

  - Once all fields are configured, remove the #error lines to allow compilation.

  - Run the software and press Push Button 0 to send an email.

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

  AVR is a registered trademark of Atmel Corporation.