MPC5748G ENET Transmission issue

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

MPC5748G ENET Transmission issue

跳至解决方案
1,190 次查看
farozeibnejava
Contributor III

Hi,

 

I am having some strange behavior with Ethernet in MPC5748G. i have successfully configured and perform transmission and reception from controller but in TXF interrupt after transmission if i read the status of any transmission buffer descriptor then that specific buffer descriptor somehow becomes locked and status bit (Ready) is never reset to 0 in that buffer descriptor for successive transmission calls even though frame is transmitted successfully on bus.

here is a sample code which causes issue,

if ((TxBufDesc[i].ControlWord0 & 0x80000000u) == 1) // Ready bit
{
    transmission_flag = 1;
}

now if i remove the above given check then successive transmissions are successful and buffer descriptor's Ready bit is reset to 0 by ENET controller.

标签 (1)
标记 (2)
1 解答
870 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi Danish,

This could be caused by cache. So try to disable the cache at all, or disable caching of the memory areas where TX/RX Buffer descriptors and TX/RX buffers are placed.

BR, Petr

在原帖中查看解决方案

3 回复数
871 次查看
PetrS
NXP TechSupport
NXP TechSupport

Hi Danish,

This could be caused by cache. So try to disable the cache at all, or disable caching of the memory areas where TX/RX Buffer descriptors and TX/RX buffers are placed.

BR, Petr

870 次查看
farozeibnejava
Contributor III

Thanks, disabling Data Cache for region containing Buffers fixed the issue.

870 次查看
phonghocle
NXP Employee
NXP Employee

Hi Danish,

I'm having the same issue. Could you please tell me how to disable Data Cache for region containing Buffers?

Thanks.

0 项奖励
回复