# ethernet.h File Reference

## Detailed Description

ethernet headers for AVR32 UC3.

- Compiler: IAR EWAVR32 and GNU GCC for AVR32
- Supported devices: All AVR32 devices can be used.
- AppNote:

Author:
  Atmel Corporation: http://www.atmel.com
  Support and FAQ: http://support.atmel.no/

Definition in file ethernet.h.

Go to the source code of this file.

## Functions
| portTASK_FUNCTION (vStartEthernetTask, pvParameters)
| create ethernet task, for ethernet management.
void | vStartEthernetTaskLauncher (unsigned portBASE_TYPE uxPriority)
| Create the vStartEthernetTask task.

## Function Documentation

portTASK_FUNCTION | ( | vStartEthernetTask | ,
|  | pvParameters |  |
| ) |  |  |

create ethernet task, for ethernet management.

Parameters:

  | pvParameters | Input; not used.
  | uxPriority | Input. priority for the task, it should be low

Definition at line 117 of file ethernet.c.

References lwipBASIC_SSL_CLIENT_PRIORITY, lwipBASIC_SSL_CLIENT_STACK_SIZE, lwipBASIC_WEB_SERVER_PRIORITY, lwipBASIC_WEB_SERVER_STACK_SIZE, prvlwIPInit(), and sys_thread_new().

    00118 {
    00119    static const gpio_map_t MACB_GPIO_MAP =
    00120    {
    00121       {AVR32_MACB_MDC_0_PIN,    AVR32_MACB_MDC_0_FUNCTION   },
    00122       {AVR32_MACB_MDIO_0_PIN,   AVR32_MACB_MDIO_0_FUNCTION  },
    00123       {AVR32_MACB_RXD_0_PIN,    AVR32_MACB_RXD_0_FUNCTION   },
    00124       {AVR32_MACB_TXD_0_PIN,    AVR32_MACB_TXD_0_FUNCTION   },
    00125       {AVR32_MACB_RXD_1_PIN,    AVR32_MACB_RXD_1_FUNCTION   },
    00126       {AVR32_MACB_TXD_1_PIN,    AVR32_MACB_TXD_1_FUNCTION   },
    00127       {AVR32_MACB_TX_EN_0_PIN,  AVR32_MACB_TX_EN_0_FUNCTION },
    00128       {AVR32_MACB_RX_ER_0_PIN,  AVR32_MACB_RX_ER_0_FUNCTION },
    00129       {AVR32_MACB_RX_DV_0_PIN,  AVR32_MACB_RX_DV_0_FUNCTION },
    00130       {AVR32_MACB_TX_CLK_0_PIN, AVR32_MACB_TX_CLK_0_FUNCTION}
    00131    };
    00132
    00133    // Assign GPIO to MACB
    00134    gpio_enable_module(MACB_GPIO_MAP, sizeof(MACB_GPIO_MAP) / sizeof(MACB_GPIO_MAP[0]));
    00135
    00136    /* Setup lwIP. */
    00137    prvlwIPInit();
    00138
    00139 #if (HTTP_USED == 1)
    00140    /* Create the WEB server task.  This uses the lwIP RTOS abstraction layer.*/
    00141    sys_thread_new( "WEB", vBasicWEBServer, ( void * ) NULL,
    00142                    lwipBASIC_WEB_SERVER_STACK_SIZE,
    00143                    lwipBASIC_WEB_SERVER_PRIORITY );
    00144 #endif
    00145
    00146 #if (SSL_USED == 1)
    00147    /* Create the SSL Client task.  This uses the lwIP RTOS abstraction layer.*/
    00148    sys_thread_new( "SSL", vBasicSSLClient, ( void * ) NULL,
    00149                    lwipBASIC_SSL_CLIENT_STACK_SIZE,
    00150                    lwipBASIC_SSL_CLIENT_PRIORITY );
    00151 #endif
    00152
    00153   // Kill this task.
    00154   vTaskDelete(NULL);
    00155 }

void vStartEthernetTaskLauncher | ( | unsigned portBASE_TYPE | uxPriority | ) |

Create the vStartEthernetTask task.

Parameters:

  | uxPriority | Input; priority of the task to create.

Definition at line 105 of file ethernet.c.

References configMINIMAL_STACK_SIZE.

Referenced by main().

    00106 {
    00107   /* Spawn the Sentinel task. */
    00108   xTaskCreate( vStartEthernetTask, ( const signed portCHAR * )"ETHLAUNCH",
    00109                configMINIMAL_STACK_SIZE, NULL, uxPriority, ( xTaskHandle * )NULL );
    00110 }