ARM中断的基本过程
ARM 中断的基本过程:在IRQ0 脚给个上升沿后,过程是这样的(比较通
用的过程)。
1)如果你没有打开该中断的使能寄存器,没有任何反应。
2)如果你打开了使能寄存器,但在对应的屏蔽寄存器中屏蔽了该中断,也没有任何反应。
3)上述两个寄存器都设置正确了,中断产生了,CPU 保存当前程序运
行环境,跳到中断入口,ARM 芯片一般是0x?地址处。
4)如果你没有设置中
断向量,即0x?处不是你的代码,程序就会飞掉,当然也可能正常运行,这种情况一般发生在正好飞到正常代码处。
5)设置好中断向量了,中断向量一般是个跳转语句,跳到你的正式的中断处理过程,在这里你可以关闭所有中断,清中断,处理等等,然后退出。
记住某些处理器一定要清中断,否则下次再给个上升沿就没有反应了。
中断路径
如果是irq 中断
产生irq 异常中断转到0x18 1 跳中断跳
如果启用向量中断模式
自动转向对应向量地址每地址对应一条跳转指令2 跳
跳转到中断处理程序
如果使用汇编编写中断处理程序
在该处即可编写处理程序
如果使用c 语言编写中断处理程序
需要添加与c 语言接口程序3 跳
方法:1 汇编编写
在内存空间定义一向量表,用来存放各中断c 语言中断处理程序入口地址。