This is the LPC18xx/43xx EMAC driver for LWIP. This driver supports both RTOS-based and no-RTOS operation with LWIP. WHen using an RTOS, several threads will be created for handling RX and TX packet fucntions.
Note that some LWIP examples may not necessarily use all the provided LWIP driver functions or may contain overriden versions of the functions. (For example, PHY drives may have their own implementation of the MII read/write functions).
Driver transmit and receive thread priorities Thread priorities for receive thread and TX cleanup thread. Alter to prioritize receive or transmit bandwidth. In a heavily loaded system or with LWIP_DEBUG enabled, the priorities might be better the same.
Definition at line 80 of file lpc18xx_43xx_emac.c.
| void ETH_IRQHandler |
( |
void |
| ) |
|
EMAC interrupt handler.
- Returns
- Nothing
- Note
- This function handles the transmit, receive, and error interrupt of the LPC118xx/43xx. This is meant to be used when NO_SYS=0.
Definition at line 813 of file lpc18xx_43xx_emac.c.
| static err_t low_level_init |
( |
struct netif * |
netif | ) |
|
|
static |
| void lpc_emac_set_duplex |
( |
int |
full_duplex | ) |
|
Set up the MAC interface duplex.
- Parameters
-
| full_duplex | : 0 = half duplex, 1 = full duplex |
- Returns
- Nothing
- Note
- This function provides a method for the PHY to setup the EMAC for the PHY negotiated duplex mode.
Definition at line 792 of file lpc17xx_40xx_emac.c.
| void lpc_emac_set_speed |
( |
int |
mbs_100 | ) |
|
Set up the MAC interface speed.
- Parameters
-
| mbs_100 | : 0 = 10mbs mode, 1 = 100mbs mode |
- Returns
- Nothing
- Note
- This function provides a method for the PHY to setup the EMAC for the PHY negotiated bit rate.
Definition at line 803 of file lpc17xx_40xx_emac.c.
| err_t lpc_enetif_init |
( |
struct netif * |
netif | ) |
|
LWIP 18xx/43xx EMAC initialization function.
- Parameters
-
| netif | : lwip network interface structure pointer |
- Returns
- ERR_OK if the loopif is initialized, or ERR_* on other errors
- Note
- Should be called at the beginning of the program to set up the network interface. This function should be passed as a parameter to netif_add().
LWIP 18xx/43xx EMAC initialization function.
- Parameters
-
| netif | : lwip network interface structure pointer |
- Returns
- ERR_OK if the loopif is initialized, or ERR_* on other errors
- Note
- Should be called at the beginning of the program to set up the network interface. This function should be passed as a parameter to netif_add().
Definition at line 814 of file lpc17xx_40xx_emac.c.
| void lpc_enetif_input |
( |
struct netif * |
netif | ) |
|
Attempt to read a packet from the EMAC interface.
- Parameters
-
| netif | : lwip network interface structure pointer |
- Returns
- Nothing
Definition at line 693 of file lpc17xx_40xx_emac.c.
| static err_t lpc_etharp_output |
( |
struct netif * |
netif, |
|
|
struct pbuf * |
q, |
|
|
ip_addr_t * |
ipaddr |
|
) |
| |
|
static |
| static struct pbuf* lpc_low_level_input |
( |
struct netif * |
netif | ) |
|
|
staticread |
| static err_t lpc_low_level_output |
( |
struct netif * |
netif, |
|
|
struct pbuf * |
sendp |
|
) |
| |
|
static |
| s32_t lpc_rx_queue |
( |
struct netif * |
netif | ) |
|
Attempt to allocate and requeue a new pbuf for RX.
- Parameters
-
| netif | : lwip network interface structure pointer |
- Returns
- The number of new descriptors queued
Definition at line 658 of file lpc17xx_40xx_emac.c.
| static err_t lpc_rx_setup |
( |
struct lpc_enetdata * |
lpc_netifdata | ) |
|
|
static |
| static void lpc_rxqueue_pbuf |
( |
struct lpc_enetdata * |
lpc_netifdata, |
|
|
struct pbuf * |
p |
|
) |
| |
|
static |
| s32_t lpc_tx_ready |
( |
struct netif * |
netif | ) |
|
Polls if an available TX descriptor is ready.
- Parameters
-
| netif | : lwip network interface structure pointer |
- Returns
- 0 if no descriptors are read, or >0
- Note
- Can be used to determine if the low level transmit function will block
Definition at line 738 of file lpc17xx_40xx_emac.c.
| void lpc_tx_reclaim |
( |
struct netif * |
netif | ) |
|
Call for freeing TX buffers that are complete.
- Parameters
-
| netif | : lwip network interface structure pointer |
- Returns
- Nothing
Definition at line 731 of file lpc17xx_40xx_emac.c.
| static err_t lpc_tx_setup |
( |
struct lpc_enetdata * |
lpc_netifdata | ) |
|
|
static |
Millisecond Delay function.
- Parameters
-
- Returns
- None
Millisecond Delay function.
- Parameters
-
| ms | : Delay period in milliseconds |
- Returns
- None Delay for the specified number of milliSeconds. This function is used by LWIP stack in stand-alone configuration
Millisecond Delay function.
Delay function.
- Parameters
-
| ms | : Number of milliSeconds to delay |
- Returns
- Nothing Needed for some functions, do not use prior to FreeRTOS running
Definition at line 300 of file lpc43xx_systick.c.
| static portTASK_FUNCTION |
( |
vPacketReceiveTask |
, |
|
|
pvParameters |
|
|
) |
| |
|
static |
| static portTASK_FUNCTION |
( |
vTransmitCleanupTask |
, |
|
|
pvParameters |
|
|
) |
| |
|
static |