Cortex‐M3 支持大量异常,包括16‐4‐1=11 个系统异常,和最多240 个外部中断——简称IRQ。具体使用了这240 个中断源中的多少个,则由芯片制造商决定。由外设产生的中断信号,除了SysTick 的之外,全都连接到NVIC 的中断输入信号线。典型情况下,处理器一般支持16 到32 个中断,当然也有在此之外的。作为中断功能的强化,NVIC 还有一条NMI 输入信号线。NMI 究竟被拿去做什么,还要视处理器的设计而定。在多数情况下,NMI 会被连接到一个看门狗定时器,有时也会是电压监视功能块,以便在电压掉至危险级别后警告处理器。NMI 可以在任何时间被激活,甚至是在处理器刚刚复位之后。
作为中断功能的强化,NVIC 还有一条NMI 输入信号线。NMI 究竟被拿去做什么,还要视处理器的设计而定。在多数情况下,NMI 会被连接到一个看门狗定时器,有时也会是电压监视功能块,以便在电压掉至危险级别后警告处理器。NMI 可以在任何时间被激活,甚至是在处理器刚刚复位之后。
下表列出了Cortex-M3可以支持的所有异常和外部中断清单。有一定数量的系统异常是用于fault处理的,它们可以由多种错误条件引发。NVIC还提供了一些fault状态寄存器,以便于fault服务例程找出导致异常的具体原因。