为了办理中止恳求的优先级并处理其他反常,Cortex-M0处理器内置了嵌套中止操控器(NVIC)。NVIC的一些可编程操控器操控着中止办理功用,这些寄存器被映射到体系地址空间里,它们所在的区域被称为体系操控空间(SCS)。
NVIC有以下特性:
灵敏的中止办理;
支撑嵌套中止;
向量化的反常进口
中止屏蔽
灵敏的中止办理
Cortex-M0处理器中,每一个外部中止都能够被使能或许制止,而且能够被设置为挂起状况或许铲除状况。处理器的中止能够是信号级的(在中止服务程序铲除中止恳求曾经,外设的恳求会一向坚持),也能够是脉冲方式的(最小一个一直周期),这样中止操控器就能够处理任何中止源。
支撑嵌套中止
Cortex-M0处理器的任何中止都有一个固定或许可编程的中止优先级。当外部中止之类的反常产生时,NVIC将该反常的优先级与当时的优先级进行比较,假如新的优先级更高,当时的使命会被暂定,一些寄存器的值被压栈处理,然后处理器开端处理新的反常程序,这个进程也被称为“抢占”。高优先级的中止完结后,反常回来就会履行,处理器主动进行出栈操作康复方才寄存器的值,并持续运转方才的使命。这种机制并没有带来软件开支。
向量化的反常进口
反常产生时,处理器需求定位反常对用的程序进口。传统的处理方式需求软件去完结。而M0处理器会从存储器的向量表中,主动定位反常的程序进口。从反常到反常的处理事情会被减缩。
中止屏蔽
NVIC经过PRIMASK特别寄存器供给了一种中止屏蔽机制,NVIC除了硬件过错和NMI之外,能够屏蔽一切的反常。有些操作,比方对时间灵敏的操控使命或实时多媒体解码使命,不该该被打断,此刻中止屏蔽的效果就体现了出来。
体系操控块(SCB)
除了NV%&&&&&%,体系操控空间也包含了许多体系办理的寄存器,这些寄存器被称为体系操控块。其间有些寄存器操控休眠形式和体系反常装备,别的还有两个寄存器包含了处理器的辨认代码(调试器可运用该代码辨认处理器的类型)。