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:28388 C2000Ware TCP 问题

Guru**** 2524460 points
Other Parts Discussed in Thread: C2000WARE

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1301861/tms320f28388d-28388-c2000ware-tcp-question

器件型号:TMS320F28388D
主题中讨论的其他器件:C2000WARE

你好

我使用了 C2000ware LWIP-UDP 示例、并简单地将其修改为我自己的代码。 我刚刚使用它通过 IPC 与 CPU1进行发送、接收以及通信。

我想知道如何将 lwip-udp 示例或 lwip 示例修改到 TCP 中。 我发现这两个示例之间可能有一些示例。 我从 enet_lwip_udp 示例中复制了 enet_lwip_udp.c 中的代码并将其粘贴到 lwip 示例中的 enet_lwip.c 中、建立后失败。 看起来这两个项目之间可能有更多差异。 除了具有 main 函数的.c 文件、是否有任何文件可以说明这两个项目之间的区别? 我不熟悉以太网功能、需要对这些功能进行比较、并了解如何进一步将这两者中的任何一个修改到 TCP

我在 C2000中找到了 tcp.c 文件、但不知道如何使用。 我不知道是否需要在 LWIP 示例中进行更多更改、而不仅仅是在 TCP-C 中调用函数。 示例中有许多文件、我不知道从哪里开始、哪个文件可以帮助我更好地了解此函数

我确实认为 C2000中的 LWIP exmaples 非常有用、但可能需要一些.pdf 文档、以便我们初学者使用它。 使用28388时使用 SPI2ethernet 芯片是很愚蠢的、只是因为我们不知道如何充分利用强大的 MCU

谢谢

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

    您好 Yifu:

    我们已将该主题分配给我们的专家。 他目前是 OOO,但会马上回复。

    谢谢。

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

    尊敬的 Yifu:

    对于 TCP、您可以参阅文件 tcp.c、它位于  \libraries\communications\Ethernet\third_party\lwip\lwip-2.1.2\tcp\core\tcp.c src。 该文件的标头提供了 TCP 实现说明。  

    此致

    西达尔特

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

    你好

    我看到了这个文件、看起来我可以使用它。 例如、问题是、我在文件中使用 tcp_bind 函数并编译了它。 类似这样的错误代码。 我修改了 lwip-udp 项目。 也许我需要做一些更多的包含<>? 或者修改 enet_lwip_udp.c 以外的其他文件?

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

    您好!  

    如果 这个函数(tcp_bind )被添加到 tcp.c 中,并在 enet_lwip_udp.c 中引用, 那么你需要使 它成为 extern ,以便它在文件中可见。

    extern err_t tcp_bind (struct tcp_pcb *pcb、const ip_addr_t *ipaddr、u16_t port);  

    请尝试添加此行、并检查它是否可以解决问题。

    此致

    西达尔特

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

    它最初位于 tcp.c 中、因此不需要添加到其中。 我在 tcp.c 和  enet_lwip_udp.c 中添加了这个内容 、两种方式都不起作用。 我发现 enet_lwip_udp.c  和 udp.c 中没有 extern err_t udp_bind (struct udp_PCB *pcb、const ip_addr_t * ipaddr、u16_t port)、但它是有效的。  你不知道为什么吗?

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

    您好!

    对于 UDP、 宏 LWIP_UDP 设置为1、其中包括 lwip/udp udp.h、该 lwip/udp 具有 udp_bind 函数的声明。  因此它工作正常。

    此宏在 lwipopts.h 头文件中配置。   

    对于 TCP、有一个类似的宏、需要启用它、

    #define LWIP_TCP 1

    您可以尝试一下。

    此致

    西达尔特

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

    你好

    看起来它正常工作、我可以成功编译它。 感谢你的帮助。 我稍后将尝试此操作、以了解如何将其修改为 TCP 进一步。 如果有任何问题、我们会回复您。

    非常感谢

    宜府市