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.

[参考译文] MCU-PLUS-SDK-AM263X:支持 UDP 套接字

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1175748/mcu-plus-sdk-am263x-udp-socket-support

器件型号:MCU-PLUS-SDK-AM263X

您好!

我尝试从 SDK 版本8.04中的示例开始、通过套接字进行 UDP 通信。

我修改了 TCP 示例、使用相同的字符串通过 TCP 和 UDP 发送计数器。

TCP 部分工作正常、但 UDP 发送在始终发送数据包的情况下、发送正确字符串的工作非常糟糕、经常跳过并重复接收到的数据包。 当前 SDK 版本是否完全支持 UDP 套接字、或者该功能是否正在进行开发?

Fullscreen
1
2
3
4
5
6
7
8
9
memset(&snd_buf, 0, sizeof(snd_buf));
printed = snprintf(snd_buf, sizeof(snd_buf), "Hello over UDP %d\r\n", i);
EnetAppUtils_print(snd_buf);
EnetAppUtils_print("\r\n");
lwip_write(sock_udp, snd_buf, printed);
/* Send data to Host */
ret = lwip_write(sock, snd_buf, printed);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

上面的 sock 是在 app_socket 中创建的 TCP 套接字、sock_udp 是 UDP 套接字、Wireshark 捕获具有上述 UDP 问题以及在接收到的字符串中存在一致的"off by 1"延迟。

谢谢、

Mike

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

    尊敬的 Mike:

    我已经开始研究这个问题。 请在下周之前更新。

    BR

    Nilabh A.

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

    尊敬的 Mike:

    您能不能共享 Wireshark 捕获和您在 TCP 和 UDP 情况下收到的输出。 可能有助于进一步评估。

    谢谢、BR、

    Shaunak

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

    您好、Shaunak、

    我可以捕获从 launchpad 板发送/接收的数据包、但该论坛似乎不允许 pcap 文件。

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

    您好、Michael、您可以将其压缩并附加。

    BR

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

    谢谢 Nilabh、这看起来很明显、now.e2e.ti.com/.../udp_5F00_sockets_5F00_debug.zip

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

    当然、Michael、

    团队将在我们观察到一些情况后返回

    BR

    Nilabh A.

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

    尊敬的 Mike:

    感谢您共享.pcap 文件。 我正在尝试在我的终端上重现此问题、以便我们保持在同一页上、您能否共享您在终端/ DUT/console 中看到的输出。 我想了解你所面临的"一关"滞后是什么。  

    谢谢、此致、

    Shaunak

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

    Shayunak、您好、很抱歉耽误您的时间。 这是从 minicom 和 Wireshark 捕获的信息。 我增加了两次迭代之间的睡眠时间、希望能更清楚地说明这一点。

    e2e.ti.com/.../sitara_5F00_dump.zip

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

    尊敬的 Mike:  

    我尝试在我的末尾重现此问题、在同一示例中运行 UDP 和 TCP 套接字、因为我看不到您的实现(app_socket.c)、我尝试了自己的实现、我发现它完全正常、可以按顺序传输 UDP 和 TCP 数据包。

    我要附加我的 app_socket.c 实现、您可以继续尝试比较实现/程序流程。

    /cfs-file/__key/communityserver-discussions-components-files/908/app_5F00_socket.c

    谢谢、BR、

    Shaunak

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

    您好、Shaunak、

    我通过将 UDP 发送缓冲区声明为非缓存存储器块来解决我的问题。