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.

[参考译文] TMS320F28388D:以太网 LWIP UDP 错误

Guru**** 2537350 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1388330/tms320f28388d-ethernet-lwip-udp-error

器件型号:TMS320F28388D

工具与软件:

尊敬的支持团队:

我目前正在实施 UDP 套接字、它将提供到2个不同 UDP 端口的连接。
只要我仅在连接的2个客户端中的1个上传输数据、lwIP 协议栈就可以在2个连接下正常运行。
当我开始同时传输两个连接上的数据时、lwIP 协议栈会崩溃(有时在几秒钟之后、有时在10秒以上)。 我们遇到了硬故障错误(不精确的数据总线错误)、有时、我们收到附加的下面的错误。 此外、我还附加了我的链接器文件和 CM FYR 映射文件。
请帮助我们尽快解决错误。  

e2e.ti.com/.../7752.2838x_5F00_FLASH_5F00_lnk_5F00_cm.txte2e.ti.com/.../2838x_5F00_cm_5F00_map.txt
此致、

Abhi Patel

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

    您好!  

    对   lwipopts.h 文件中的 MEMP_NUM_UDP_PCB 参数进行了什么配置?  

    是否出现导致此行为的内存溢出?  

    此致

    Siddharth

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

    您好!  

    MEMP_NUM_TCP_PCB 值设置为4 (默认值)。

    是否出现导致此行为的内存溢出?  

    是的,最初当我们启用 UDP/TCP 通信时,我们遇到了 mem double free assert 错误,并解决了我们在"f2838xif_process_transmit ()"中修改的问题。

    应执行的操作  

    pktDescPtrShadow = pktDescPtr->nextPacketDesc;
    MEM_free (pktDescPtr);
    pktDescPtr = pktDescPtrShadow;

    }
    while (pktDescPtr!= 0);

    致…   

    MEM_free (pktDescPtr);

    在这些更改之后,现在我们不会遇到 double free assert 错误,而是 impreciserr ,上面附加的详细信息。

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

    尊敬的 Siddharth Deshpande:

    我写的是为了跟进上一个线程。 请提供有关此问题的任何进一步更新或进展。  非常感谢您的答复。
    期待很快收到您的回复。

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

    您好!  

    这是内存溢出问题。  请检查是否 正在调用 mem_alloca 和 mem_free 来处理每个传输的数据包。 .  

    您可以启用  lwip_stats 来进行故障排除。

    此致

    Siddharth