ZHCAG08 November   2025 MSPM0G3507 , MSPM0L1306

 

  1.   1
  2.   摘要
  3.   商标
  4. 简介
    1. 1.1 术语
  5. NONMAIN 架构
    1. 2.1 MSPM0 系列概述
    2. 2.2 NONMAIN 配置概述
    3. 2.3 NONMAIN 存储器
  6. NONMAIN 配置
    1. 3.1 BCR 配置
      1. 3.1.1 BCR 配置 ID
      2. 3.1.2 串行线调试 (SWD) 策略
        1. 3.1.2.1 访问策略
        2. 3.1.2.2 调试策略
          1. 3.1.2.2.1 明文密码示例
          2. 3.1.2.2.2 SHA2-256 密码示例
        3. 3.1.2.3 批量擦除和恢复出厂设置策略
        4. 3.1.2.4 TI 故障分析
      3. 3.1.3 闪存静态写保护
        1. 3.1.3.1 MAIN 闪存静态写保护
        2. 3.1.3.2 NONMAIN 闪存静态写保护
      4. 3.1.4 客户安全代码 (CSC)
        1. 3.1.4.1 CSC 策略
        2. 3.1.4.2 闪存存储体交换策略
        3. 3.1.4.3 调试保持
      5. 3.1.5 快速引导模式
      6. 3.1.6 应用程序摘要校验
        1. 3.1.6.1 CRC32 摘要校验示例
        2. 3.1.6.2 SHA2-256 摘要校验示例
      7. 3.1.7 BSL 策略
      8. 3.1.8 BCR 校验和
        1. 3.1.8.1 CRC 校验失败处理
    2. 3.2 BSL 配置
      1. 3.2.1 BSL 配置 ID
      2. 3.2.2 调用引脚配置
      3. 3.2.3 基于 ROM 的通信接口
        1. 3.2.3.1 UART 接口
        2. 3.2.3.2 I2C 接口
        3. 3.2.3.3 USB 接口
      4. 3.2.4 闪存插件接口
      5. 3.2.5 备用 BSL 接口
      6. 3.2.6 BSL 安全配置
        1. 3.2.6.1 访问密码
        2. 3.2.6.2 读出功能
        3. 3.2.6.3 警报功能
        4. 3.2.6.4 应用程序完整性校验
      7. 3.2.7 BSL 校验和
        1. 3.2.7.1 CRC 校验失败处理
  7. 使用 SysConfig 进行 NONMAIN 配置
    1. 4.1 SysConfig 介绍
    2. 4.2 使用 SysConfig 进行 BCR 配置
      1. 4.2.1 密码配置
      2. 4.2.2 闪存静态写保护
      3. 4.2.3 其他 BCR 配置
    3. 4.3 使用 SysConfig 进行 BSL 配置
      1. 4.3.1 BSL 访问密码
      2. 4.3.2 BSL 调用引脚配置
      3. 4.3.3 BSL 通信接口
      4. 4.3.4 闪存插件接口
      5. 4.3.5 备用 BSL 接口
      6. 4.3.6 其他 BCR 配置
  8. 在应用程序代码中进行 NONMAIN 配置
  9. 使用 IDE 工具进行 NONMAIN 操作
    1. 6.1 NONMAIN 配置文件
    2. 6.2 项目擦除属性
    3. 6.3 密码保护调试
  10. 使用编程工具进行 NONMAIN 操作
    1. 7.1 使用 UniFlash 进行 NONMAIN 操作
    2. 7.2 使用 J-Flash 进行 NONMAIN 操作
    3. 7.3 使用 C-GANG 进行 NONMAIN 操作
    4. 7.4 使用 MSP-GANG 进行 NONMAIN 操作
  11. 常见问题解答 (FAQ)
    1. 8.1 MCU 锁定状态分析
      1. 8.1.1 硬件问题分析
        1. 8.1.1.1 硬件电路设计
        2. 8.1.1.2 调试器连接
        3. 8.1.1.3 外部复位信号
      2. 8.1.2 软件问题分析
        1. 8.1.2.1 CPU 进入故障状态
        2. 8.1.2.2 BCR 配置
        3. 8.1.2.3 低功耗模式(STOP 或 STANDBY)
        4. 8.1.2.4 SHUTDOWN IO 状态
        5. 8.1.2.5 SWD IO 功能
        6. 8.1.2.6 WDT 或 IWDT 复位
        7. 8.1.2.7 软件 POR 或 BOOTRST
    2. 8.2 解锁 MSPM0 器件
      1. 8.2.1 强制 MCU 进入 BSL 模式
      2. 8.2.2 发送 BSL 命令
      3. 8.2.3 执行 DSSM 命令
    3. 8.3 调试错误概述
      1. 8.3.1 无错误代码:DAP 连接错误
      2. 8.3.2 无错误代码:连接到 MSPM0 内核失败
      3. 8.3.3 错误 - 6305:PRSC 模块无法写入例程寄存器
      4. 8.3.4 错误 - 260:尝试连接到 XDS110 失败
      5. 8.3.5 错误 - 261:来自 XDS110 的无效响应
      6. 8.3.6 错误 - 615:目标无法识别格式正确的 SWD 标头
      7. 8.3.7 错误 - 1001:此器件不支持请求的操作
      8. 8.3.8 错误 - 2131:无法访问器件寄存器
    4. 8.4 MSPM0 引导诊断
  12. 总结
  13. 10参考资料

串行线调试 (SWD) 策略

串行线调试 (SWD) 相关策略可配置器件物理调试接口中的可用功能。MSPM0 器件支持三个通用安全等级:无限制(级别 0)、自定义限制(级别 1)和完全限制(级别 2)。表 3-2 展示了三种通用安全级别(从限制性最低到限制性最高),包括每个级别之间的差异。

表 3-2 通用安全级别
级别场景SW-DP 访问策略应用程序调试策略批量擦除策略恢复出厂设置策略TI FA 策略
0无限制ENENEN、DIS(1)ENEN
1自定义限制ENEN、EN(具有密码)、DISEN、EN(具有 PWDIS)EN、EN(具有 PW)、DISEN、DIS
2完全限制DIS无关紧要(2)(禁用 SW-DP 时,无法访问)
MSPM0C1103/4 不支持批量擦除操作。
当 SW-DP 策略是禁用 SW-DP 时,从 SWD 接口的角度来看,批量擦除和恢复出厂设置策略是无关的。但是,如果启用了引导加载程序 (BSL),则批量擦除和恢复出厂设置策略会影响可用的 BSL 功能。有关保护 BSL 的详细信息,请参阅 BSL 安全性部分 (节 3.2.6)。

默认情况下,TI 提供的 MSPM0 处于无限制状态。无限制状态便于进行生产编程、评估和开发。但该状态不建议用于量产,因为无限制状态会留下较大的攻击面。

确定保护需求时需考虑 SWD 接口的 4 个主要用途:

  • 应用程序调试访问:在 IDE 工具中进行调试
  • 批量擦除访问:擦除 MAIN 存储器区域
  • 恢复出厂设置访问:出厂复位访问:擦除 MAIN 存储器区域并将 NONMAIN 器件配置存储器复位至 TI 出厂默认值(级别 0)
  • TI 故障分析访问:使 TI 能够启动故障分析

SWD 安全策略通过 NONMAIN 存储器中的 16 位模式匹配字段实现,具有以下特性:

  • 需要精确的模式匹配,才能启用较低的安全状态
  • 如果该 16 位字段中的任何值与确切定义的模式不匹配,都会导致相应参数进入最高安全状态

SWD 还支持自定义四组密码(总共 128 位),用于通过调试子系统邮箱 (DSSM) 命令解锁器件。有关详细说明,请参阅适用于 MSPM0 的硬件编程和调试器指南应用手册