Arm 什么';手臂皮层的事件和中断有什么区别?

Arm 什么';手臂皮层的事件和中断有什么区别?,arm,microcontroller,Arm,Microcontroller,我想知道,因为它似乎不同(例如WFI和WFE是单独的指令),但我不能准确指出问题所在。这两个指令都是用于电源管理/节能的。虽然应该在中断或异常发生之前停止内核,但它也将等待指令发送的“事件” 实现定义了指令的实现级别,它们可能只是NOP。例如,当WFE返回时,你不能相信一个中断或“事件”真的发生了。几年后,我发现这个问题很流行,同时我根据经验理解了答案 事件被实现为进入MCU ARM内核的线路,沿着内存总线(实际上内核也可以生成事件,线路是单向的,点对点专用的,这不是总线),因此,外围设备或其他

我想知道,因为它似乎不同(例如WFI和WFE是单独的指令),但我不能准确指出问题所在。

这两个指令都是用于电源管理/节能的。虽然应该在中断或异常发生之前停止内核,但它也将等待指令发送的“事件”


实现定义了指令的实现级别,它们可能只是NOP。例如,当WFE返回时,你不能相信一个中断或“事件”真的发生了。

几年后,我发现这个问题很流行,同时我根据经验理解了答案

事件被实现为进入MCU ARM内核的线路,沿着内存总线(实际上内核也可以生成事件,线路是单向的,点对点专用的,这不是总线),因此,外围设备或其他内核可以提升这些线路,以便在任何内存总线管理或指令执行之外实时地将信息告知内核,即使MCU中没有总线仲裁器(我猜它们是以总线频率计时的,tho)

然后,这些事件由内核处理,一种使事件进入程序世界的方法是通过触发中断(更准确地说,将线路插入NVIC,可以将其解释为中断),翻转其中一个内核寄存器中的一位,通过重新启动核心时钟或将其插入DMA外围设备来启动或停止传输。核心中有一个完整的逻辑部分专门用于事件管理,用于屏蔽它们,将它们用作异常源或DMA操作源

事件列表由MCU实施者决定,他们可以决定使用NVIC、DMA或将其连接到PLD逻辑(一些cypress MCU可以触发DMA或PLD部分的中断)


处理事件最常见的方法是忽略它,第二种最常见的方法是发送异常以执行某些代码。

@nraynaud:不过,答案包含您问题的答案。事件不是中断,但中断是事件。