您好!
我在 MSP432E401Y 上有一个工作正常的 LwIP 应用、我正在尝试使用 PTPd 使 IEEE 1588 / PTP 工作。 我无法接收多播 UDP 流量、也不知道要做什么。 当交换机发送 PTP 数据包时、我可以看到 EMAC LED 每秒闪烁一次。 当我关闭开关上的 PTP 时、LED 每秒停止闪烁一次。 因此、我认为 MSP432E4 PHY 正在接收数据包、但它们并未通过 MAC 帧滤波器。 我已经在 文件 udp.c 中的低级 LwIP UDP 处理函数 udp_input()中放置了一个 printf 这表明、当我向微控制器的静态 IP 地址(192.168.127.2)发送 UDP 数据包时、LwIP 应用程序会传递一些数据、但我看到在接收多播 UDP 数据包时没有调用此类 printf。
到目前为止,我已经尝试了在 msp432e4if.c 中的 EMAC_FRMFILTER_HASH_AND_Perfect、EMAC_FRMFILTER_PASS_MULTIPast 和 EMAC_FRMFILTER_混杂 模式启用和禁用 EMAC_FRAMameSet()的所有组合 但我还不知道为什么微控制器不向应用传递 PTP 数据包。 我还在 EMACTimestampConfigSet()中设置了 EMAC_TS_MAC_FILTER_DISABLE,但该宏扩展为零,因此它与 SDK 默认值相同。
MAC 中是否存在一些错误、使其过滤掉地址为224.0.1.129或224.0.107的多播流量(端口319-320)?
感谢您提供的任何帮助、
Paul