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.

[参考译文] AM2634:无法通过 MCU+SDK 和 LwIP 在 AM2634 上创建 3 个以上的 UDP PCB–自定义配置的重新编译步骤

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1534411/am2634-unable-to-create-more-than-3-udp-pcbs-on-am2634-with-mcu-sdk-and-lwip-recompilation-steps-for-custom-configuration

器件型号:AM2634

工具/软件:

尊敬的 TI 支持团队:

我目前正在使用 AM2634 使用的理想控制器 MCU+SDK 并集成 协议栈 以进行 UDP 通信。

在尝试udp_pcb动态创建多个连接时、我只观察到了这一点 三 (3) udp_pcb可以成功创建实例。 任何创建三个以上的尝试都会NULL从中生成返回值udp_new()

为解决此问题、我修改了 MEMP_NUM_UDP_PCB16中的值lwipopts.h、并已验证 MEM_USE_POOLS设置为1(默认值)。 但是、问题udp_pcb仍然存在、第四个仍然无法分配。

这会引发一些具体问题:

  1. 除了MEMP_NUM_UDP_PCB允许更多udp_pcb分配之外、是否还需要任何其他配置?

  2. 我是否需要重新编译 LwIP 库才能使这些更改生效?
    如果是、我尝试使用提供的重新编译它makefile、但遇到了与相关的错误 缺少环境变量 。 似乎setupenv.bat缺少初始化构建环境所需的安装文件(例如)或未记录。

因此、我请你提供以下指导:

  • 正确的程序 在 AM263x LwIP 集成中增加 UDP PCB 的数量。

  • 完成步骤 重新编译 LwIP 库、包括如何正确设置环境(例如所需的批处理/脚本或变量)。

  • 任何MEM_SIZEMEMP_MEM_MALLOC可能需要调整的附加内存池配置(例如,或其他)。

期待您在这一问题上给予支持。

此致、

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

    尊敬的 TIMCM:

    默认 LwIP 配置仅支持 4 个连接。 若要对此进行修改、请执行以下步骤:

    1.转到  source/networking/lwip/lwip-config/am263x/enet/lwipopts.h  您可以在此处搜索 MEMP_NUM_UDP_PCB 并将其设置为更高的数字。

    2. 根据您的应用要求,增加  MEMP_NUM_PBUF、 MEMP_NUM_RAW_PCB 的值。

    3. 转到  source/networking/lwip/lwip-config/am263x/enet/lwippools.h 、增加大小为 1586 的池数量。

    4.增加应用程序堆大小和 syscfg 中的包池数量。

    第 3 步和第 4 步只是为了确保您不会遇到某些内存限制。 您可以稍后尝试减少这些池、并了解应用程序确实需要多少个池。

    现在、使用以下命令重新构建您的 lwip 库:

    gmake -sj -f makefile.am263x lwipif-cpsw-nortos_r5f.ti-arm-clang PROFILE=debug
    gmake -sj -f makefile.am263x lwip-nortos_r5f.ti-arm-clang PROFILE=debug
    gmake -sj -f makefile.am263x lwip-contrib-nortos_r5f.ti-arm-clang PROFILE=debug
    
    现在、重新构建应用并再次测试。 您应该能够与这些更改建立 4 个以上的连接。
    此致、
    Shaunak