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.

[参考译文] CC1312R7:ROM 引导加载程序激活、无 GPIO

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1511799/cc1312r7-rom-bootloader-activation-without-gpio

器件型号:CC1312R7

工具/软件:

您好、

根据以下相关线程 https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1195348/launchxl-cc1352r1-is-it-possible-to-enter-rom-bootloader-from-software-activation 的说明、 应该可以通过向 CCFG_O_image_valid_CONF 寄存器写入一些无效值来激活 ROM 引导加载程序。 但是、当我运行时

HWREG(CCFG_O_IMAGE_VALID_CONF) = 0XFFFFFFFF;
SysCtrlSystemReset(); 

HWREG (CCFG_O_image_valid_CONF)= 0XFFFFFFFF;行引发硬件异常、即

Error raised: hardware exception id = 3, pc = 0x00040f4c (<sdk-path>/kernel/tirtos7/packages/ti/sysbios/family/arm/m3/Hwi.c:1104)

我分别包含以下 HWREG 和 SysCtrlSystemReset 的接头。

#include "hw_ccfg.h"
#include "sys_ctrl.h"

任何见解都将非常感谢。

此致、

Mauricio。

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

    尊敬的 Mauricio:

    很遗憾、我无法访问您共享的链接。

    但据我所知、 您尝试向映像有效寄存器写入一个非法值、  这将强制 MCU 将控制权移交给串行引导加载程序:www.ti.com/.../swcu192第855页、这通常应该可以正常工作。

    在执行此写入之前、最好进行一些辅助控制。 在执行写入之前、您是否取消了驱动程序初始化、关闭了堆栈等?  

    此致、
    Theo

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

    尊敬的 Theo:

    以下是正确的链接 https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1195348/launchxl-cc1352r1-is-it-possible-to-enter-rom-bootloader-from-software-activation (此链接也作为原始问题进行了链接)。 我上一篇帖子的链接末尾有一个逗号 因此、点击它将不起作用。

    关于您的响应、我确实尝试向寄存器写入一个非法值。 我将根据建议尝试取消初始化驱动程序并关闭堆栈。

    谢谢你。

    此致、

    Mauricio。

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

    尊敬的 Mauricio:

    感谢您提供更新后的链接。
    所描述的过程正是我所指的,也应该适用于你。

    请让我知道在执行该过程之前清理应用程序后错误是否仍然存在。

    此致、
    Theo

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

    尊敬的 Theo:

    我将使用 wisun ns_br 工程示例来测试此引导加载程序激活、但无法确定如何清理此应用程序。 你有什么建议吗?

    谢谢您、

    此致、

    Mauricio。

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

    尊敬的 Mauricio:

    要使驱动程序和堆栈进入已知状态、我建议您触发复位。

    之后、 您可以向映像值寄存器写入无效值并触发另一次复位以进入引导加载程序模式。

    此致、
    Theo

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

    尊敬的 Theo:

    正如您所描述的、我一直在测试重新启动后写入寄存器的情况。 但是、正如我之前所述、它会引发硬件异常。

    具体设置是我创建了一个 NWP 属性、并使用 wfanctl 设置该属性来触发寄存器写入。 我运行 wfantund、然后运行 wfanctl set 命令。

    还有其他建议吗?

    此致、

    Mauricio。

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

    尊敬的 Mauricio:

    我建议使用 NWP 属性和 wfanctl 在 NV 中编写一个标志。  
    此写入完成后、您会重置。
    作为重启后的第一个操作、在启动任何其他操作之前、初始化 NV 并检查标志。
    如果存在该标志、则清除标志并写入 HWREG (CCFG_O_image_valid_CONF)= 0XFFFFFFFF;
    将再次重置并进入引导加载程序。

    请告诉我这是否有效、或者错误是否仍然存在。 如果是、请与我分享您使用的最小示例、以便我可以重现该示例以进一步调试它。

    此致、
    Theo

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

    尊敬的 Mauricio:

    我还想问您是否考虑按照 TRM 中所述改用引导加载程序后门。
    因为当您使用仅软件方法(使映像失效)时、如果器件在更新/引导加载程序中因某种原因卡住、则无法远程恢复器件。


    此致、
    Theo

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

    尊敬的 Theo:

    感谢您的建议。 我们将尝试实施这种方法。 但是、由于我们现在要迁移到其他项目、这可能需要一些时间。 当我们测试它时、我会让您知道。

    关于您的问题、我们确实在考虑仅使用软件激活、因为我们在其中一个项目中不会有 GPIO 来激活后门。 但我同意这种做法可能有风险。

    谢谢你。

    此致、

    Mauricio。

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

    尊敬的 Mauricio:

    然后、我将关闭该主题、当您再次开始使用该功能时、请再次联系。

    如果仍有更改设计的选项、值得考虑为引导加载程序后门添加一个 GPIO、以便找到远程恢复器件的安全方法。

    此致、
    Theo