阅读:1368回复:1
关于ARM中断的问题。
如果有外部中断请求。IRQ中断矢量地址在0X000018的地方放一个跳转指令到
中断服务程序里,问题是如果有许多个IRQ中断发生,用什么来判断到底是哪一个 发生了中断了呢?一个中断服务程序完后,在其它汇 |
|
沙发#
发布于:2004-04-27 17:52
一般来说有两种中断处理方式,一种是当中断来时还要自己去查询中断状态寄存器。然后再做判断,还有一种就是VECTORED INTERRUPT MODE (ONLY FOR IRQ),仲裁器会自己找到中断对应的向量地址然后执行。
在arm汇编中是没有中断返回的,所以要自己在中断之前保存必要的寄存器和返回地址,因为回伴随着模式的切换。完成后就恢复模式及寄存器。可以找<ARM编程与体系结构》看看里面都有详细的讲。或者samsung arm的spec.也有讲。 |
|