Updated AVR32 demos and added AVR32 UC3B demo.

This commit is contained in:
Richard Barry 2007-07-27 07:59:50 +00:00
parent 45e7e5ac55
commit 94c94d3c0e
164 changed files with 21458 additions and 3994 deletions

View file

@ -1,5 +1,3 @@
/* This source file is part of the ATMEL FREERTOS-0.9.0 Release */
/*This file has been prepared for Doxygen automatic documentation generation.*/
/*! \file *********************************************************************
*
@ -10,7 +8,7 @@
* - AppNote:
*
* \author Atmel Corporation: http://www.atmel.com \n
* Support email: avr32@atmel.com
* Support and FAQ: http://support.atmel.no/
*
*****************************************************************************/
@ -58,7 +56,9 @@
/* ethernet includes */
#include "ethernet.h"
#include "AVR32_EMAC.h"
#include "conf_eth.h"
#include "macb.h"
#include "gpio.h"
#if (HTTP_USED == 1)
#include "BasicWEB.h"
@ -87,7 +87,7 @@
//_____ D E F I N I T I O N S ______________________________________________
/* global variable containing MAC Config (hw addr, IP, GW, ...) */
struct netif EMAC_if;
struct netif MACB_if;
//_____ D E C L A R A T I O N S ____________________________________________
@ -105,6 +105,23 @@ static void prvEthernetConfigureInterface(void * param);
*/
void vStartEthernetTask( unsigned portBASE_TYPE uxPriority )
{
static const gpio_map_t MACB_GPIO_MAP =
{
{AVR32_MACB_MDC_0_PIN, AVR32_MACB_MDC_0_FUNCTION },
{AVR32_MACB_MDIO_0_PIN, AVR32_MACB_MDIO_0_FUNCTION },
{AVR32_MACB_RXD_0_PIN, AVR32_MACB_RXD_0_FUNCTION },
{AVR32_MACB_TXD_0_PIN, AVR32_MACB_TXD_0_FUNCTION },
{AVR32_MACB_RXD_1_PIN, AVR32_MACB_RXD_1_FUNCTION },
{AVR32_MACB_TXD_1_PIN, AVR32_MACB_TXD_1_FUNCTION },
{AVR32_MACB_TX_EN_0_PIN, AVR32_MACB_TX_EN_0_FUNCTION },
{AVR32_MACB_RX_ER_0_PIN, AVR32_MACB_RX_ER_0_FUNCTION },
{AVR32_MACB_RX_DV_0_PIN, AVR32_MACB_RX_DV_0_FUNCTION },
{AVR32_MACB_TX_CLK_0_PIN, AVR32_MACB_TX_CLK_0_FUNCTION}
};
// Assign GPIO to MACB
gpio_enable_module(MACB_GPIO_MAP, sizeof(MACB_GPIO_MAP) / sizeof(MACB_GPIO_MAP[0]));
/* Setup lwIP. */
prvlwIPInit();
@ -119,8 +136,8 @@ void vStartEthernetTask( unsigned portBASE_TYPE uxPriority )
#endif
#if (SMTP_USED == 1)
/* Create the SMTP Host task. This uses the lwIP RTOS abstraction layer.*/
sys_thread_new( vBasicSMTPHost, ( void * ) NULL, ethSMTPHOST_PRIORITY );
/* Create the SMTP Client task. This uses the lwIP RTOS abstraction layer.*/
sys_thread_new( vBasicSMTPClient, ( void * ) NULL, ethSMTPCLIENT_PRIORITY );
#endif
}
@ -156,39 +173,39 @@ extern err_t ethernetif_init( struct netif *netif );
portCHAR MacAddress[6];
/* Default MAC addr. */
MacAddress[0] = emacETHADDR0;
MacAddress[1] = emacETHADDR1;
MacAddress[2] = emacETHADDR2;
MacAddress[3] = emacETHADDR3;
MacAddress[4] = emacETHADDR4;
MacAddress[5] = emacETHADDR5;
MacAddress[0] = ETHERNET_CONF_ETHADDR0;
MacAddress[1] = ETHERNET_CONF_ETHADDR1;
MacAddress[2] = ETHERNET_CONF_ETHADDR2;
MacAddress[3] = ETHERNET_CONF_ETHADDR3;
MacAddress[4] = ETHERNET_CONF_ETHADDR4;
MacAddress[5] = ETHERNET_CONF_ETHADDR5;
/* pass the EMAC address to AVR32_EMAC module */
vEMACSetMACAddress( MacAddress );
/* pass the MAC address to MACB module */
vMACBSetMACAddress( MacAddress );
/* set MAC hardware address length to be used by lwIP */
EMAC_if.hwaddr_len = 6;
MACB_if.hwaddr_len = 6;
/* set MAC hardware address to be used by lwIP */
memcpy( EMAC_if.hwaddr, MacAddress, EMAC_if.hwaddr_len );
memcpy( MACB_if.hwaddr, MacAddress, MACB_if.hwaddr_len );
/* Default ip addr. */
IP4_ADDR( &xIpAddr,emacIPADDR0,emacIPADDR1,emacIPADDR2,emacIPADDR3 );
IP4_ADDR( &xIpAddr,ETHERNET_CONF_IPADDR0,ETHERNET_CONF_IPADDR1,ETHERNET_CONF_IPADDR2,ETHERNET_CONF_IPADDR3 );
/* Default Subnet mask. */
IP4_ADDR( &xNetMask,emacNET_MASK0,emacNET_MASK1,emacNET_MASK2,emacNET_MASK3 );
IP4_ADDR( &xNetMask,ETHERNET_CONF_NET_MASK0,ETHERNET_CONF_NET_MASK1,ETHERNET_CONF_NET_MASK2,ETHERNET_CONF_NET_MASK3 );
/* Default Gw addr. */
IP4_ADDR( &xGateway,emacGATEWAY_ADDR0,emacGATEWAY_ADDR1,emacGATEWAY_ADDR2,emacGATEWAY_ADDR3 );
IP4_ADDR( &xGateway,ETHERNET_CONF_GATEWAY_ADDR0,ETHERNET_CONF_GATEWAY_ADDR1,ETHERNET_CONF_GATEWAY_ADDR2,ETHERNET_CONF_GATEWAY_ADDR3 );
/* add data to netif */
netif_add( &EMAC_if, &xIpAddr, &xNetMask, &xGateway, NULL, ethernetif_init, tcpip_input );
netif_add( &MACB_if, &xIpAddr, &xNetMask, &xGateway, NULL, ethernetif_init, tcpip_input );
/* make it the default interface */
netif_set_default( &EMAC_if );
netif_set_default( &MACB_if );
/* bring it up */
netif_set_up( &EMAC_if );
netif_set_up( &MACB_if );
}