AnsweredAssumed Answered

FEC CodeWarrior MPC56xx - Tx repeting bytes

Question asked by Mauricio Donatti on Oct 25, 2013
Latest reply on Oct 31, 2013 by Mauricio Donatti

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[0].length = 500;

for(i=0;i<500;i++)

       txBuf[i]=(unsigned char)i%256;

__flush_cache(txBuf,500);

 

After, I set the BD status and mark TDAR as ready to start :

 

txDesc[0].status = 0x8C00;

FEC.TDAR.B.X_DES_ACTIVE = 1;

 

When I sniffe PC ethernet port I have :

 

sniffer.png

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?

 

thank you

Outcomes