ZHCAF28 March   2025 MSPM0C1103 , MSPM0C1104 , MSPM0C1104-Q1 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0L1105 , MSPM0L1106 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2228 , MSPM0L2228-Q1

 

  1.   1
  2.   摘要
  3.   商标
  4. 1网络安全要求简介
    1. 1.1 MSPM0 的网络安全要求
  5. 2MSPM0 调试寄存器简介
  6. 3实施
    1. 3.1 使用邮箱的调试器
    2. 3.2 MCU
      1. 3.2.1 使用和配置 Nonmain
      2. 3.2.2 MSPM0 软件实现
  7. 4执行
    1. 4.1 首次刷写
    2. 4.2 访问锁定的 MCU
  8. 5如何自定义密码
    1. 5.1 密码
    2. 5.2 密码长度
  9. 6总结
  10. 7参考资料

访问锁定的 MCU

如果 MCU 已被密码锁定,以下步骤展示了如何重新连接 MCU 并调试新项目。

由于在首次编程过程中已配置了 Nonmain,因此无需为后续编程配置 Nonmain。对于之后烧录或调试的项目,需要进行一些更改。首先,在项目属性中禁用 Nonmain 刷写,然后注释掉 boot_configwithPassword.c 中的 Nonmain 配置代码,如图 4-2图 4-3 所示。

 禁用 Nonmain 刷写图 4-2 禁用 Nonmain 刷写
 注释 Nonmain 配置代码图 4-3 注释 Nonmain 配置代码

完成修改后,需要执行以下步骤来解锁和调试 MCU。

  1. 在 CCS 中连接 MCU 并打开目标配置以加载 CCS 脚本。
     打开目标配置图 4-4 打开目标配置
  2. 在项目中添加两个 CCS 脚本。
     添加 脚本图 4-5 添加 脚本
  3. 通过 CCS GUI 界面输入密码并按 Ctrl + S 保存配置。
     通过 GUI 输入密码图 4-6 通过 GUI 输入密码
  4. 启动配置。
     启动配置图 4-7 启动配置
  5. 使用脚本。继续下拉复位引脚,将 MCU 设置为复位模式,并且不运行代码。然后单击 MSPM0_PasswordAuthForMSPM0C。继续按住复位按钮。
     运行脚本图 4-8 运行脚本
  6. 出现此界面后(显示 DAP 和 SEC-AP 已连接并等待响应),上拉复位引脚。
     显示邮箱进程的消息图 4-9 显示邮箱进程的消息
  7. 当复位引脚拉至高电平时,调试器尝试连接到 DAP 并开始 MCU 身份验证。如果验证通过,则会显示图 4-10 中所示的以下信息。此外,调试器发送的密码也会显示在控制台中。
     控制台信息图 4-10 控制台信息
  8. MCU 已解锁并访问存储器或闪存代码。
注: 请注意,调试完成后,即执行引导复位以使 Nonmain 配置有效。MCU 再次锁定。为了便于复位,下拉复位引脚 1s,然后断电并再次上电。为对于未进行足够的密码尝试来访问 MCU 的用户,图 4-11 会显示一条错误消息。
 连接 MCU 失败图 4-11 连接 MCU 失败