NVIC的一些可编程寄存器控制着中断管理功能,这些寄存器被映射到了系统地址空间里,他们所处的区域称为系统控制区间(SCS)。
NVIC具有以下特性:
■灵活的中断管理;
■支持嵌套中断;
■向量化的异常入口;
■中断屏蔽。
3.6.1 灵活的中断管理
Cortex-M0处理器中,每一个外部中断都可以被使能或禁止,并且可以被设置为挂起状态或清除状态。处理器的中断可以是信号级的(在中断服务程序清除中断请求以前,外设的请求会一直保持),也可以是脉冲形式的(最小一个时钟周期),这样中断控制器可以处理任何中断源。
3.6.4 中断屏蔽
Cortex-M0中的NVIC通过PRIMASK特殊寄存器提供了一种中断屏蔽特性,NVIC可以屏蔽掉除了硬件错误和NMI之外的所有异常。有些操作,比如时间敏感控制任务或实时多媒体解码任务,不应被打断,此时中断屏蔽就能表现出其作用了。以上的NVIC特性,降低了Cortex-M0处理器的使用难度,提供了更优的反应时间,而且由于在NVIC硬件中处理异常,也减少了程序代码量。
3.7 系统控制模块(SCB)
除了NVIC,系统控制空间(SCS)中也包含了许多系统管理的寄存器,这些寄存器被称
为系统控制块(SCB)。其中有些寄存器控制休眠模式和系统异常配置,另外还有个寄存器
中包含了处理器的识别代码(调试器可以使用该代码识别处理器的类型)。