LPCOpen Platform  v1.03
LPCOpen Platform for NXP LPC Microcontrollers
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
enet.c File Reference
#include "board.h"
#include <stdio.h>
#include <string.h>

Go to the source code of this file.

Macros

#define ENET_NUM_TX_DESC   4
 
#define ENET_NUM_RX_DESC   4
 
#define ENET_RX_DESC_BASE   (0x20000000UL)
 
#define ENET_RX_STAT_BASE   (ENET_RX_DESC_BASE + ENET_NUM_RX_DESC * sizeof(ENET_RXDESC_T))
 
#define ENET_TX_DESC_BASE   (ENET_RX_STAT_BASE + ENET_NUM_RX_DESC * sizeof(ENET_RXSTAT_T))
 
#define ENET_TX_STAT_BASE   (ENET_TX_DESC_BASE + ENET_NUM_TX_DESC * sizeof(ENET_TXDESC_T))
 
#define ENET_RX_BUF_BASE   (ENET_TX_STAT_BASE + ENET_NUM_TX_DESC * sizeof(ENET_TXSTAT_T))
 
#define ENET_TX_BUF_BASE   (ENET_RX_BUF_BASE + ENET_NUM_RX_DESC * ENET_ETH_MAX_FLEN)
 
#define ENET_RX_BUF(i)   (ENET_RX_BUF_BASE + ENET_ETH_MAX_FLEN * i)
 
#define ENET_TX_BUF(i)   (ENET_TX_BUF_BASE + ENET_ETH_MAX_FLEN * i)
 

Functions

STATIC void localMsDelay (uint32_t ms)
 
STATIC void InitDescriptors (void)
 
STATIC void * ENET_RXGet (int32_t *bytes)
 
STATIC void ENET_RXBuffClaim (void)
 
STATIC void * ENET_TXBuffGet (void)
 
STATIC void ENET_TXQueue (int32_t bytes)
 
STATIC bool ENET_IsTXFinish (void)
 
void ETH_IRQHandler (void)
 Handle interrupt from ethernet.
 
int main (void)
 main routine for ENET example
 

Variables

STATIC ENET_RXDESC_TpRXDescs = (ENET_RXDESC_T *) ENET_RX_DESC_BASE
 
STATIC ENET_RXSTAT_TpRXStats = (ENET_RXSTAT_T *) ENET_RX_STAT_BASE
 
STATIC ENET_TXDESC_TpTXDescs = (ENET_TXDESC_T *) ENET_TX_DESC_BASE
 
STATIC ENET_TXSTAT_TpTXStats = (ENET_TXSTAT_T *) ENET_TX_STAT_BASE
 
STATIC int32_t rxConsumeIdx
 
STATIC int32_t txProduceIdx