【摘要】:S3C44B0X 的中断控制器可以接收来自30 个中断源的中断请求。一般的中断模式在进入所需的服务程序前需要很长的中断反应时间,为了解决这个问题,S3C44B0X 提供了一种新的中断模式称为矢量中断模式,它具有CISC 结构微控制器的特征,能够减少中断反应时间。换句话说,S3C44B0X 的中断控制器硬件本身直接提供了对矢量中断服务的支持。
S3C44B0X 的中断控制器可以接收来自30 个中断源的中断请求。 这些中断源来自DMA、UART、SIO 等芯片内部外围或接口芯片的外部引脚。 在这些中断源中,有4 个外部中断(EINT4/5/6/7)是逻辑或的关系,它们共用一条中断请求线。 UART0 和UART1 的错误中断也是逻辑或的关系。
中断控制器的任务是在片内外围和外部中断源组成的多重中断发生时,经过优先级判断选择其中一个中断通过FIQ 或IRQ 向ARM7TDMI 内核发出FIQ 或IRQ 中断请求。
实际上最初ARM7TDMI 内核只有FIQ(快速中断请求)和IRQ(通用中断请求)两种中断,其他中断都是各个芯片商家在设计芯片时定义的,这些中断根据中断的优先级高低来进行处理。 例如,如果定义所有的中断源为IRQ 中断(通过中断模式设置),当同时有10 个中断发出请求时,可以通过读中断优先级寄存器来确定哪一个中断将被优先执行。 一般的中断模式在进入所需的服务程序前需要很长的中断反应时间,为了解决这个问题,S3C44B0X 提供了一种新的中断模式称为矢量中断模式,它具有CISC 结构微控制器的特征,能够减少中断反应时间。 换句话说,S3C44B0X 的中断控制器硬件本身直接提供了对矢量中断服务的支持。(www.xing528.com)
当多重中断源请求中断时,硬件优先级逻辑会判断哪一个中断将被执行;同时,硬件逻辑自动执行由0x18(或0x1C)地址到各个中断源向量地址的跳转指令,然后再由中断源向量进入到相应的中断处理程序。 与原来的软件实现的方式相比,这种方法可以显著地减少中断响应时间。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。