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.

[参考译文] MSPM0L1306:即使在执行步骤后、我也可以't 将其复位

Guru**** 2546020 points
Other Parts Discussed in Thread: LP-MSPM0L1306, SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1546889/mspm0l1306-i-can-t-reset-it-even-after-following-the-steps

器件型号:MSPM0L1306
主题: SysConfig 中讨论的其他器件

工具/软件:

我使用的是 LP-MSPM0L1306。

在写入软件一次后尝试再次写入软件时、会发生以下错误:

该字段用于检索复位模式下的等待:(错误–6311)PRSC 模块无法写入寄存器。

当我执行恢复出厂设置时、会发生以下错误:

CS_DAP_0:读取寄存器 SECAP_RCR 时出现问题:(错误–2131 @ 0x2020C)无法访问器件寄存器。 重置器件、然后重试此操作。 如果错误仍然存在、请确认配置、对电路板进行下电上电、和/或尝试更可靠的 JTAG 设置(例如下 TCLK)。 (仿真包 20.2.0.3536)
CS_DAP_0:GEL:执行 GEL_DAPInit_SECAPCommand () 时出错:目标读取寄存器 SECAP_RCR 失败
AT (REG':SECAP_RCR&0xFFFFU)[mspm0_cs_dap_init.gel:247]
AT GEL_DAP Init_Wait ForResponse ()[mspm0_cs_dap_init.gel:426]
在 GEL_DAPInit_SECAPCommand () 处

我无法编写软件或恢复出厂设置、所以有什么解决方案吗?

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

    您好:

    您的 MCU 似乎已锁定。 您可以尝试执行以下步骤:  

    1. 请关闭 CCS 并检查硬件连接、然后将 LaunchPad 与 PC 重新连接
    2. 请尝试将 PA18 连接到 VCC、这将使 MCU 进入 BSL 模式、然后您尝试恢复出厂设置
    3. 如果方法 2 无法解决此问题、请尝试按住“Reset"按钮“按钮、然后点击“Launch Selected Configuration“、然后在中选择“Mailbox_factory reset_auto“
      直接“脚本“、当您看到“ESC_AP Reconnect“时、释放“重置“按钮、检查这是否可以执行出厂重置

        4.如果方法 2&3 不有用、请检查是否可以使用 CCS 连接 DAP 内核。 “Launch Selected Configuration“->“Show All cores“->右键点击“CS_DAP_0"并“并点击“connect target“、检查 CS_DAP 是否可以连接  

       5.如果它可以连接、您可以尝试读取 BOOTDIAG 进行调试。 请注意、本指南文件基于 CCS Theia (CCS20x)

    e2e.ti.com/.../Read_5F00_CFGAP_5F00_BOOTDIAG_5F00_Theia.pdf

    6.如果所有这些方法都不起作用,也许你需要更换另一个 Launchpad。 如果您修改了代码中的 NONMAIN、请确保您没有向 NONMAIN 写入一些错误或奇怪的数据

    此致、

    Janz Bai

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

    Janz Bai

    感谢您的答复。 步骤 2 和 3 不起作用、但步骤 5 加载了 BOOTDIAG 日志并显示以下值:接下来应该怎么做?

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

    您好、

    BOOTDIAG 每个位的含义如下图所示  

    根据结果“0x36",“,根本、根本原因是引导阶段的 CRC 错误。 与我的同事讨论后、它主要与 NONMAIN 区域相关。 这意味着您的 NONMAIN 区域可能存在一些错误、这会导致 NONMAIN CRC 错误。  

    请检查:

    • 如果您使用 SysConfig 配置 NONMAIN、请仔细检查您设置的数据是否没有任何错误的值 (NONMAIN 寄存器、您可以参阅 TRM)。
    • 如果您有一些关于修改 NONMAIN 的代码、请仔细检查是否正确擦除 NONMAIN 并在 NONMAIN 中写入值
    • 检查您之前是否为 NONMAIN 设置了写保护。 如果在代码之前对 NONMAIN 的任何区域设置写保护、并且这次要修改同一区域、这可能会导致从 NONMAIN 代码中获取 CRC、而实际的 NONMAIN 数据则不同。
    • 如果要擦除和下载 NONMAIN、请不要忘记选择“Erase main and NONMAIN memory“(请参阅上面的警告)

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

    Janz Bai

    感谢您告诉我原因

    我检查了设置、但老实说我不明白。

    我删除了尝试写入 NONMAIN 区域的代码部分。 我再次恢复出厂设置、但仍然不变。

    SYSCFG 配置 NVM 和 CRC 设置如下所示。
    您能告诉我哪些内容需要纠正吗?

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

    您好:

    我忘记了检查一点、如果您想恢复出厂设置、则需要在硬件级别连接 RST 线路。 如果您已连接 RST、但还无法恢复出厂设置、这可能意味着您的 MCU NONMAIN 由于某种原因而损坏、例如向 NONMAIN 写入了错误的数据。

    我让您检查您的代码和配置、因为无法下载或恢复出厂设置的原因很可能是 MCU NONMAIN 已损坏。 执行此检查是为了让我们知道什么是根本原因、并防止下一台设备损坏。 此检查不会更改恢复出厂设置的结果、因为恢复出厂设置与详细的应用代码无关。  

    您可以更改以使用另一个 Launchpad、并首先禁用 CRC 模块和 NONMAIN 模块、检查是否可以下载应用代码。 然后在 SysConfig 中启用 NONMAIN 配置模块、并检查您是否仍可以下载应用代码。 然后添加 CRC 模块并进行检查。 之后、添加您在开始时删除的 NONMAIN 代码、并检查是否可以下载应用代码。 您可以逐步检查哪个模块是根本原因。

    如果我为恢复出厂设置提供的所有方法都没有用、则意味着芯片已完全锁定。

    您与我分享的配置似乎没有问题。 我怀疑您编写的与 NONMAIN 相关的代码可能存在一些错误、例如将错误的数据写入 NONMAIN 或将数据写入 NONMAIN 区域而不应写入。

    顺便说一下、请检查  

    此致、

    Janz