首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 嵌入开发 > 驱动开发 >

有关中断的有关问题,请指导下

2012-03-21 
有关中断的问题,请指导下中断处理程序能被打断吗?如果能被打断,那么怎么恢复?如果不能被打断,那么in_irq()

有关中断的问题,请指导下
中断处理程序能被打断吗?
如果能被打断,那么怎么恢复?
如果不能被打断,那么in_irq()又如何返回非0呢?
求指导。3Q

[解决办法]
中断也是可以被打断的。如果你设计的是嵌套式中断结构,那么保存重要的数据是必须的(一般存在SVC模式下的堆栈中)。如果设计为不可嵌套结构,那么进入中断之后应第一时间关闭所有中断,处理完毕之后再行打开。
无论中断是否可以被打断,ARM处理器在两个过程中做的一样的事情,保存当前被打断指令的地址+8(也就是下两条指令),压入堆栈以待返回。希望能对你有帮助
[解决办法]
linux下不允许被打断。
剩下的可以看下Linux内核源码

热点排行