Texas Instruments TMS320C645x DSP Network Card User Manual


 
www.ti.com
2.5.5ReceiveBufferDescriptorFormat
EMACFunctionalArchitecture
Areceive(RX)bufferdescriptor(Figure10)isacontiguousblockoffour32-bitdatawordsalignedona
32-bitboundarythatdescribesapacketorapacketfragment.
Example2showsthereceivedescriptordescribedbyaCstructure.
Figure10.ReceiveDescriptorFormat
(a)Word0
310
NextDescriptorPointer
(b)Word1
310
BufferPointer
(c)Word2
3116150
BufferOffsetBufferLength
(d)Word3
3130292827262524
SOPEOPOWNEREOQTDOWNCMPLTPASSCRCJABBEROVERSIZE
2322212019181716
FRAGMENTUNDERSIZEDCONTROLOVERRUNCODEERRORALIGNERRORCRCERRORNOMATCH
150
PacketLength
Example2.ReceiveDescriptorinCStructureFormat
/*
//EMACDescriptor
//
//Thefollowingistheformatofasinglebufferdescriptor
//ontheEMAC.
*/
typedefstruct_EMAC_Desc{
struct_EMAC_Desc*pNext;/*Pointertonextdescriptorinchain*/
Uint8*pBuffer;/*Pointertodatabuffer*/
Uint32BufOffLen;/*BufferOffset(MSW)andLength(LSW)*/
Uint32PktFlgLen;/*PacketFlags(MSW)andLength(LSW)*/
}EMAC_Desc;
/*PacketFlags*/
#defineEMAC_DSC_FLAG_SOP0x80000000u
#defineEMAC_DSC_FLAG_EOP0x40000000u
#defineEMAC_DSC_FLAG_OWNER0x20000000u
#defineEMAC_DSC_FLAG_EOQ0x10000000u
#defineEMAC_DSC_FLAG_TDOWNCMPLT0x08000000u
#defineEMAC_DSC_FLAG_PASSCRC0x04000000u
#defineEMAC_DSC_FLAG_JABBER0x02000000u
#defineEMAC_DSC_FLAG_OVERSIZE0x01000000u
#defineEMAC_DSC_FLAG_FRAGMENT0x00800000u
#defineEMAC_DSC_FLAG_UNDERSIZED0x00400000u
#defineEMAC_DSC_FLAG_CONTROL0x00200000u
#defineEMAC_DSC_FLAG_OVERRUN0x00100000u
#defineEMAC_DSC_FLAG_CODEERROR0x00080000u
#defineEMAC_DSC_FLAG_ALIGNERROR0x00040000u
#defineEMAC_DSC_FLAG_CRCERROR0x00020000u
#defineEMAC_DSC_FLAG_NOMATCH0x00010000u
SPRU975BAugust2006EthernetMediaAccessController(EMAC)/ManagementDataInput/Output(MDIO)33
SubmitDocumentationFeedback