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:EK-TM4C1294XL:TI-RTOS HTTP GET 示例在 System_flush()上抛出错误--其他示例不#39;t

Guru**** 2468460 points
Other Parts Discussed in Thread: EK-TM4C1294XL, TM4C1294NCPDT, TM4C123GH6PM

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/666120/rtos-ek-tm4c1294xl-ti-rtos-http-get-example-throws-errors-on-system_flush----other-examples-don-t

主题中讨论的其他器件:EK-TM4C1294XLTM4C1294NCPDTTM4C123GH6PM

工具/软件:TI-RTOS

当我输入 EK-TM4C1294XL 或 TM4C1294NCPDT 器件型号时、下拉列表中的可用论坛看起来与我的用例不匹配、因此我在此指定电路板为 EK-TM4C1294XL。

使用 CCS 7.3和 TI-RTOS 2.16、当我构建并运行未经修改的 HttpGet 示例并逐行执行该示例时、我会得到"无效的 CIO 命令(0)。 当我到达清理初始介绍性“正在启动 HTTP GET 示例……”的 System_flush()调用时,内存映射阻止读取0x20009ED8" 调用 System_printf()。 这是我第一次看到这种情况、并且经常使用调用、因此我尝试加载其他使用它的项目(tcpEcho、一些原始项目等)、它们的工作方式很有魅力。 该示例仅失败。 有很多论坛帖子具有相同的错误、但我找不到一个可以为我解决问题的论坛帖子。

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

    我不确定是什么导致了这种情况。 该示例对我来说运行正常。 该示例是否起作用? 注:您可以暂停目标并查看 Tools->ROV->SysMin 以查看输出缓冲区内容、以查看 System_printf 输出(如果尚未在 CCS 中将其刷写到 CIO 控制台)。

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

    首先、我说我根本没有更改源代码、但这是不正确的。 我更改了中的 MAC 地址 C. 我必须通过防火墙才能实现它。 但是、即使我使用原始代码、也会发生这一切。

    当我尝试查看 ROV 中的输出缓冲区时、我会看到"错误:java.lang.exception:target memory read failed at address:0x2000f80c、length:12根据应用程序的段映射、此读取位于有效地址、 但 DebugServer 内存读取失败。"、因此我无法判断尝试打印到控制台的是成功消息还是错误消息(因此我不知道程序的其余部分是否正常工作)。 我在从 Get Go 连接 ROV 的情况下再次尝试了,但在调用任何 System_printf()之前遇到了相同的错误。

    当我让它运行时、我会得到一组或两组4个"无效的 CIO 命令..." 输出-如果2个设置、则每个设置相隔几秒钟。 使用断点时、前两个断点与介绍性消息一同出现。 如果我正在正确计数、成功执行应该会打印4条消息、因此我不知道为什么会出现8条消息。 但是,该应用程序不会退出,因此我认为不会调用 printError()。

    我刚尝试打开 ROV 中的其他几个模块,它们给出了相同的“错误:java.lang.exception:target memory……” 消息。 两个不同板上的两条不同电缆的情况相同。

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

    由于我没有 System_printf()来帮助调试,并且程序也不会退出,因此我在 httpTask 和 netIPAddrHook 例程中发出了一些 GPIO_write 调用,这些调用会关闭 LED (在 main 中打开的那个),以缩小在示例中的距离。 似乎它甚至没有到达 netIPAddrHook、根据注释、在添加 IP 地址时应调用 netIPAddrHook。 我认为防火墙可能是问题的原因、但我检查了它、该板的 MAC 并未显示为曾经尝试连接过。 (粘贴到电路板上的 MAC 就是我更改的内容 .c 以反映)

    此外:我在另一台计算机上尝试过此示例、它工作正常。 相同的 ETH 电缆、调试线和电路板。 现在、我的计算机上似乎出现了一些问题、导致应用程序挂起。 (环境:Linux、CCS 7.3、TI-RTOS 2.16.0.08、XDC 3.32.0.06 - 两个终端上的 RTOS 和 XDC 版本相同)有什么想法?

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

    您好、Alberto、

    两台计算机上的 CCS 版本是否相同?  "CIO 命令(0)无效。 Memory map prevented reading 0x20009ED8" error could be due to the GEL file not included that region。  您能否比较两台机器上的 GEL 文件?

    此致、

    Janet

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

    Janet、您好!

    该示例所使用的计算机上的版本为7.4、而不工作的版本为7.3、但似乎故障是由于 GEL 文件造成的。 我不知道为什么(也许有人能给我启迪)、但加载了 TM4C123GH6PM GEL 文件、而工作计算机则加载了 TM4C1294NCPDT GEL 文件。 我删除了123G 并加载了12G 的 GEL 文件和... voila。 它工作得非常完美。 非常感谢,Janet!