![]() |
Modules | |
DM9000E Registers | |
Register definitions. | |
Functions | |
void | NicRxLanc (void *arg) |
int | DmOutput (NUTDEVICE *dev, NETBUF *nb) |
Send Ethernet packet. | |
int | DmInit (NUTDEVICE *dev) |
Initialize Ethernet hardware. | |
Variables | |
NUTDEVICE | devDm9000 |
Device information structure. |
The DM9000E chip is used in the Ethernut 3 reference design.
void NicRxLanc | ( | void * | arg | ) |
Definition at line 818 of file dm9000.c.
References _BV, IRQ0_ID, NICINFO::ni_rx_rdy, NIC_SIGNAL, NUT_IRQMODE_HIGHLEVEL, NutEventPost(), NutEventWait(), NutIrqEnable(), NutIrqSetMode(), NutNetBufFree(), NutSleep(), NutThreadSetPriority(), outr, and PMC_PCER.
int DmOutput | ( | NUTDEVICE * | dev, | |
NETBUF * | nb | |||
) |
Send Ethernet packet.
dev | Identifies the device to use. | |
nb | Network buffer structure containing the packet to be sent. The structure must have been allocated by a previous call NutNetBufAlloc(). |
Definition at line 926 of file dm9000.c.
References NICINFO::ni_tx_rdy, NutEventPost(), and NutEventWait().
int DmInit | ( | NUTDEVICE * | dev | ) |
Initialize Ethernet hardware.
Resets the LAN91C111 Ethernet controller, initializes all required hardware registers and starts a background thread for incoming Ethernet traffic.
Applications should do not directly call this function. It is automatically executed during during device registration by NutRegisterDevice().
If the network configuration hasn't been set by the application before registering the specified device, this function will call NutNetLoadConfig() to get the MAC address.
dev | Identifies the device to initialize. |
Definition at line 986 of file dm9000.c.
References _BV, memset(), NIC_ISR, NIC_ISR_IOM, NIC_ISR_M32, NIC_PID, NIC_SIGNAL, NIC_VID, NicRxLanc(), NUT_THREAD_NICRXSTACK, NUT_THREAD_STACK_ADD, NUT_THREAD_STACK_MULT, NutRegisterIrqHandler(), NutThreadCreate(), outr, PA20_NCS2_B, PC16_NWAIT_B, PC21_NWR0_B, PC22_NRD_B, SMC_BAT, and SMC_DBW_16.
NUTDEVICE devDm9000 |
Initial value:
{ 0, {'e', 't', 'h', '0', 0, 0, 0, 0, 0}, IFTYP_NET, 0, 0, &ifn_eth0, &dcb_eth0, DmInit, 0, 0, 0, 0, 0, 0, 0 }
A pointer to this structure must be passed to NutRegisterDevice() to bind this Ethernet device driver to the Nut/OS kernel. An application may then call NutNetIfConfig() with the name eth0 of this driver to initialize the network interface.