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.

[参考译文] CCS/RM41L232:CCS 版本加载问题

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/699365/ccs-rm41l232-ccs-release-version-loading-problem

器件型号:RM41L232
主题中讨论的其他器件: UNIFLASH

工具/软件:Code Composer Studio

大家好、

我们尝试 使用 CCS 在 RM41L232微控制器中加载版本 FW 版本、但我们遇到了问题。 我们正在使用 XDS200 USB 编程器、我们使用 code composer 生成了十六进制或输出文件、并使用 UNIFLASH 程序4.3.1版加载这些文件 、但未成功。  当我们加载发布版本时、它不会在编程或验证方面出现任何故障、但设备不会执行任何操作(不是 LED 的简单闪烁)。  您能给我们提供故障位置的任何信息吗? 如果您需要更多信息、请向我们索取任何信息。

此致

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

    要获得另一个参考点、同一程序(.out)在使用 CCS 加载时是否按预期运行?

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

    (.out)和(.hex)执行相同的操作、上传时系统仍然不工作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您表示"发布"版本在编程后无法正常工作。 您是否还具有此固件的"调试"版本? 该版本是否正常工作? "调试"和"发布"版本之间有哪些不同的优化级别?

    我已经看到、"发布"版本使用了更高的优化级别、这会导致编译器优化某些代码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用用户="Marcos Martinez"](.out)和(.hex)执行相同的操作,上载时系统仍然不工作。

    我们需要确定问题是与工具(Uniflash)还是固件代码有关。 为此、我询问您是否能够使用 CCS 而不是 Uniflash 成功加载和运行代码(以帮助确定问题是否是 Uniflash 特有的)。

    根据 Sunil 的建议、您是否能够成功加载并运行固件代码的"Debug"版本? 其他计划如何?  

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

    如果我们使用 CCS 加载 Debug 版本、它可以正常工作、但我们无法制作(.hex)并使用 Uniflash 成功加载。 Uniflash 没有任何其他要加载的程序、请尝试一下、是否有一个简单的测试程序可以尝试加载它?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sunil、

    我们实际上有一个 Debug 版本、可以使用 CCS 加载它、但我们希望加载最终版本。 我们尚未实现任何优化、只需创建(.hex)文件并尝试使用 Uniflash 加载它、但它不起作用。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [引用 USER="Marcos Martinez"]如果我们使用 CCS 加载调试版本、它可以正常工作、但我们无法创建(.hex)并 使用 Uniflash 成功加载。 [/报价]

    如果您使用 Uniflash 加载.out 文件(而不是.hex 文件)、该怎么办? 这奏效了吗? 如果它正常工作、则问题可能出在十六进制转换过程中。

    [报价用户="Marcos Martinez"]我们没有其他任何程序需要使用 Uniflash 加载 、请尝试使用简单的测试程序加载它吗?

    Sunil、您是否有一个已知良好的针对此目标器件的示例程序可供他们使用 Uniflash 尝试?

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

    马科斯

    您可以上传用于尝试使 LED 闪烁的 CCS 项目吗? 我可以查看配置选项、看看编译器优化是否会导致引脚切换代码优化。

    Aarti、

    问题不在于使用 CCS 或 Uniflash 加载/验证代码。 只是代码在编程后没有达到预期的效果。

    不同之处在于已编译输出的"调试"和"发布"版本。 您是否知道在给定 CCS 工程中从"Debug"更改为"Release"配置时自动启用了哪些优化级别?

    此致、Sunil

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

    [引用 user="Sunil Oak "]您是否知道在给定 CCS 工程中从"调试"更改为"发布"配置时自动启用了哪些优化级别?

    这完全取决于项目、因为选项是完全可定制的。 但是、对于使用 CCS 新建工程向导创建的默认 Cortex R 工程、"调试"配置没有优化、"发布"具有-o2优化。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    (.out)文件也不能与 Uniflash 一起使用、两者都执行相同的操作、Uniflash 在上载映像时不显示任何错误、但在这之后、系统不响应。
    正如您所说的、如果有人可以共享已知工作程序并使用 Uniflash 加载该程序以进行测试、那就很好了。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    优化级别确实设置为"2-Global 优化"、但我已将其更改为"off"并再次生成(.hex)文件。 我已使用 Uniflash 加载它、结果相同、系统将保持未激活状态、就好像它尚未启动程序一样。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Marcos:

    您能否连接调试器以查看所需的代码是否是可执行代码的一部分? 执行丢失在代码的哪一部分? LED 闪烁是否简单测试? 您能否上传此 CCS 项目以便我了解一下? 如何仅粘贴包含未执行代码的 main()函数? 我还将创建一个示例测试用例来使 LED 闪烁、但这可能对您没有太大帮助。

    此致、
    Sunil

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

    我们成功地使用 Uniflash 加载了版本代码、但使用(.out)文件扩展名而非(.hex)加载了版本代码。 如果我们加载(.hex)文件、系统将像以前一样保持不工作状态。 文件大小之间的差异太大、(.out)为600KB、(.hex)为70KB、因此我不知道问题是否与错误的文件生成有关。

    问题已经解决、可以解决问题、非常感谢您的支持和帮助。

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

    听得好。 您是否使用 CCS 内置编译后处理命令来生成.hex 文件? 您能否发布用于创建.hex 文件的实际命令? 这些工具的团队可以研究从.out 生成.hex 时出现的任何问题。

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

    您好、Sunil、

    我们生成(.hex)文件、在版本中启用 ARM 十六进制实用程序(右键单击项目文件夹-属性)。

    此致

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

    Marcos Martinez 说:
    我们生成了(.hex)文件,在发行版中启用 ARM 十六进制实用程序(右键单击项目文件夹-属性)。

    我怀疑十六进制实用程序使用的选项可能不是理想的选择。

    由于十六进制选项由器件和所需的输出格式/十六进制编程器驱动、因此我无法分辨确切的选项是什么。 但是、如果你布置你正在使用的十六进制命令(它应该显示在 CCS 编译控制台中)、我可以检查是否有明显的表现。  

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

    ARM 十六进制实用程序默认设置、当启用的行为:
    命令:"${CG_TOOL_HEX}"
    命令行模式:${command}${flags}${output_flag}${output}${inputs}

    "输出格式选项"部分中的"输出格式"选项卡为空、因此未选择任何内容
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    马科斯

    根据所选的输出格式和其他选项、十六进制实用程序的输出将是单个十六进制文件或多个十六进制文件。 如果生成了多个文件、但您只使用闪存编程器对其中一个文件进行编程、则它将无法正常工作。

    当"Output format"选项留空时、默认为 Extended Tektronix 格式。 对于此格式、默认 romwidth 为8。 由于 Cortex ARM 器件的默认 memwidth 为32、因此不指定任何选项会产生4个输出十六进制文件。 要生成单个文件、请将 romwidth 选项指定为32。

    有关  详细信息、请参阅此文章。

    此外 、《ARM 汇编语言工具用户指南》中的十六进制转换实用程序一章 详细介绍了十六进制实用程序支持的不同十六进制格式和其他选项。 希望这对您有所帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢 Aartis、我们将检查此问题、如果有任何疑问、我们将再次写信给您。