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.

[参考译文] TM4C1294NCPDT:使用 LWIP UDP 发送大数据

Guru**** 2209250 points
Other Parts Discussed in Thread: MSP432E401Y
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/924191/tm4c1294ncpdt-sending-large-data-using-lwip-udp

器件型号:TM4C1294NCPDT
主题中讨论的其他器件:MSP432E401Y

我尝试使用 UDP 发送大约4K 的数据。 如果我发送大约1400字节、我有一个应用程序工作。 但是、如果我尝试发送4K、那么我就不会收到任何数据包。 我是否需要在 LWIP 中配置任何内容才能执行此操作? 谢谢

void eth_udp_tx ()
{
struct pbuf *p;
ERR_t 错误;

P = pbuf_alloc (PBUF_transport、1400、PBUF_RAM);

如果(p)
{
memcpy (p->payload、eth_TX_Buf、1400);
ERR = udp_sendto (new_udp_pcb、p、&udp_addr、udp_port);
pbuf_free (p);
}
} 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="Jon Bean1]LWIP 中是否需要配置任何内容才能执行此操作?  lwipopts.h 中用于在项目中配置 lwip 的 IP_Frag 的值是什么?

    IP_Frag 需要设置为1、以便在传出 IP 数据包的大小超过 MTU 时对其进行碎片整理。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢、我在发布后发现自己确实可以正常工作。 但是、是否可以使用巨型帧、以便在一个数据包中发送有效负载? 如果是、我需要做什么?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

     感谢切斯特的投入。  就大型帧而言、硬件端的片上 EMAC 和软件端的 LwIP 都支持该帧。 但是、我们在使用巨型帧作为在 LwIP 上正确配置大型帧操作的内容/方法方面没有任何经验。 我建议您访问 LwIP 论坛。 也许切斯特有这方面的经验,欢迎他的意见。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你(们)好,查尔斯

    我已经在 LwIP 论坛上尝试过、但实际上还没有找到任何地方。 我看到需要设置的巨型帧的以太网配置有一些配置参数

    EMAC_CONFIG_Jabber_disable  
    EMAC_CONFIG_Jumbo 启用  

    LwIP 的端口目录中还有一个用于设置 MTU 的文件

    psNetif->MTU = 1500;

    我尝试将其设置为更大的值、但它不起作用。 可能还有其他事情需要做、但我对 LwIP 的了解不够。

    此致

    Jon

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Jon、

     抱歉、LwIP 是第三方软件、我们在其底层架构和所有旋钮方面没有任何专业知识。 我希望他们能给您提供建议。  您需要破解端口目录才能使用巨型帧、这一点我并不感到奇怪。 如果您有任何调查结果可能会让寻求相同想法的社区受益、请回复。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引述用户="Charles Tsaaaa">也许 Chester 有这方面的经验,欢迎他的意见。  [/QUEY]我尚未尝试在 TM4C129器件中使用巨型帧。

    [引用用户="Charles Tsaaa">就巨型帧而言、它由硬件端的片上 EMAC 和软件端的 LwIP 提供支持。 在线程 MSP432E401Y 中:此器件是否支持发送巨型数据包帧 答案是:

    [引用 USER="Eddie LaCost ]我被告知帧大小限制为1500字节、因为 EMAC 不支持其他大小。由于我认为 MSP432E401Y 使用与 TM4C129器件相同的 EMAC、我认为这意味着 TM4C129器件也不支持巨型帧、 尽管如上所述、我尚未尝试对其进行测试。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    切斯特、您好!

     感谢您的反馈以及您参考的帖子。 是的、实际上 MSP432E4与 TM4C129相同、但面向不同的软件平台。 我最初的印象是、EMAC 根据数据表说明支持巨型帧。 我想 Eddie 可能已经与 Amit 和 Sai 进行了磋商,以得出结论。 我可以再问他们,但我不会对他们的答案提出异议。 如果不支持巨型帧、可能需要在数据表上更新。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    感谢您提供信息。 我将仅在标准模式下使用 LwIP、因为让大型帧正常工作是不可能的、也可能需要比我想花更多的时间来做更多的工作。

    此致

    Jon