This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

关于TMS570LS1227驱动交换机芯片88E6020,MII接口通讯过程中卡在EMAC_BUF_DESC_EOQ标志位的问题

Other Parts Discussed in Thread: TMS570LS1227

hello,FAE:

最近我在使用Hercules系列的单片机型号:TMS570LS1227

使用的交换机芯片是:88E6020

使用过程中遇到的问题:目前为止,用MDIO和MDCLK对交换机芯片的配置已经完成,用网线连接PC,可以通过串口看到自协商完成,Link状态成功,也就是说交换机的基础配置已经完成,插上PC机网口,可以通过串口打印出PC机发送给交换机的广播包。但是在响应PC机的广播包时第一次响应PC机广播包是成功的,但是接下来再次响应PC机广播包的时候就会卡在 while(EMAC_BUF_DESC_EOQ != (hdkif_swizzle_data(curr_bd->flag_pktlen) & EMAC_BUF_DESC_EOQ)); 这里,一直等待EMAC_BUF_DESC_EOQ标志位置1,陷入死循环。

TMS570LS1227采用的是小端模式;移植的是V00.03.00版本的LWIP协议栈

请问这个问题应该如何解决呢?比较着急,期望您的尽快回复,非常感谢!

  • 没用过这个芯片不是很清楚,你可以尝试在盖while添加倒计时,超时后自动跳过试试看。看看如果不等待该标志位能否正常工作。然后再判断问题所在,应该跟Hercules无关的。可能是操作该芯片或者该芯片某个地方没有设置正确。