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.

[参考译文] TMS320F28384D:使用 C2000Ware LWIP 库实现 BSD 套接字

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1448503/tms320f28384d-implementing-bsd-style-sockets-using-the-c2000ware-lwip-library

器件型号:TMS320F28384D
Thread 中讨论的其他器件: C2000WARE

工具与软件:

嘿、C2000软件团队、

我有一个客户 在一个新项目中评估了 TMS320F28384D、我们希望您可以帮助提供有关使用 C2000Ware LWIP 库实现 BSD 套接字的指导。 请在下面查看我们的咨询摘要!

我们希望使用 LWIP 库来实现 BSD 样式的套接字、但我们遇到了错误"struct 'tcp_pcbc' has no field 'lwip_recv'。" 在搜索线程和 TI 文档后、我们发现下面链接的 E2E 线程表明一些微处理器不支持 LWIP 套接字。 我们的团队已成功在不同的 ARM 处理器上使用 LWIP 套接字、因此我们假设初始化正确。 但是、我们找不到任何可以确认某些 TI 处理器缺少此支持的文档。 根据线程、我们怀疑我们的处理器可能存在同样的问题、但对我们来说、为什么限制 LWIP 等软件库基于处理器没有意义。  

RTOS/TM4C129ENCPDT:将 lwiplib 与微控制器配合使用 TM4C129X -基于 Arm 的微控制器论坛-基于 Arm 的微控制器- TI E2E 支持论坛

我们也看过以下帖子、但 这些似乎都没有使用我们感兴趣的 BSD 套接字。 这是否意味着我们的处理器确实能够提供支持、而我们只需要深入了解具体错误吗?

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1128558/tms320f28384d-example-program-for-dhcp-lwip

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1172148/tms320f28384d-lwip-connection-status?tisearch=e2e-sitesearch&keymatch=TMS320F28384D%20LWIP#

非常感谢您对此提供的帮助、如果有任何需要进一步澄清的问题、请告知我们!  

-Matt Calvo

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

    尊敬的 C2000团队:

    我通过电子邮件给您发了电话、但也想在这个主题上给您一个友好的微信。 您能帮助提供这方面的最新信息吗?

    -Matt

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

    让我把自己插入这里,确保你得到一些支持。 我不想让客户等待。 让我们的其中一位非常了解 lwip 栈的 ARM 器件专家来解答您的疑问。 我认为这可成为 lwip 栈中的一个选项、应启用该选项、重建库、然后在应用中使用。  

     可以帮助您解决此问题。 套接字是一个可选功能、可以在 lwip 中禁用? 这可能就是客户看到构建错误的原因。  

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

    尊敬的 Matt Calve:
     在 LwIP 中、通过 NO_SYS = 0选项启用的 LwIP 支持。 C200微处理器不存在该限制、对于 C2000Ware、仅当 N0_SYS=1 (裸机)时才启用 LwIP。 目前还没有计划立即通过 FreeRTOS 支持 LwIP、 我们可能会在明年下半年着手支持。 支持 FreeRTOS 的 LwIP 无法在 LWIP 中启用 BSD 套接字支持。

    此致、

    Pradeep

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

    你(们)好

    缺少套接字 API 支持不是硬件限制、而是由软件驱动。

    lwip 栈支持两种操作模式: NO_SYS=1意味着它正在  裸机环境中运行 ,没有操作系统和任务调度,同步功能。 在此配置中、仅支持原始 API

     netconn sequential API 和 BSD 套接字样式 API 都需要操作系统支持。 因此、为了启用对套接字 API 的支持、必须启用 lwip 堆栈以便在 NO_SYS=0配置下运行、并为操作系统移植(OSAL 层)提供必要的支持。

    目前、C2000的 lwip 堆栈的构建目的仅支持裸机模式、因此只能支持低级的原始 API。

    作为未来发展蓝图的一部分、我们正在评估对 lwip +FreeRTOS 的支持(以及对 BSD 套接字的支持)

    此致
    Sriram

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

    尊敬的 NIMA/Pradeep/Sriram:

    非常感谢大家跳接 支持我们发布该主题以及提供您的详细反馈!

    我已将此信息全部传递给客户、并将让他们直接在该主题上发表评论、并提出他们可能会遇到的任何后续问题。

    -Matt