
的Stellaris LM3S6938微控制器
4
中断
在ARM Cortex- M3处理器和嵌套向量中断控制器( NVIC )和优先
处理所有异常。所有异常都在处理器模式中处理。该处理器的状态是
自动存储到堆栈上的异常,并自动从堆栈的恢复
中断服务程序( ISR)结束。该矢量被取出,在平行于该状态保存,这
能够有效地进入中断。该处理器还支持末尾连锁,这使背到背
中断不需要状态保存和恢复的开销进行。
表4-1页49列出了所有的异常类型。软件可在七个上设置8个优先级
这些异常(系统处理程序)以及32中断( 50页表4-2中列出) 。
优先级对系统处理程序设置与NVIC系统处理程序优先级寄存器。中断
通过NVIC中断设置使能寄存器使能和优先级的中断NVIC
优先级寄存器。你还可以把优先级划分优先购买权优先
和subpriorities 。所有的中断寄存器中的第8章“嵌套向量中断描述
在控制器“
ARM Cortex-M3技术参考手册。
在内部,最高的用户可设置优先级( 0 )是第4优先级,复位后,NMI以及
硬件故障。注意0是默认的优先级所有可设置的优先级。
如果在同一优先级分配给两个或更多的中断,其硬件的优先级(下
位置编号)确定,其中所述处理器激活它们的顺序。例如,如果两个
GPIO端口A和GPIO端口B的优先级为1 ,那么GPIO端口A的优先级更高。
重要提示:
写后,可能需要几个处理器周期来清除,从而中断源
对于NVIC看到中断源被禁止。这意味着如果中断清零完成
如在中断处理程序中的最后一个动作,能够对中断处理程序结束
而NVIC看到中断仍然有效,导致中断处理程序是
错误的重新进入。这可避免通过清零中断源处
开始中断处理程序,或通过执行一个读或写的写操作后,清除
中断源(刷新写缓冲器) 。
请参见第5章“异常”和第8章“嵌套向量中断控制器”中
ARM
Cortex-M3技术参考手册
关于异常和中断的更多信息。
表4-1 。异常类型
异常类型
-
RESET
向量
数
0
1
优先
a
描述
栈顶从向量表的复位第一项加载。
调用上电和热复位。在执行第一条指令,下降到
最低优先级(和它被称为激活的基级) 。这是
异步的。
不能停止或任何异常,但复位抢占。这是
异步的。
NMI仅可由软件通过NVIC
打断
控制状态
注册。
-
-3 (最高)
非屏蔽
中断( NMI )
2
-2
硬故障
内存管理
3
4
-1
可设定
故障,所有的类时,故障无法启动优先级或到期
可配置的故障处理程序已被禁用。这是同步的。
MPU失配,包括访问冲突和不匹配。这是
同步的。
此异常的优先权可以改变。
2010年4月5日
德州仪器(TI)生产数据
49