ZHCAF88 April 2025 MSPM0C1103 , MSPM0C1103-Q1 , MSPM0C1104 , MSPM0C1104-Q1 , MSPM0C1105 , MSPM0C1106 , MSPM0C1106-Q1 , 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 , MSPM0L1106 , MSPM0L1116 , MSPM0L1117 , MSPM0L1227 , MSPM0L1227-Q1 , MSPM0L1228 , MSPM0L1228-Q1 , MSPM0L1303 , MSPM0L1304 , MSPM0L1304-Q1 , MSPM0L1305 , MSPM0L1305-Q1 , MSPM0L1306 , MSPM0L1306-Q1 , MSPM0L1343 , MSPM0L1344 , MSPM0L1345 , MSPM0L1346 , MSPM0L2227 , MSPM0L2227-Q1 , MSPM0L2228 , MSPM0L2228-Q1
MSPM0 有两种中断机制来处理 MCU 的意外行为,这对于分析 EMS 故障的根本原因很有帮助。第一种是 NMI,旨在处理需要立即关注的关键系统事件。第二个是硬故障,这是一个不可屏蔽的异常,它由严重的系统错误触发且无法由其他异常机制处理。
当 NMI 发生时,用户可以通过检查 NMI 中断索引来跟踪触发源,并查找有效的解决方案。表 4-2 展示了一个示例。
| 索引 (IIDX) | 名称 | 说明 |
|---|---|---|
| 0 | 无 | 无 NMI 挂起。 |
| 1 | BORLVL | 表示 VDD 已降至指定的 VBOR- 阈值以下。 |
| 2 | WWDT0 | 发生 WWDT0 违例。 |
| 3 | WWDT1 | 发生 WWDT1 违例。 |
| 4 | LFCLKFAIL | 指示 LFXT 或 LFCLK_IN 时钟源已死。如果 LFCLK 不是作为 MCLK 源而是为外设(例如,RTC)提供源,此指示对于处理 LFCLK 错误很有用。 |
| 5 | FLASHDED | 表示检测到闪存 double-bit 不可纠正的错误。 |
| 6 | SRAMDED | 表示检测到 SRAM double-bit 不可纠正的错误。 |
对于不可恢复的故障,如内存访问错误、未对齐的内存操作、未定义或非法指令的执行以及总线错误,硬故障可作为最后处理手段。与高端 Cortex® -M 内核(例如,M3 和 M4)不同,M0+ 缺乏可配置的故障状态寄存器 (CFSR),这让故障分析更具挑战性且更依赖于手动检查。硬故障会产生硬故障中断。用户可以使用此信号作为断言信号,以调整系统来通过 EMS 测试。