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.

[参考译文] RTOS/TM4C1294NCPDT:物联网和 Web 服务器不能同时使用

Guru**** 2477065 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/676433/rtos-tm4c1294ncpdt-iot-and-web-server-can-not-use-in-the-same-time

器件型号:TM4C1294NCPDT

工具/软件:TI-RTOS

尊敬的所有人:

我想连接到 IOT Cloud 并创建 Web 服务器。

但我有问题、您可以看到下面的捕获、

连接到云是可以的、但我无法在资源管理器中看到我的 Web、如何修复?

谢谢

BR、

路易

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

    您好!

     您是否有机会尝试下面显示的 HTTP GET 示例? 您可以从 CCS Resource Explorer 下载。  

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

    尊敬的 Charles:

    示例是客户端、我希望通过 TM4C1294构建 Web 服务器、

    谢谢

    BR、

    路易

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    此 wiki 页面中提供了一些 TI-RTOS HTTP 服务器示例。 processors.wiki.ti.com/.../TI-RTOS_HTTP_Example
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Charles:

    我使用了相同的方法来构建我的 Web 服务器。

    当系统未 连接到云服务器时、我可以使用 Chrome 连接到 Web 服务器。

    当系统连接到云服务器时、我无法使用 Chrome 连接到 Web 服务器、Chrome 也会显示 ERR_EMPTY_RESPONSE。

    谢谢。

    BR、

    路易

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

    您好 Louis、

    我想从您那里获得一些信息、以确定问题是什么。

    1. 您是否可以在尝试连接 Web 服务器时捕获(并上载) Wireshark 捕获、但看不到响应? 另请列出目标的 IP 地址和 PC 地址。
    2. 请附上完整的*。cfg 文件
    3. 尝试使用除 Chrome 以外的浏览器进行连接、以查看是否在其他浏览器中发生。  

    此致、

    达尔顿

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

    尊敬的 Dalton:

    Wireshark 捕获:

    设备 IP:192.168.1.187、PC IP:192.168.1.192

    cfg 文件:e2e.ti.com/.../tcpEcho.cfg

    BR、

    路易

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

    您也可以附加 Wireshark 捕获文件吗?

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

    当我将 Global. ndkThreadStackSize 从2048修改为1536、将 Global. highTaskStackSize 从4096修改为1536、并将 Global. memRawPageCount 从8修改为24时、我可以同时连接到 Web 服务器和云。
    但为什么呢? 是否考虑了堆栈大小?
    谢谢

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

    我认为您将 Global. memRawPageCount 从8更改为24是为您修复它的原因。 如果存在一些堆栈溢出问题、则可能会导致应用崩溃。

    memRawPageCount 增加了用于分配以太网帧的内存分配池的大小,因此如果池中没有足够的可用内存,传入的数据包将被丢弃,这可能会解释您看到的内容。

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

    尊敬的 Dalton:

    我尝试 将 memRawPageCount 返回到8,并将 ndkThreadStackSize 返回到2048,系统也可以正常工作。

    看起来只需修改 highTaskStackSize、系统就可以同时运行这两个文件。

    但为什么呢?  lowTaskStackSize?  标准化 TaskStackSize?  高任务堆栈大小?

    是否有一些信息可用于讨论此问题?

    谢谢

    BR、

    路易

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

    您好 Louis、

    这似乎很奇怪。 我们需要对您在失败期间发生的情况有更多的了解。 您能否将 Wireshark 捕获与您在上面发布的屏幕截图相对应?

    此致、

    达尔顿

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

    尊敬的 Dalton:

    Wireshark 捕获:

    e2e.ti.com/.../Capture.rar

    筛选器: ip.src =192.168.1.244或 eth.src=54:10:EC:93:58:D0、

    设备 IP 为192.168.1.244,PC IP 为192.168.1.192

    谢谢

    BR、

    路易

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

    您好、Louis、  

    感谢您的连接。 我们可以看到 TCP 连接正在完成、但随后立即关闭。 我们正在研究这可能与您所做的更改有何关系。

    此致、

    达尔顿

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

    您好、Louis、

    您能否在连接尝试之前和之后记录 TCP 统计数据(针对故障情况)。 为此、您需要在尝试连接之前通过 CCS 调试程序并停止程序、然后查看监视窗口并输入全局变量"TCPS"。 这将向您显示 TCP 统计信息。 然后在连接失败后再次执行此操作。 请在之前和之后截取完整 TCPS 结构的屏幕截图、然后将其上传到此处。

    此外、您能否在连接前后检查 ROV 中的堆内存视图。 请上传此 ROV 视图的屏幕截图。  

    此致、

    达尔顿

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

    尊敬的 Dalton:

    1.如何查看全局变量"TCPS"?

    2.堆存储器:

      以前:

      之后:

    BR、

    路易

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

    当我修改堆存储器大小时、它看起来工作正常。 Web 和云可以协同工作。
    但为什么会发生这种情况呢?
    谢谢

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

    您好、Louis、

    您之前说过减小堆栈大小可以解决您的问题。 这也会导致堆大小增加。 这告诉我的是、您的应用程序正在用尽堆内存、导致数据包丢失。 TCP 握手将占用大量内存使用、因此您的应用程序仅在尝试连接时失败是有意义的。  

    此致、

    达尔顿

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

    这是否得到了解决?

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

    是的、是的。
    谢谢。

    BR、
    路易