中断在嵌入式系统中有很重要的作用,可以说是神经系统,一个地方trigger触发一下,作为神经中枢的CPU就有有所动作。
为了低延时,会支持NVIC(Nested vectored interrupt controller)
有些要从DeepSleep唤醒CPU,则要支持WIC(Wakeup interrupt controller)
一般中断向量表放在代码code的前面一段,或者flash低地址部分。
比如TRAVEO II(TVII-B-E)的中有两颗CPU core,M0+和M4都支持8个外部中断,N个中断源可以路由到两颗芯片的NVIC中,每个Interrupt source都可以配置为映射到IRQn的哪一个IRQ[7:0]。外部中断源是外部生成,由CPU来处理的,而异常Exception,则是CPU core自己生成的事件Event,这个有些差别的。
对于DeepSleep而言,每个单独的CPU可以进入该状态,如果所有CPU都进入deep sleep,这时也称device进入了deep sleep。能够唤醒CPU的中断是可独立于其他设备进行配置的,即WIC。
对于中断,比如支持1023个中断,CM0&#