I've configured FEC in a MPC5604 to send frames to a PC. I sniffe PC ethernet port to verify that the data has been sent. It works, but the data received in PC is sometimes inverted or lost.
First, I configure I/Os, configure and start ethernet devices, configure the PHY with all reference manual recommandations, and it works perfectly. My TxBD buffer pointer is initialized with :
txDesc.length = 500;
After, I set the BD status and mark TDAR as ready to start :
txDesc.status = 0x8C00;
FEC.TDAR.B.X_DES_ACTIVE = 1;
When I sniffe PC ethernet port I have :
For example, in the first packet, it loses 06 and 07 and sends 0a and 0b two times. (and this error occurs many times)
I also verified memory addresses and they are perfect : 01,02,03 ..., FF
I don't know if its an ethernet DMA problem or any register configuration. Anyone did have this same problem?