Tool/software:
Hi All,
We are working on the PRU core on AM437x IDK, and we came across a specific function call (M_XMT_FILL_LEVEL_CALC_ICSS_REV1
) which is invoked during the last byte transmit of every packet from the PRU firmware. The comment in the file (emac_MII_Xmt.asm) states that the function is called to fix an issue if there is an underflow or overflow in the TX FIFO when cable is removed during the high traffic scenario. But invoking this function causes a delay in transmitting the last bytes of the packet. This causes to capture malfomed packets in the wireshark. This is observed only in the Windows system. Could somone explain what does this function (M_XMT_FILL_LEVEL_CALC_ICSS_REV1) exactly does while transmitting the last chunk of the packet which is causing the delay.
File name: git.ti.com/.../emac_MII_Xmt.asm