I have a problem with P1010 and Ethernet Communication. I configured a ring with 16 BDs. When I activate 1 BD to send data, nothing happens, just TBPTR0 jumps to the next BD. When the ring is full, all 0x8000-Bits are cleared and TBPTR0 jumps to 1. BD. The data is never send, also no error information in BD received. What could be the reason?
Solved! Go to Solution.
Well, if you see R bits cleared, it means the BDs have been processed.
Either, there are error indications in IEVENT or BDs, or the frames have been
sent out. For the single ready BD case, looks like a memory coherency
issue. Suggestions:
1. Make sure you are using physical, not virtual addresses for any eTSEC
DMA related pointers.
2. Make sure TxBD are 8-byte aligned
3. Make sure DMACTRL[TDSEN, TBDSEN] are set.
4. Set MACCFG1[Loop_Back], RCTRL[PROM] and see if anything is received
in the MAC loopback mode and/or any counter is updated.
Have a great day,
Platon
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------