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.

[参考译文] LP-CC1352P7:.hex 文件不工作

Guru**** 2393725 points
Other Parts Discussed in Thread: CC1352P7, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1316793/lp-cc1352p7-hex-file-not-working

器件型号:LP-CC1352P7
主题中讨论的其他器件:CC1352P7UNIFLASH

您好!

为了支持我们想要使用的特定编程工具、我们需要能够使用.hex 文件而不是.out 文件对 CC1352P7芯片进行编程。  作为测试、我将按钮 LED 工程导入到 CCS (SDK 版本7.10.1.24和 TI Clang 编译器3.2.0.LTS)中。  我选中了"Enable Arm Hex Utility"框以生成.hex 文件、然后构建了工程。  

我在 "Debug"文件夹中找到生成的.hex 文件、然后使用 Uniflash 将其写入我们的 LP-CC1352P7-1 LaunchPad。  成功写入、但器件无法正常工作。  Uniflash 也无法验证文件-它失败并显示错误消息"A data verification error occurred、file load failed"。

查看.hex 文件的内容、所有行都以%符号开头、这似乎很奇怪。  从同一构建中对.out 文件进行编程会导致一个有效的演示。  欢迎提供任何建议。


谢谢!

斯科特

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

    您尝试刷写哪些示例?

    我已经测试了 SDK 中的几个示例、生成了一个 hex 文件、而我根本无需更改任何内容。

    然后可以使用 Uniflash 下载此.hex 文件

    我看到您正在使用  TI Clang 编译器3.2.0.LTS。 为什么会这样呢?

    我已使用该 SDK 的推荐版本进行了测试、没有任何问题。

    Siri

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

    你好、Siri、谢谢你的回复。  我将在下面在线回答您的问题。

    "您尝试刷写哪些示例?"

    只是我从 Resource Explorer 导入的按钮式示例。  我确保获得正确的 SDK 版本

    "我已经测试了 SDK 中的几个示例、生成了一个 hex 文件、而我根本无需更改任何内容。"

    除非我选中此框、否则不会生成任何 hex 文件

    "然后可以使用 Uniflash 下载此.hex 文件"

    是下载工作正常。  但演示无法正常工作。  按下 LaunchPad 上的按钮并不会按预期切换 LED。  从完全一样的构建中下载.out 文件确实会得到一个可正常运行的演示。

    "我看到您正在使用  TI Clang 编译器3.2.0.LTS。 "那又怎么样?

    我不知道。  我刚刚回滚到2.1.2.LTS 并获得相同的结果。

    "我已使用该 SDK 的推荐版本进行了测试、没有任何问题。"

    当您在下载.hex 文件后按下 LaunchPad 上的按钮时、LED 是否被切换?

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

    我尝试了该示例、在本例中、程序也没有运行。

    原因是、您在启用 Arm 十六进制实用程序时获得的十六进制格式不是正确的格式

    相反,添加以下内容:

    ${CG_TOOL_ROOT}/bin/tiarmobjcopy -O ihex ${BuildArtifactFileName}${BuildArtifactFileBaseName}.hex

    此处:

    当我执行该操作并下载 hex 文件时、该程序会按预期工作。

    在我第一次测试的示例 rfPacketTX 中、默认添加了此行。

    Br

    Siri

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

    我禁用了 Arm Hex Utility、并按照您的建议添加了此行。  我使用 Uniflash 将新的.hex 文件下载到 LaunchPad 中、但演示仍然不起作用。

    我还注意到、如果我删除.hex 文件并编译该项目、则不会重新生成。  我必须在 Project Explorer 中右键点击工程并选择"rebuild"。  然后将生成一个新的.hex 文件。  "构建"和"重建"之间有什么区别?

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

    我无法理解为什么它对我有用,而不是你。

    附件是我使用默认示例生成的.hex 文件(只进行了已经说明的修改)。

    在您使用 Uniflash 下载它时、此方法不起作用吗?

    e2e.ti.com/.../buttonled_5F00_LP_5F00_CC1352P7_5F00_4_5F00_tirtos7_5F00_ticlang.hex

    关于构建与重建、我建议您在我们的工具论坛上提出这个问题、以便 CCS 团队为您解答这方面的问题。

    Siri

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

    尊敬的 Siri:

    我发现我必须在使用 UNIFLASH 编程.hex 文件后手动按下复位按钮。  按 RESET 键后、对于使用新配置生成的.hex 文件、演示按预期工作。  使用 ARM Hex 实用程序生成的文件仍然不起作用。

    对于.out 文件、无需按 RESET、因此这似乎有点奇怪。   

    我使用 UNIFLASH 的 Web 版本和本地版本对其进行了测试、行为是一致的。

    感谢你的帮助。

    斯科特