ARM技术论坛
直播中

王艳

7年用户 1196经验值
私信 关注
[问答]

s3c2440 ARM工作模式有哪几种呢

*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、注意使用中断之前还要先清除中断,否则中断就算产生了也会被禁止。

更多回帖

发帖
×
20
完善资料,
赚取积分