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.

[参考译文] CC1354P10:从受保护的 CC13x4 上的 uniflash CLI 执行批量擦除

Guru**** 2928980 points

Other Parts Discussed in Thread: UNIFLASH, CC1354P10, CC1310

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1646449/cc1354p10-executing-mass-erase-from-uniflash-cli-on-protected-cc13x4

部件号: CC1354P10
主题中讨论的其他器件: UNIFLASHCC1310

使用 CC1314/CC1354 器件时、我使用 XDS110 将编程脚本写入闪存内部存储器、 正常情况下可以正常工作、但在运行时、固件会启用 JTAG 保护功能、可在访问前强制进行批量擦除。

设置保护后、Uniflash GUI 将提示我确认解锁/芯片擦除、然后正常工作。 但对于 CLI、我无法执行相同的解锁/擦除、我得到以下信息:
fatal: IcePick_C: Error connecting to the target: (Error -241 @ 0x0) A router subpath could not be accessed. A security error has probably occurred. Make sure your device is unlocked. (Emulation package 20.4.0.3756)

注意:在 CCS 中测试连接时出现相同的错误–241。

作为参考、我遵循了本指南、创建了独立的 CLI、除了这个 JTAG 保护功能外、我可以很好地执行擦除和编程操作、而不会出现任何问题:

https://software-dl.ti.com/ccs/esd/uniflash/docs/latest_qsguide.html#standalone-command-line-tool

我需要让这个 CLI 完全正常工作、以便我们的开发人员团队刷写硬件。

谢谢、
亚伯拉罕

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

    您好!

    使用相同的器件和您描述的步骤时、我这边也能重现问题。 我认为 CLI 软件包的行为是有目的的、因为在批量擦除的情况下、用户可能会丢失数据。

    只是要清楚你期望的行为是什么:你希望 CLI 包检测到 JTAG 被锁定,然后自动尝试批量擦除并重新运行刷写过程,我是正确的吗? 如果是这种情况,您能否在您的一侧确认在生成的 uniflash_windows 文件夹中,您可以运行以下命令来批量擦除设备:  

    .\dslite.bat --mode cc13xx-cc26xx-mass-erase -c user_files/configs/cc1354p10.ccxml

    此致、
    Lea

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

    尊敬的 Lea:

    是的、正是这样、我希望能够擦除/刷写器件、无论是锁定还是空白。

    我确实执行了命令、除非我首先转到 Uniflash UI、尝试读取存储器并确认批量擦除(擦除)、否则会失败。 只有这样、CLI 才会工作。

    附带注意、我使用 附带的 CC1314 进行了测试、但这与 CC1354 的行为相同。

    更新:

    我发现、如果我使用此命令(使用-d 探测器而不是-c 配置文件)、它将被擦除、但它会使用 cortexM3 而不是 cortexM33 在所有文件中采用不同的路径。

    .\dslite.bat --mode cc13xx-cc26xx-mass-erase -d XDS110

    此命令直接在 uniflash 安装目录中运行、但它不能从 UI 生成的 CLI 包中运行、我尝试手动将 CLI 目录与最低配置文件组合在一起、以成功执行芯片擦除和闪存。

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

    您好!

    正确的做法是、CLI 输出本身不能批量擦除芯片。 这样做的原因是 UniFlash 使用特定芯片作为芯片擦除的“模型“。 该芯片是 CC1310F128。 我能够使用以下步骤通过 CLI 执行批量擦除:

    -为 CC1310F128 生成 CLI 软件包并解压
    -为您的芯片 (CC1354P10) 生成 CLI 软件包并将其解压缩
    -将 CC1310F128 的 CLI 软件包内容复制到 CC1354P10 的文件夹中,但不要覆盖文件! 当 Windows 询问“999 个文件具有相同名称“时、选择“跳过这些文件“

    这样、您就可以运行批量擦除命令并刷写船舶。 然后、刷写过程将运行“.\dslite.bat --mode cc13xx-cc26xx-msial-erase -d XDS110“以进行批量擦除、然后运行“.\dslite.bat“以使用您在 UniFlash 中创建 CLI 包时设置的 CLI 设置进行刷写。

    您能否尝试一下此方法、看看您的问题是否得到解决?

    此致、
    Lea

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

    尊敬的 Lea:

    我认为我的问题现在已经解决了、我 基于 CC1310 创建了一个 cc13xx_cc26xx_2pin_cJTAG_XDS110.ccxml 副本以进行擦除(因为使用-d XDS110 默认使用该 ccxml)、然后创建了另一个 ccxml 副本以刷写 CC13x4(使用-c 参数)。

    感谢您的帮助、

    亚伯拉罕

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

    听起来很棒!