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.

[参考译文] CC2340R2:固件编程进度 98%

Guru**** 2466550 points
Other Parts Discussed in Thread: CC2340R2, UNIFLASH

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1542909/cc2340r2-fw-programming-progress-98

器件型号:CC2340R2
Thread 中讨论的其他器件: UNIFLASH

工具/软件:

尊敬的团队:

我的客户正在为 CC2340R2 准备试运行、但发现 dslite-Cortex_M0P.bat 的固件编程进度仅为 98%、未显示 100%。

 固件 编程似乎成功。  

以下是环境信息:

SDK 版本:simplelink_lowpower_f3_SDK_9_10_00_83

UNIFLASH 版本:8.8.1.4983

日志:

   

请帮助提供意见。

谢谢。

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

    您好!  

    看起来该错误是由验证失败引起的。 您的客户是否能够使用 UniFlash 的图形界面刷写设备? 客户是尝试刷新空白设备、还是之前刷新过该设备?  

    该错误还可能是由 CCFG 中的无效 CRC 值引起的。 您是否运行未修改的 basic_ble 示例? 其他十六进制文件也会发生此错误吗?

    此致、
    Maxence

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

    您好、Maxence、

    使用空示例时得到了相同的误差。



    UniFlash GUI 可正常运行。



    谢谢、

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

    您好!

    您看到的错误是 CRC 不匹配。 使用我们的 SDK 构建固件时、十六进制文件包含一个称为 CCFG 的部分、其中包含许多有关引导的有用信息等。 该 CCFG 还包含固件的 CRC 值、您可以将其视为固件的哈希值。 上传固件时、CRC 计算由固件编程工具执行、并将其与固件的 CRC 值进行比较。

    在 CRC 匹配的情况下、一切正常、并且固件成功刷写。 如果 CRC 不匹配、根据您使用的工具、可能有两种行为:
    - Uniflash 将假定上传正确,您忘记添加 CRC。 它会将 CRC 本身写入闪存并继续刷写。
    -其他工具可能不做这个假设,并将停止刷写过程。

    在您的情况下、解决方案是将 CRC 值添加到 CCFG 中。 SDK 在下提供了 CRC 工具  C:\ti\simplelink_lowpower_f3_SDK_9_11_00_18\tools\common\crc_tool  将 CRC 添加到固件的配置文件。

    在大多数示例项目中、CRC 作为编译后步骤添加了以下命令:  ${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/tools/common/crc_tool/crc_tool patch-image ---elf ${BuildArtifactFileBaseName}.out -symbol-prefix ti_utils_build_GenMap_sym_crc_CCFG -o ${BuildArtifactFileBaseName}.out

    用户指南的这一章可以详细了解 CRC

    此致、
    Maxence