S3C2440A的中断控制器

本文详细介绍了三星S3C2440A微处理器的中断控制器工作原理,包括中断源数量、中断模式选择、中断请求处理流程及关键寄存器的功能。了解这些内容对于嵌入式系统开发者来说至关重要。

  今天下午看了三星S3C2440A的中断控制器部分, 下面是其DataSheet上有关这一部分的主要内容.

  S3C2440A的中断控制器共可以接收60个中断源的中断请求. 当收到内部或外部的中断请求后, 经过仲裁程序, 中断控制器会向ARM920T内核请求快速中断(FIQ)或中断(IRQ).

    1.Program status Register(PSR)(程序状态寄存器): 若PSR的F-bit被置1, 则CPU不接收来自中断控制器的快速中断请求(FIQ). 同样,如果PSR的I-bit被置1,则CPU不接收来自中断控制器的中断请求(IRQ).

   2.Interrup Mode Register(中断模式寄存器): 对应位置1表示FIQ模式(fast interrupt)否则为IRQ模式(normal interrupt). 另外, 仅能有一个中断源能被设置成FIQ模式.

   3.Interrupt Pending Register(不知道该如何翻译,挂起寄存器?): S3C2440A有两个挂起寄存器,分别是sourse pending register(SRCPND)和interrupt pending register(INTPND). 当中断源请求中断服务的时候, SRCPND的相应位被置为1, 与此同时, 经过仲裁程序, INTPND中仅有一位会自动被置为1.  如果该中断被屏蔽, SRCPND依旧会被置1, 而INTPND不变. 当INTPND中的一位被置1后, 只要I-flag或F-flag被清0, 中断服务程序就会开始. 中断服务程序还必须把SRCPND和INTPND的相应位清0.

   4.Interrupt Mask Register(INTMSK)(中断屏蔽寄存器):  该寄存器相应位置1表示中断禁用, 置0为中断使能. 当中断产生时, 即使相应的屏蔽位被置为1, SRCPND也会被置位.

   5. Sourse Pending Register(SRCPND): 32位的寄存器, 每一位对应一个中断源. 当中断源产生中断请求时, 该寄存器对应位置1, 它也表明中断源在等待中断服务. 需要注意的是, 不管INTMASK寄存器如何设置, SRCPND都会被自动置位. 在中断服务程序(ISR)中, SRCPND的对应位必须要清零, 以便接收下次的中断请求.

   6.Interrupt Offset Register(INTOFFSET): 保存INTPND中是哪个IRQ的中断请求.

   7.Sub Source Pending Register(SUBSRCPND): 略.

   8.Interrupt Sub Mask Register(INTSUBMSK): 略.
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值