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参考资料

简介

图 1-1 展示了所有 MSPM0 器件共享的通用平台存储器映射。该映射具有四个不同的存储器区域。

  • MAIN 闪存
  • NONMAIN 闪存
  • FACTORY 区域
  • ROM
MSPM0 MSPM0 存储器映射图 1-1 MSPM0 存储器映射

MAIN 闪存是存储可执行代码和数据的存储器。MSPM0 器件支持单存储体或双存储体 MAIN 闪存,请参阅器件特定数据表了解更多详细信息。

NONMAIN 是闪存中的一个专用区域,存储着引导配置例程 (BCR) 和引导加载程序 (BSL) 配置用于引导器件的数据。BCR 和 BSL 具有配置策略,这些策略可以保留为默认值(在开发和评估期间是典型值),也可以通过更改编程到 NONMAIN 闪存区域中的值来针对特定用途进行修改(在生产编程期间是典型值)。

注: 擦除 NONMAIN 闪存后,请验证是否已将正确的值加载到 NONMAIN 闪存中。如果负载验证失败,会导致在下次 BOOTRST 后永久锁定器件。

FACTORY 区域是一个存储器映射闪存区域,该区域提供描述器件功能的只读数据以及任何出厂提供的修整信息,供应用软件使用。

只读存储器 (ROM) 包含一个不可变的信任根引导配置例程 (BCR) 和引导加载程序 (BSL)。在主应用程序启动前,BCR 始终是紧跟器件的 BOOTRST 之后在 Cortex-M0+ 处理器上运行的第一个代码。BCR 还会通过硬件或软件调用引导加载程序 (BSL) 并授权 BSL 访问。图 1-2 展示了 MSPM0 器件的大体引导流程。有关更多详细信息,请参阅 MSPM0 MCU 中的网络安全机制应用手册

MSPM0 MSPM0 启动流程图 1-2 MSPM0 启动流程

BCR 会设置器件安全策略,配置器件使其运行,并视需要启动 BSL(如果 ROM 或闪存 BSL 存在)。如果 BCR 启动 BSL,则可使用 BSL 通过标准串行接口(UART 或 I2C)来对器件存储器(闪存和 SRAM)进行编程或验证。