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.

[参考译文] EK-TM4C129EXL:TivaWare_C_Series-2.2.0.295 Enet_tcpecho_server 示例 CCS 中的不同操作至 IAR

Guru**** 2538930 points
Other Parts Discussed in Thread: EK-TM4C129EXL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/980263/ek-tm4c129exl-tivaware_c_series-2-2-0-295-enet_tcpecho_server-example-different-operation-in-ccs-to-iar

器件型号:EK-TM4C129EXL

你(们)好

正如标题所述、如果我在 Code Composer Studio 中为 EK-TM4C129EXL 运行 TivaWare_C_Series-2.2.0.295 Enet_tcpecho_server 示例、然后在 IAR Systems EWARM 中运行它、我会看到不同的结果。

在代码注释中(由于 SW-EK-TM4C129EXL-UG-2.2.0.295在用法上特别模糊) ,我已经在 Telenet 端口23上创建了一个到使用 PuTTY 提供的 IP 地址的 TCP 连接,如果我在 IAR EWARM 中运行此示例,我很快就会观察 到 FaultISR(), 在 CCS 中、不会发生此类故障、连接保持正常并按预期运行。

这不是我在 IAR EWARM 中运行示例时观察到的唯一奇怪/错误行为、包括但不限于 下载和调试时在地址警告处验证错误以及直接从块中执行硬故障 ISR。 请提供建议。

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

    嗨、Hairy、

     抱歉、我无法访问 IAR 工具集。 您说过它可以与 CCS 配合使用、但不能与 IAR 配合使用。 如果是这种情况、那么可能需要对 IAR 设置进行一些操作。 由于我不了解第三方 IAR 工具、因此我可以提供的帮助将受到限制。 我在这里有一些建议。  

     1.您可以在 IAR 编译器设置中增大系统堆栈大小吗? 我认为您的 IAR 设置中很可能没有足够的堆栈。 如果您查看此 enet_tcpecho_server 示例的 CCS 设置、则保留2KB 的堆栈。 您在 IAR 中预订了什么? 将 IAR 更改为至少2KB。 您仍然有问题吗?

     2.在 IAR 中、使用 IAR 编译器优化级别。 不同的编译器优化级别是否会有所不同?

     请参阅此应用手册 、了解如何调试处理器故障 https://www.ti.com/lit/pdf/spma043

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

    感谢 Charles 的建议、很遗憾他们没有帮助。

     TivaWare_C_Series-2.2.0.295 (我认为是2020年发布的)中提供的 IAR 示例似乎是针对 从2016年开始的 IAR Systems EWARM 版本7.50.3。 幸运 的是、我能够获得旧版本、因此能够确认 enet_tcpecho_server 示例是否正常工作。  

    我还注意到、CCS 会警告在软件的旧版本中创建的示例。 现在、我很感激无法跟上每个版本、 但我认为、如果预期它与 SDK 的发布保持一致、则应该明确定义文档中使用的版本、即 SW-EK-TM4C129EXL-UG.2.2.0.295或代码示例本身。

    此致、

    HL

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

    您好 Charles

    我一直和 IAR 谈过这个问题、他们认为示例项目中有错误、问题与不同的 EWARM 版本无关、而是幸运的是项目
    适用于某些版本/IDE。

    enet_tcpecho_server.c 中的 char pcheaderMsg[45]对于以下字符串(52个字符[可能更多]+ null 终止)而言太短:

    "服务器接收到2个字节。 转换字符大小写。"

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

    嗨、Hairy、

     非常感谢您的发现。 我将注意到这一点。 虽然我不知道是否有计划和时间表用于下一个 TivaWare 版本、但这个错误肯定会得到解决。