ARM中断处理_S3C2440

*s3c2440ARM工作模式有7种,其中有两是中断模式即FIR(快速中断模式)与IRQ(外部中断模式)。具体属于哪种中断模式是对中断源相应的寄存器进程配置决定的。 

*中断源有60个,子中断源有15个。

*什么是子中断?

例1:处理器A的线只有4根时,只能连接4个中断源(s1,s2,s3,s4) ,连接如下图,那么s1,s2,s3,s4都是中断源

例2:处理器A的线只有4根时,要连接5个中断源(s1,s2,s3,s4,s4) ,连接如下图,那么s1,s2,s3是中断源,s4与s5中子中断源。

*怎么使用中继?

1、设置CPSR

设置F位为1时,可以使用FIQ,设置为0时不能使用FIQ,调用I位为I时可以使用IRQ,设置I位为0时,不能使用IRQ。

2、当中断产生后,寄存器会切换到相应的中断工作模式,所以寄存器也会切换到相应的寄存器。

3、当中断产生后是否能被CPU接收到除了要看CPSR的设置外,还要经过其它的一些相应的寄存器相应位设置来判断。这些寄存器如下图一共有7个(SUBSRCPND、

SUBMASK、SRCPND、MASK、MODE、Prionity、INTPND)

当中断最终到达INTPND后,该中断会改变INTPND中的某一个位,cpu可以通过INTPND中哪一位被设置为1来判断产生的中断信息。

4、当ARM的CPU通过读取INTPND中的值确定了具体是哪一个中断后,PC会自动指向该中断处理地址,不同的中断有不同的地址,该地址我们可以到芯片手册的中断地址向量表中查出来。在中断处理地址处的代码就可以对中断进行处理了。

5、注意使用中断之前还要先清除中断,否则中断就算产生了也会被禁止。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值