FreeRTOS-Kernel/FreeRTOS/Demo/lwIP_AVR32_UC3
Aniruddha Kanhere 1277ba1661
Revert "Remove coroutines (#874)" (#1019)
* Revert "Remove coroutines (#874)"

This reverts commit 569c78fd8c.

* Update freertos Kernel submodule to latest head

* Remove temporary files

* Fix MingW demos and spell check

* Fix manifest version; fix headers

* Add ignore files and paths to core-checker.py

* Fix copyright in remaining files

* Fix PR check build failure

1. Remove defining `inline` in Makefile. This was causing build
   warnings.
2. Ensure that the linker removed unused functions from various
   compilation units.
3. Update the linker script so that all the functions are correctly
   placed in FLASH section.

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>

---------

Signed-off-by: Gaurav Aggarwal <aggarg@amazon.com>
Co-authored-by: Gaurav Aggarwal <aggarg@amazon.com>
2023-06-09 15:25:48 -07:00
..
AT32UC3A Revert "Remove coroutines (#874)" (#1019) 2023-06-09 15:25:48 -07:00
BOARDS Add FreeRTOS-Plus directory. 2012-08-11 21:34:11 +00:00
DRIVERS Update the demo directory to use the version 8 type naming conventions. 2014-02-11 12:04:59 +00:00
NETWORK Update the demo directory to use the version 8 type naming conventions. 2014-02-11 12:04:59 +00:00
PARTEST Replace use of legacy portTYPE macros from old demos and standard demo files. 2013-12-29 14:49:03 +00:00
SERIAL Update the demo directory to use the version 8 type naming conventions. 2014-02-11 12:04:59 +00:00
SERVICES/USB/CLASS/DFU/EXAMPLES/ISP Add FreeRTOS-Plus directory. 2012-08-11 21:34:11 +00:00
UTILS Add FreeRTOS-Plus directory. 2012-08-11 21:34:11 +00:00
conf_eth.h Add FreeRTOS-Plus directory. 2012-08-11 21:34:11 +00:00
FreeRTOSConfig.h Revert "Remove coroutines (#874)" (#1019) 2023-06-09 15:25:48 -07:00
lwipopts.h Add FreeRTOS-Plus directory. 2012-08-11 21:34:11 +00:00
main.c Replace use of legacy portTYPE macros from old demos and standard demo files. 2013-12-29 14:49:03 +00:00
printf-stdarg.c Add FreeRTOS-Plus directory. 2012-08-11 21:34:11 +00:00
readme.html Add FreeRTOS-Plus directory. 2012-08-11 21:34:11 +00:00

<!doctype HTML public "-//W3C//DTD HTML 4.0 Frameset//EN">
<html>
   <head>
      <link rel="stylesheet" type="text/css" href="../../../../.docsrc/AVR32_ns.css">
   </head>
   <body>
<p align="left" class="whs2"><a href="../../../AVR32_SERVICES_Readme.html"<font color="red"></font>Back to the SERVICES main page</a></p>
<h1 align="center" class="whs1">AVR&reg;32 AT32UC3 Series Software Framework: Basic Web server and TFTP server example.<br>
</h1>

<p align="center" class="whs2">Copyright &copy; 2007 Atmel Corporation</p>

<h2>Introduction</h2>
    <p>This example implements a basic Web server and a basic TFTP server.
    It is running on top of the <a href="http://savannah.nongnu.org/projects/lwip"<font color="red"></font>lwIP TCP/IP stack</a> and the AVR32 UC3 <a href="http://freertos.org"<font color="red"></font>freeRTOS.org</a> port.</p>
    <p>This example thus contains a port of the <a href="http://savannah.nongnu.org/projects/lwip"<font color="red"></font>lwIP TCP/IP stack</a>. This port is using both the AVR32 UC3 <a href="http://freertos.org"<font color="red"></font>freeRTOS.org</a> port and the AVR32 UC3A MACB interface for the Ethernet access.</p>  

<p>&nbsp;</p>

<h2>lwIP TCP/IP stack</h2>
    <p>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.</p>
    <DT><B><u>lwIP features</u>:</B>
    <DD><p class="whs3"><li>IP (Internet Protocol) including packet forwarding over multiple network interfaces</p></li>
    <DD><p class="whs3"><li>ICMP (Internet Control Message Protocol) for network maintenance and debugging</p></li>
    <DD><p class="whs3"><li>UDP (User Datagram Protocol) including experimental UDP-lite extensions</p></li>
    <DD><p class="whs3"><li>TCP (Transmission Control Protocol) with congestion control, RTT estimation and fast recovery/fast retransmit</p></li>
    <DD><p class="whs3"><li>Specialized raw API for enhanced performance</p></li>
    <DD><p class="whs3"><li>Optional Berkeley-alike socket API</p></li>
    <DD><p class="whs3"><li>DHCP (Dynamic Host Configuration Protocol)</p></li>
    <DD><p class="whs3"><li>PPP (Point-to-Point Protocol)</p></li>
    <DD><p class="whs3"><li>ARP (Address Resolution Protocol) for Ethernet</p></li>
<p>lwIP is freely available (under a BSD-style license) in C source code format and can be downloaded from the <a href="http://savannah.nongnu.org/projects/lwip"<font color="red"></font>development homepage</a>.</p>
<p>&nbsp;</p>

<h2>The Basic Web server</h2>
    <p>Implements a simplistic WEB server. To use this demo part, define HTTP_USED to 1, else define to 0. (default is 1)</p>
    <B><u>Demo description</u>:</B> 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.</p>
    <B><u>Note</u>:</B> The WEB server is reachable at the IP address 192.168.0.2.

<p>&nbsp;</p>

<h2>The Basic TFTP server</h2>
    <p>Implements a simplistic TFTP server. To use this demo part, define TFTP_USED to 1, else define to 0. (default is 1)</p>
    <DT><B><u>Demo description</u>:</B> 
    <DD><p class="whs3"><li>To put a file onto the TFTP server (Supported file size < 2048 bytes), on a PC command line type <i><b>tftp 192.168.0.2 PUT "a_file"</i></b>: this will copy <i>a_file</i> from your hard drive to a RAM buffer of the demo.</p></li>
    <DD><p class="whs3"><li>To get a file from the TFTP server, on a PC command line type <i><b>tftp 192.168.0.2 GET "a_file"</i></b>: this will copy <i>a_file</i> from the RAM buffer of the application to the PC's hard drive.</p></li>
    <B><u>Note 1</u>:</B> 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.
    <p><B><u>Note 2</u>:</B> The TFTP server is reachable at the IP address 192.168.0.2.</p> 

<p>&nbsp;</p>

<h2>The Basic SMTP client</h2>
    <p>Implements a simplistic SMTP client. To use this demo part, define SMTP_USED to 1, else define to 0. (default is 0)</p>
    <DT><B><u>Demo description</u>:</B> 
    <DD><p class="whs3"><li>Prior to compile and run the SMTP client, you will have to configure the connection settings :
    <DD><DD><li>Server address : default is <i>192.168.0.1</i>.</li>
    <DD><DD><li>Server name : used in the EHLO field, default is <i>smtp.domain.com</i>.</li>
    <DD><DD><li>Mail sender : used in the mailfrom field, default is <i>sender@domain.com</i>.</li>
    <DD><DD><li>Mail recipient : used in the mailto field, default is <i>receiver@domain.com</i>.</li>
    <DD><DD><li>Mail content : default is <i>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</i>.</li>
    </p></li>
    <DD><p class="whs3"><li>Once all fields are configured, remove the <i>#error</i> lines to allow compilation.</p></li>
    <DD><p class="whs3"><li>Run the software and press Push Button 0 to send an email.</p></li>

<p>&nbsp;</p>

<h2>Device Info</h2>
    All AVR32 UC3A devices with a MACB module can be used. This example has been tested with the following setup(s):
    <DD><p class="whs3"><li type="disc">AT32UC3A0512 on the EVK1100 evaluation kit.</li></p>
    
<p>&nbsp;</p>


<hr align="center" width="50%" class="whs4">

    <p class=legalfooter>AVR is a registered trademark of
    Atmel Corporation.</p>

   </body>
</html>