Texas Instruments TMS320C6000 User Manual page 30

Network developer’s kit (ndk) support package for evmdm642
Hide thumbs Also See for TMS320C6000:
Table of Contents

Advertisement

Ethernet Driver
Only some of these fields are used in a mini-driver. The structure entries as defined as shown in
Field
PhysIdx
hEther
hEvent
bMacAddr
Filter
MCastCnt
bMCast
TxFree
PBMQ_tx
5.3.3
Mini-Driver Operation
The Ethernet packet mini-driver maintains the device hardware, and services any required
communications interrupts. It is built around a simple open/close concept. When open, the driver is active,
and when closed, it is not. In general, it must implement the mini-driver API described in the following
section. The following sections provide additional information on its internal operation.
5.3.3.1
Receive Operation
The mini-driver receives packets when the device is open. When an Ethernet packet is received, it is
placed in a PBM packet buffer. Empty packet buffers are allocated by calling PBM_alloc().
30
TMS320C6000 Network Developer's Kit (NDK) Support Package for EVMDM642
Table 4. Structure Entries
Description
Physical Index of This Device (0 to –1). The physical index of the device determines
how the device instance is represented to the outside world. The mini-driver is not
concerned about the physical index.
Handle to Ethernet Driver. This is a handle NDK Ethernet instance that is bound to the
physical Ethernet driver. When a packet is received, it is tagged with this Ethernet
handle before being placed on the global PBMQ_rx queue. This allows the Ethernet
module to identify the ingress device.
Handle to Scheduler Event Object. The handle hEvent is used with the STKEVENT
function STKEVENT_signal() to signal the system whenever a new packet is received.
Ethernet MAC Address. This is a byte array that holds the Ethernet MAC address. It is
set to a default value by LLPACKET.C/NIMU_DM642.C, but can be used or altered by
the mini-driver when the device opens. If the MAC contains its own unique MAC
address, this value is written to bMacAddr. If the MAC does not have a MAC address,
the value bMacAddr programs the MAC device.
Current Rx Filter. The receive filter determines how the packet device should filter
incoming packets. This field is set by LLPACKET.C/ NIMU_DM642.C and used by the
mini-driver to program the MAC. Legal values include:
• ETH_PKTFLT_NOTHING: No Packets
• ETH_PKTFLT_DIRECT: Only directed Ethernet
• ETH_PKTFLT_BROADCAST: Directed plus Ethernet Broadcast
• ETH_PKTFLT_MULTICAST: Directed, Broadcast, and selected Ethernet Multicast
• ETH_PKTFLT_ALLMULTICAST: Directed, Broadcast, and all Multicast
• ETH_PKTFLT_ALL: All packets
Number of Multicast Addresses Installed. The field holds the current number of
multicast addresses stored in the multicast address list (also in this structure). The
multicast address list determines what multicast addresses (if any) the MAC is allowed
to receive.
Multicast Address List. This field is a byte array of consecutive 6 byte multicast MAC
addresses. The number of valid addresses is stored in the MCastCnt field. The
multicast address list determines what multicast addresses (if any) the MAC is allowed
to receive.
Transmitter Free Flag. The TxFree flag is used by LLPACKET.C/ NIMU_DM642.C to
determine if a new packet can be sent immediately by the mini-driver, or if it should be
placed on the transmit pending queue for later. If the flag is not zero, the mini-driver
function HwPktTxNext() is called when a new packet is queued for transmission. This
flag is maintained by the mini-driver.
Transmit Pending Queue. The transmit pending queue holds all the packets waiting to
be sent on the Ethernet device. The mini-driver pulls PBM packet buffers off this queue
in its HwPktTxNext() function and posts them to the Ethernet MAC for transmit. Once
the packet has been transmitted, the packet buffer is freed by calling PBM_free().
SPRUES5A – January 2007 – Revised June 2008
Submit Documentation Feedback
www.ti.com
Table
4:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the TMS320C6000 and is the answer not in the manual?

Subscribe to Our Youtube Channel

Table of Contents