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.

[参考译文] MSPM0L2228:"secondary_bsl_uart"的闪存编程器错误

Guru**** 2805935 points

Other Parts Discussed in Thread: MSPM0L2228, SYSCONFIG, UNIFLASH

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1603777/mspm0l2228-flash-programmer-error-for-secondary_bsl_uart

器件型号: MSPM0L2228
Thread 中讨论的其他器件: SYSCONFIG、UNIFLASH

您好、  
我尝试将 TI 的示例软件用于 MSPM0L2228“secondary_bsl_uart"</s>“

但显示了以下错误、无法启动软件。
您能告诉我如何解决此问题吗???


1) 执行 CCS
2) 显示“开始屏幕“
3) 点击“浏览软件和示例“
4) 从“Arm-based microcontrollers/Embedded Software/...“导入“secondary_bsl_uart"</s>“
5) 为目标器件选择“MSPM0L2228"</s>“
6) 点击“下一步“按钮
7) 通过“项目/重建项目“菜单进行 Re 编译
8) 显示以下 2 个警告

[10]警告:/ti/project_config/ProjectConfig:此项目禁用项目配置文件生成。 目前不支持该工程迁移 SysConfig 工程。
[11]警告:/ti/driverlib/NONMAIN staticWriteProtectionNonMain :这将永久锁定配置,除非使用或不使用密码启用了 BCR 出厂重置。

[43]Warning #10247-D:创建不带段规范的输出段“.binit"</s>“

9) 使用 USB 电缆将 Lauchpad 连接到 PC
10) Lauchpad 上的 LED2 变为绿色
11) 点击 CCS 左侧“Explorer"选项“选项卡中的“Debug Project“
12) 以下消息显示在“Debug output“区域、并且示例软件未加载到 LaunchPad。

闪存编程器:器件不包含 DATA 存储体
文件加载程序:存储器写入失败:闪存编程器:main/NONMAIN /数据擦除失败!
GEL:文件:C:\Users\backend-soft01\workspace_ccstheia\secondary_bsl_uart\Debug\secondary_bsl_uart.out:加载失败。

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

    尊敬的 Susumu:

    您能否验证是否已将工程配置为也擦除 NONMAIN?

    如果没有、可以通过右键点击工程并点击来实现 属性...

    从此处、转到 调试 选项卡中、然后在类别下拉列表中选择 MSPM0 闪存设置

    注意: 刷写后、您可能会收到 以下错误:

    这是预期结果。  只需重新加载 CCS (Ctrl + R) 并断开再重新连接电路板。 您可以通过启动无工程调试并检查 0x2000 处的存储器来确认软件是否已加载到器件上:

    此致、

    Owen

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

    尊敬的 Owen:  

    感谢您的支持。

     根据您的回复、我可以通过检查 0x2000 处的存储器来确认软件似乎已正确加载。

    然而、几次试用刷写后、该软件停止工作、并且 在 CCS 上显示以下诊断代码。

    您能告诉我如何解决此问题吗???

    CS_DAP_0:器件诊断读取= 0x00000036
    CS_DAP_0:
    可能的根本原因可能是以下一个或多个:
    1) CRC 配置无效
    2) BCR 配置无效
    3) BSL 配置无效

    可能的恢复方法:
    1) 执行 DSSM 恢复出厂设置
    2) 如果方法不起作用、请移除功耗、保持 nRST 为低电平、在 nRST 保持低电平时连接器件、然后执行 DSSM 恢复出厂设置

    此致、  

    Susumu

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

    尊敬的 Susumu:

    您能解释一下试用刷写的含义吗? 您是否尝试刷写辅助 BSL? 您是否尝试使用辅助 BSL 将应用程序代码刷写到器件中?

    您是否能够使用恢复出厂设置序列来恢复器件?

    此致、

    Owen

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

    尊敬的 Owen:

    “试用刷写“是指通过 CCS 和/或“Uniflash “对 M0 uCOM 的所有闪存进行编程。

    不仅是辅助 BSL、还包括闪存的其他区域。

    恢复出厂设置无法恢复器件。

    但 在 CCS 上可以看到诊断读取= 0x00000036。

    对不起,我不确定的程序导致这个现象的细节,因为我意识到它后几个小时...

    此致、  

    Susumu

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

    尊敬的 Susumu:

    我想我可能无法理解整个情况、但如果您刷写了辅助 BSL、然后尝试将另一个程序刷写到器件中、如果应用程序代码在存储器(引导加载程序的位置)中超过 0x2000、则可能会出现问题。 在 SDK 示例中、该存储器的这一部分受静态写保护、因此不允许在该区域中进行任何写入尝试。  

    如果擦除 NONMAIN 并且在下电上电之前不要重新刷写器件、也可以为器件砖化。

    我建议尝试 MSPM0 MCU 开发指南中 关于如何解锁器件的第 7.1 节所述的步骤。

    MSPM0 NONMAIN 闪存操作指南 也可能是帮助您全面阅读的指南。

    您还可以使用辅助 BSL 将应用程序代码刷写到器件中。

    以下是有关 BSL 的一些有用文档:

    此致、

    Owen

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

    尊敬的 Owen:  

    我尝试了以下 4 种方法来恢复设备。

    但它没有解决这个问题。

    您对此问题有其他想法吗???

    7.1.1 通过引导加载程序解锁

    7.1.2 通过恢复出厂设置 GUI 工具解锁

    7.1.3 通过 Uniflash 解锁

    7.1.4 通过 CCS 解锁

    *** CCS 的日志消息***

    [2026/1/13 9:10:20][info] CS_DAP_0:GEL 输出:启动器件批量擦除
    [2026/1/13 9:10:20][info] CS_DAP_0:GEL 输出:尝试 CS_DAP 连接
    [2026/1/13 9:10:20][info] CS_DAP_0:GEL 输出:尝试 SEC_AP 连接
    [2026/1/13 9:10:20][info] CS_DAP_0:GEL 输出:发送命令
    [2026/1/13 9:10:21][info] CS_DAP_0:GEL 输出:使用 NRST 启动硬件复位
    [2026/1/13 9:10:21][info] CS_DAP_0:GEL 输出:启动 BOOTRST 板复位
    [2026/1/13 9:10:22][info] CS_DAP_0:GEL 输出:复位线路置为有效
    [2026/1/13 9:10:22][info] CS_DAP_0:GEL 输出:复位线路置为无效
    [2026/1/13 9:10:22][info] CS_DAP_0:GEL 输出:板复位完成
    [2026/1/13 9:10:22][info] CS_DAP_0:GEL 输出:复位完成
    [2026/1/13 9:10:22][info] CS_DAP_0:GEL 输出:sec_AP 断开连接
    [2026/1/13 9:10:22][info] CS_DAP_0:GEL 输出:sec_AP 重新连接

    *** UniFlash 的屏幕截图***

    此致、  

    Susumu

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

    尊敬的 Susumu:

    您似乎尝试发出批量擦除、而不是恢复出厂设置。 请按照以下步骤操作:

    1. 断开器件并按住 NRST 按钮
    2. 加载 Uniflash、将其配置到正确的目标、并准备好恢复出厂设置手动按钮
    3. 在按住 NRST 按钮的同时连接器件、然后点击恢复出厂设置手动按钮
    4. 按照 以下提示符中的说明进行操作
    5. 现在应已解锁器件。 如果没有、请再试两次。 如果没有、则表明设备已崩溃

    此致、

    Owen

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

    尊敬的 Owen:

    我尝试了基于程序,如你提到 — 有点改变... -、
    但此问题未解决。
    请在下面找到操作结果的屏幕截图。
    如果您认为设备已损坏、请关闭此标签。

    我获取了 Uniflash 的日志文件 — ds.log (ca. 300KB)-、但我没有任何想法将其发送给您...

    1.断开设备连接并按住 NRST 按钮
    2.启动 Uniflash
    3.按住 NRST 按钮连接设备
    (如果没有可用连接,则未显示用于连接器件的按钮)
    4.将 Uniflash 配置为正确的目标,并准备好恢复出厂设置手动按钮
    5.松开 NRST 按钮
    6.点击恢复出厂设置手动按钮
    7.按下恢复出厂设置按钮后、LED2(绿色)亮起
    8. LED1(红色)开始闪烁几次、然后继续亮起。
    9.按下 NRST 按钮
    10、即使我等了几分钟、Uniflash 屏幕也是一样的。

    此致、
    Susumu

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

    尊敬的 Susumu:

    您是否在之后按了 NRST 按钮 按下复位按钮... 消息出现在控制台中?

    这是定制电路板还是 LaunchPad (EVM)?

    您应该能够将日志文件作为回复的附件上传(插入>图像/视频/文件)。

    此致、

    Owen

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

    尊敬的 Owen:

    正如您昨天提到的、我又尝试了一次。

    1) 是的,我按下了 NRST 按钮后的消息出现。
    2) 它是一个 LanchPad。
    3) 无法从我的 回复上传日志文件(插入>图像/视频/文件)。 它似乎太大,发送它 — 约 400KB -.
    4) 如果点击#6 之后的 Uniflash 窗口、有时会显示错误消息、但具体取决于点击 Uniflash 窗口的时间。

    1.断开设备连接并按住 NRST 按钮
    2.启动 Uniflash
    3.按住 NRST 按钮连接设备
    (如果没有可用连接,则未显示用于连接器件的按钮)
    4.将 Uniflash 配置为正确的目标,并准备好恢复出厂设置手动按钮
    5.松开 NRST 按钮
    6.点击恢复出厂设置手动按钮
    7.按下恢复出厂设置按钮后、LED2(绿色)亮起
    8. LED1(红色)开始闪烁几次、然后继续亮起。
    9.按下 NRST 按钮
    10、即使我等了几分钟、Uniflash 屏幕也是一样的。

    此致、
    Susumu

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

    尊敬的 Susumu:

    MSPM0 NONMAIN 闪存操作指南 概述了我们可以尝试的更多步骤。

    在第 8.2 节中、有其他方法可用于解锁 MSPM0 器件。 您能否尝试这些方法、看看它们是否适合您?

    第 8.3.8 节还介绍了您正在观察到的错误:

    如果这些步骤都不起作用、则很可能设备已崩溃、无法恢复。

    此致、

    Owen

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

    尊敬的 Owen:
    我尝试了以下程序作为您提到的文档。
    但问题无法解决。
    我认为设备坏了。
    你喜欢吗?

    #1

    1.断开设备连接并仅按住 NRST 按钮。(未按下 S1 按钮)
    2.启动 Uniflash
    3.按住 NRST 按钮连接设备。
    4. LED2(绿色)亮起。
    5.将 Uniflash 配置为正确的目标、然后按 Uniflash 上的“Start"按钮“按钮。
    6.按恢复出厂设置手动按钮。
    7. LED1(红色)开始闪烁几次、然后继续亮起。
    8.连接到此主题的屏幕显示 — UniFlash-FactoryReset-20260119-1.png

    9.按下“重试“按钮
    10、屏幕和上面的 8 号一样,即使我等了几分钟。


    #2.

    1.断开设备并按住连接到 PA18 的 NRST 按钮和 S1 按钮。
    2.启动 Uniflash
    3.在按住 NRST 按钮和 S1 按钮的同时连接设备。
    4. LED2(绿色)亮起。

    5.将 Uniflash 配置为正确的目标、然后按 Uniflash 上的“Start"按钮“按钮。
    6. CSS 控制台窗口中不显示任何内容。
    7.松开 S1(PA18) 按钮。

    8.松开 NRST 按钮。

    9. CSS 控制台窗口中不显示任何内容。
    10.按下恢复出厂设置手动按钮。
    11. LED1(红色)开始闪烁几次、然后继续亮起。
    12.连接到该主题的屏幕显示 — UniFlash-FactoryReset-20260119-2.png


    13.屏幕是一样的 11 以上,即使我等了几分钟.
    14.屏幕是一样的 10 以上,即使我等了几分钟.

    此致、
    Susumu

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

    尊敬的 Susumu:

    如果您按住重置按钮直到控制台提示您按下重置按钮(释放此处的按钮等效)、并且您无法恢复设备、则表明设备已崩溃。

    使用 NONMAIN 时、请确保在对器件进行下电上电之前它不会被擦除。 如果 NONMAIN 在下电上电之前未刷写、则会使器件砖化、并且不再可恢复。

    MSPM0 NONMAIN 闪存操作指南和上面分享的 BSL 文档对于防止将来锁定器件非常有用。

    此致、

    Owen