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
MSPM0 使用 Arm® M0+ 内核,允许用户按照 Arm 介绍的程序来将器件从 JTAG 切换到 SWD。
在执行 Arm 所介绍的序列从 JTAG 切换到 SWD 时,所看到的唤醒逻辑单元会向器件发送唤醒请求,允许读取 IDCODE,而不管器件处于何种低功耗状态,也允许访问端口可用。
最好是在开始任何操作之前使 SWJ-DP 状态机处于已知状态。在进入状态之间之前,执行线路复位,然后开始 SWD 到 JTAG 序列,这是为了确保线路处于复位状态并且已经初始化为已知状态。然后执行线路复位,再执行 JTAG 到 SWD 序列,这样做之后,唤醒逻辑单元向 CPU 发送唤醒信号,即使器件处于关断模式,也可以读取 IDCODE。若要了解实现 SWD 初始化序列时应该做什么,请参阅 图 2-1 中的流程图。