Other Parts Discussed in Thread: HALCOGEN
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
主题中讨论的其他器件:HALCOGEN大家好、TI 专家、
我们正在努力将 lwip1.4.1和 TCN TRDP 迁移到 TMS570上。 我们遇到 了无法 接收多播帧 、但可以 正确接收广播和单播帧的问题。 然后、发现没有从 EMAC 接口获取多播帧。
我们不知道驱动程序配置中是否存在问题。 我们的驱动程序使用 HALCOGEN 来根据需要生成一些更改。
驱动程序代码如下所示
我们不知道驱动程序配置中是否存在问题。 我们的驱动程序使用 HALCOGEN 来根据需要生成一些更改。
驱动程序代码如下所示
EMACInit (hdkif->EMAC_Ctrl_BASE、hdkif->EMAC_BASE);
MDIOInit (hdkif->MDIO_base、MDIO_FREQ_INPUT、MDIO_FREQ_OUTPUT);
while (delay--);
EMACRxBroadCastEnable (hdkif->EMAC_BASE、0);
/*在 EMAC 硬件中设置 MAC 地址*/
EMACMACSrcAddrSet (hdkif->EMAC_BASE、hdkif->mac_addr);
/*确认接收和发送中断以实现正确的中断脉冲*/
EMACCoreIntAck (hdkif->EMAC_BASE、EMAC_INT_CORE0_RX);
EMACCoreIntAck (hdkif->EMAC_BASE、EMAC_INT_CORE0_TX);
EMACRxUnicastSet (hdkif->EMAC_BASE、0);
EMACRxMultiCastEnable (hdkif->EMAC_BASE、0);
EMACNumFreeBufSet (hdkif->EMAC_BASE、0、10);
/*为通道0写入 RX HDP */
EMACRxHdrDescPtrWrite (hdkif->EMAC_BASE、(U32) rxch->ACTIVE_HEAD、0);
EMACTxEnable (hdkif->EMAC_BASE);
EMACRxEnable (hdkif->EMAC_BASE);
EMACMIIEnable (hdkif->EMAC_BASE);
/**
*启用发送和接收、启用中断
*通道0和控制内核0
*
EMACTxIntPulseEnable (hdkif->EMAC_BASE、hdkif->EMAC_Ctrl_BASE、0、0);
EMACRxIntPulseEnable (hdkif->EMAC_BASE、hdkif->EMAC_Ctrl_BASE、0、0);
代码未全部发布、这些是调用 EMAC 接口的部件。 此配置中是否存在任何问题?
谢谢你