工具/软件:
您好:
我有一位客户从 STM32 MCU 迁移代码、他们在 SysTick ISR 中的其中一项功能是_WFI ()、以便他们可以在 ISR 内暂停执行状态、并在下一个 SysTick 上执行某些操作。
他们注意到、在 MSPM0 上、这似乎不起作用。 我用 SysTick 的示例创建了一个小的概念验证、但这似乎无效:

我假设 MSPM0 和 CPU 子系统不允许使用这种类型的中断、因为从技术上讲、您仍然处于中断上下文中?
Munan
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:
您好:
我有一位客户从 STM32 MCU 迁移代码、他们在 SysTick ISR 中的其中一项功能是_WFI ()、以便他们可以在 ISR 内暂停执行状态、并在下一个 SysTick 上执行某些操作。
他们注意到、在 MSPM0 上、这似乎不起作用。 我用 SysTick 的示例创建了一个小的概念验证、但这似乎无效:

我假设 MSPM0 和 CPU 子系统不允许使用这种类型的中断、因为从技术上讲、您仍然处于中断上下文中?
Munan
NVIC 的指定方式是、ISR 不会预先嵌入它。 《ARMv6-M 架构参考手册》(DDI0419E) 第 B1.5.19 节说:“WFI 唤醒事件:[...] 优先级的异步异常、如果 PRIMASK.PM 设置为 0、将优先于任何当前活动的异常。“ 【增加的重点】
v7 和 V8 机械臂具有类似的措辞。 据我所知、STM32-s 对此没有什么不同。
SysTick 的优先级通常很低、因此几乎任何其他中断都会预先发出提示。 我想知道这是否实际上是在等待其他东西(有意或无意)。
尊敬的 Munan:
从 Bruce McKenney 所说的继续:在退出当前 IRQ 处理程序之前、它被视为活动状态、并且在完成之前不会再次跳转到。 您可以跳转到其他更高优先级的 ISR、但不能跳转到同一个。
此致、
Brian Lee