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.

[参考译文] CC23XX-REPORTS:Uniflash CLI 工具验证失败

Guru**** 2782615 points

Other Parts Discussed in Thread: UNIFLASH, CC2340R5

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1620462/cc23xx-reports-uniflash-cli-tool-is-failing-in-verification

器件型号:CC23XX-REPORTS
主题中讨论的其他器件: UNIFLASHCC2340R5

我生成了一个 UniFlash 独立命令行包、其中包含三个文件: mcuboot.hex (其中包含 CCFG 设置)、 basic_persistent.bin 、和 OAD_on_chip.bin

运行该dslite_cortexM0P.bat文件时、它会执行以下命令:

dslite ----模式 noConnectFlash -c user_files/configs/cc2340r5.ccxml -l user_files/settings/generated.ufsettings -e -f -v “user_files/images/mcuboot_LP_EM_nortos_ticlang_ticlang  

此处是附加的详细数据

“DSLite 版本 20.1.0.3671.
配置调试器(首次启动时可能需要几分钟)...
    正在初始化注册数据库...
    正在初始化:CS_DAP_0
    执行启动脚本:CS_DAP_0
    正在初始化:Cortex-M0P
    执行启动脚本:Cortex-M0P
    正在初始化:sec_ap
    执行启动脚本:sec_AP
信息:CORTEX_M0P:闪存加载程序:CC23xx_CC27xx_FLASH_LIBRARY_VERSION 3.22.0.71
加载程序:多个文件
    正在准备...
    0 of 11876 at 0x0
    0 of 32752 at 0x6000:3%
    32752 的 30720、地址为 0x6000:11%
    32752 中的 16 个位于 0xdff0:11%
    32752 的 30736 位于 0xdff0:20%
    32752 的 32、位于 0x15fe0:20%
    32752 的 30752 位于 0x15fe0:28%
    32752 中的 48(0x1dfd0 时):29%
    32752 的 30768(0x1dfd0 时):37%
    32752 的 64(位于 0x25fc0):37%
    32752 的 30784 位于 0x25fc0:46%
    0x2dfb0 处 13379 的 80:46%
    0 of 32752 at 0x32000:50%
    32752 的 30720 在 0x32000 处:58%
    32752 的 16 个位于 0x39ff0:58%
    32752 的 30736、位于 0x39ff0:67%
    32752 的 32 个地址为 0x41fe0:67%
    32752 的 30752 位于 0x41fe0:75%
    32752 中的 48(位于 0x49fd0):76%
    32752 的 30768、地址为 0x49fd0:84%
    32752 的 64(0x51fc0 时):84%
    32752 的 30784(0x51fc0 时):93%
    0x59fb0 时 21862 的 80:93%
    0 of 2048 在 0x4e020000 时:99%
    已完成:99%
信息:CORTEX_M0P:根据[0x4E020000、0x4E02000B]范围内的数据更新 CRC32 字段 ccfg.bootcfg.CRC32 @地址 0x4E02000C。 值从 0x00000000 变为 0x1C3F2B81
信息:Cortex-M0P:根据[0x4E020010、0x4E02074B]范围内的数据更新 CRC32 字段 ccfg.CRC32 @地址 0x4E02074C。 值从 0x00000000 更改为 0xB714DFB7
信息:CORTEX_M0P:根据[0x4E0207D0、0x4E0207FB]范围内的数据更新 CRC32 字段 ccfg.debugCfg.crc32 @地址 0x4E0207FC。 值从 0x00000000 变为 0x52729A2
CORTEX_M0P:GEL 输出:存储器映射初始化完成。
    将 PC 设置为入口点。:99%
验证程序:多个文件
    正在准备...
    0 of 11876 at 0x0
    0 of 32752 at 0x6000:3%
    32752 的 30720、地址为 0x6000:11%
    32752 中的 16 个位于 0xdff0:11%
    32752 的 30736 位于 0xdff0:20%
    32752 的 32、位于 0x15fe0:20%
    32752 的 30752 位于 0x15fe0:28%
    32752 中的 48(0x1dfd0 时):29%
    32752 的 30768(0x1dfd0 时):37%
    32752 的 64(位于 0x25fc0):37%
    32752 的 30784 位于 0x25fc0:46%
    0x2dfb0 处 13379 的 80:46%
    0 of 32752 at 0x32000:50%
    32752 的 30720 在 0x32000 处:58%
    32752 的 16 个位于 0x39ff0:58%
    32752 的 30736、位于 0x39ff0:67%
    32752 的 32 个地址为 0x41fe0:67%
    32752 的 30752 位于 0x41fe0:75%
    32752 中的 48(位于 0x49fd0):76%
    32752 的 30768、地址为 0x49fd0:84%
    32752 的 64(0x51fc0 时):84%
    32752 的 30784(0x51fc0 时):93%
    0x59fb0 时 21862 的 80:93%
    0 of 2048 在 0x4e020000 时:99%
错误:CORTEX_M0P:文件加载程序:验证失败:地址 0x4E02000C 处的值不匹配(预期:0x00000000、实际:0x1C3F2B81)请验证目标存储器和存储器映射。
    已完成:99%
失败:文件:多个文件:发生数据验证错误、文件加载失败。“

在生产中对闪存的映像进行验证很重要、因此我不能跳过验证是否有任何方法可以使用 CLI 工具进行刷写和验证

任何猜测都将是感激的

谢谢你

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

    尊敬的 akash:

    是否使用最新版的 Uniflash?  您能否确认仅对  mcuboot_LP_EM_CC2340R5_nortos_ticlang.hex 进行编程时是否出现此问题?  我不确定 Uniflash 是否希望验证非连续闪存。  也许您可以尝试 创建自定义 二进制文件和/或将 mcuboot 分离到单独的应用程序和 CCFG 二进制文件中、然后重试这些二进制文件(单数或分组):

    ${CG_TOOL_ROOT}/bin/tiarmobjcopy ${ProjName}.out --output-target binary ${ProjName}-no-ccfg.bin --remove-section=.ccfg
    ${CG_TOOL_ROOT}/bin/tiarmobjcopy ${ProjName}.out --output-target binary ccfg_CC2745R10.bin --only-section=.ccfg

    以下是更多的 闪存矢量表 信息、以防可能有任何用途。

    此致、
    Ryan