我一直在阅读有关经典臂7微控制器的信息。中断有两种类型:IRQ和FIQ。FIQ允许更快的中断处理,并且比IRQ具有更高的优先级。
它指出现代手臂版本嵌套了中断。
这实际上意味着ARM 7只能处理分配给MCU的2个中断,例如2边触发了来自外部源的中断,而不再触发?
预先感谢
arm7很可能与矢量中断控制器一起使用 - 一个与核心紧密耦合的组件,但不像现代中断控制器或与任何两种Cortex -M集成的现代中断控制器那样紧密耦合(ARMV6-M,ARMV7-M和ARMV8-M( - 集成到异常模型或A级中断控制器中。
这种较旧的矢量中断控制器将提供多个输入,并具有掩盖和优先级。它将向核心提出IRQ输入,并提供一个地址,核心可以将其读取为通用中断处理程序的一部分 - 然后将其分支到异常的特定处理程序中。请注意,在架构层面上,只会有一个IRQ中断 - 包含硬件辅助跳台。
ARM7还允许一个更简单的中断体系结构 - 为应用程序定制的确切实现。大多数琐碎的(也许是罕见的(都是将或所有中断在一起,并要求中断处理程序阅读每个外围的中断状态以发现待处理的内容。今天这似乎很粗糙,但是在某种程度上仍然可以完成 - 您可能会为每个I/O外围设置RX和TX中断,但是将所有事物的所有错误/溢出互动结合在一起(因为这些均值的游戏中的任何一个(。
软件和专用硬件处理功能之间的权衡是一个示例,说明了实施成本如何随着时间的推移影响设计决策。