Other Parts Discussed in Thread: LAUNCHXL2-570LC43, HALCOGEN
I am trying to achieve near 100 mbit/s on transmit and receive on the ethernet module for the TMS570LC4357 while exercising other functions of the chip. I have been using both custom hardware and the LAUNCHXL2-570LC43 for my implementation. I am able to get the data rate to 100 mbit/s, but the hardware is spending a lot of time waiting for the EOQ flag inside of the emacTransmit function.
/* Wait for the EOQ bit is set */ while (EMAC_BUF_DESC_EOQ != (EMACSwizzleData(curr_bd->flags_pktlen) & EMAC_BUF_DESC_EOQ))
I am sending a simple ping to the hardware and the hardware echos the packet after swapping source and destination.
I am trying to avoid the use of interrupts if possible and have been using halcogen whenever possible. Is there any advice or solution to reduce the amount of time spent waiting for the EOQ flag in emacTransmit?