ZHCAES8 September   2024 MSPM0C1103 , MSPM0C1103-Q1 , MSPM0C1104 , MSPM0C1104-Q1 , MSPM0C1105 , MSPM0C1106 , MSPM0C1106-Q1 , MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G1518 , MSPM0G1519 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1 , MSPM0H3216 , MSPM0H3216-Q1 , MSPM0L1105

 

  1.   1
  2.   摘要
  3.   商标
  4. 1调试子系统和 MSPM0 简介
    1. 1.1 访问 MSPM0 的端口
      1. 1.1.1 高级高性能总线访问端口
      2. 1.1.2 配置访问端口
      3. 1.1.3 安全访问端口
      4. 1.1.4 EnergyTrace 访问端口
      5. 1.1.5 电源访问端口
    2. 1.2 处于空白/低功耗状态的 MSPM0 的行为
  5. 2正确的 SWD 初始化序列
  6. 3PWR-AP
    1. 3.1 使用 MSPM0 启用低功耗模式调试
    2. 3.2 修改 MSPM0 的复位行为
      1. 3.2.1 等待调试
      2. 3.2.2 复位时停止
      3. 3.2.3 INRST 行为
    3. 3.3 寄存器视图
  7. 4SEC-AP
    1. 4.1 DSSM 命令
      1. 4.1.1 恢复出厂设置
      2. 4.1.2 批量擦除
      3. 4.1.3 密码身份验证
      4. 4.1.4 数据交换
      5. 4.1.5 等待调试
      6. 4.1.6 自定义 DSSM 命令
    2. 4.2 DSSM 流程
    3. 4.3 寄存器视图
  8. 5了解 MSPM0 中的闪存
    1. 5.1 保护 MSPM0 上的闪存存储器
    2. 5.2 清除 STATCMD 寄存器
    3. 5.3 MSPM0 的理想编程流程
  9. 6MSPM0 的复位
  10. 7总结
  11. 8参考资料

正确的 SWD 初始化序列

MSPM0 使用 Arm® M0+ 内核,允许用户按照 Arm 介绍的程序来将器件从 JTAG 切换到 SWD。

在执行 Arm 所介绍的序列从 JTAG 切换到 SWD 时,所看到的唤醒逻辑单元会向器件发送唤醒请求,允许读取 IDCODE,而不管器件处于何种低功耗状态,也允许访问端口可用。

最好是在开始任何操作之前使 SWJ-DP 状态机处于已知状态。在进入状态之间之前,执行线路复位,然后开始 SWD 到 JTAG 序列,这是为了确保线路处于复位状态并且已经初始化为已知状态。然后执行线路复位,再执行 JTAG 到 SWD 序列,这样做之后,唤醒逻辑单元向 CPU 发送唤醒信号,即使器件处于关断模式,也可以读取 IDCODE。若要了解实现 SWD 初始化序列时应该做什么,请参阅 图 2-1 中的流程图。

 MSPM0 SWD 初始化序列图 2-1 MSPM0 SWD 初始化序列