1

我一直在阅读有关经典 ARM 7 微控制器的信息。有两种类型的中断:IRQ 和 FIQ。FIQ 允许更快的中断处理并具有比 IRQ 更高的优先级。

它指出现代 ARM 版本具有嵌套中断。

这实际上是否意味着 ARM 7 只能处理分配给 MCU 的 2 个中断,例如来自外部源的 2 个边沿触发中断,仅此而已?

提前致谢

4

1 回答 1

1

ARM7 很可能与向量中断控制器一起使用 - 一个与内核紧密耦合的组件,但不如与 Cortex-M(ARMv6-M、ARMv7-M 和 ARMv8-)使用或集成的现代中断控制器紧密耦合。 M) - 集成到异常模型或 A 类中断控制器中。

这种较旧类型的向量中断控制器将提供多个输入,具有屏蔽和优先级。它将向内核提出一个 IRQ 输入,并提供一个地址,内核可以作为公共中断处理程序的一部分读取该地址 - 然后分支到特定于异常的处理程序。请注意,在架构级别上,只有一个 IRQ 中断 - 包含一个硬件辅助跳转表。

ARM7 还允许更简单的中断架构 - 为应用程序定制的确切实现。最简单的(也许不常见的)是将所有中断 OR 在一起,并要求中断处理程序读取每个外围设备的中断状态以发现待处理的内容。这在今天可能看起来很粗糙,但在某种程度上仍然这样做 - 您可能会为每个 I/O 外围设备指定 Rx 和 Tx 中断,但将所有错误/溢出中断结合起来(因为其中任何一个都意味着游戏结束) .

软件和专用硬件处理特性之间的权衡是改变实施成本如何影响设计决策的一个例子。

于 2018-02-22T20:55:35.290 回答