NetScheduler
(wait f or any HWI (Eth / Serial) / Timer ev ents
using SEM)
No
Any Pending Ethernet
NIMUPacketServ ice
Dev ice Registered "pkt_serv ice" callback
Emac_PktServ ice
Any pending packet in Rx
Queue (PBMQ_rx)?
Return;
Any more packets?
Dequeue Packet
NIMUReceiv ePacket
IPRxPacket / LLIRxPacket /pppoeInput /
IPv 6RxPacket
NDK Stack Processing
User Application
The receive path for Ethernet packets is as follows:
Ev ents?
Y es
Return
f unction
No
Y es
Socket
APIs
Stack Rx Ev ent Set
(Post SEM to indicate Eth HWI)
Return a new
Emac_Pkt ty pe
packet buf f er
to replenish BD
(Validate Packet f lags and buf f er len; Handov er
StatisticsUpdate
(pf cbStatistics)
Y es
(Driv er registered Stats
update f unction
notif ied)
StatusUpdate
(pf cbStatus)
(Driv er registered
Status update f unction
notif ied to indicate error
/ status change)
Return
Notif y Stack of pending Rx Ev ent
Enqueue in dev ice Rx Queue (PBMQ_rx)
RxPacket (pf cbRxPacket)
(Driv er registered Packet Receiv e Handler)
emacDequeueRx
packet to driv er; )
(If v alid BD obtained f rom RxPacket return,
enqueue it and if need be start Receiv er by
setting RxnHDP)
Y es
Is v alid Rx interrupt on
this channel?
No
Is Stat Pending Interrupt?
No
Y es
Is Host Interrupt?
EMAC_RxServ iceCheck
HwRxInt / HwInt (Rx Interrupt Serv ice Routine)
Ethernet Packet Receiv ed
by EMAC Hw. DSP
Interrupt Raised f or EMAC
Architecture Overview
Flow Charts
Return
Return
1-7
Need help?
Do you have a question about the TMS320C6000 and is the answer not in the manual?
Questions and answers