Interrupt Controller

1. 中断处理是程序执行流程(顺序执行,跳转执行,中断处理)之一,发生中断后,arm处理器在执行完当前指令后跳转到中断对应的中断处理程序处执行,中断处理程序执行完成后,又回到原来跳转处的下一条指令处开始接着执行。

2. 中断处理流程: (1)中断发生后,中断控制器给 cpu 发送中断请求。

          (2)如果 cpu 能够响应中断,则将运行环境保存起来,跳到中断异常处进行执行中断处理。

          (3)识别中断来源,跳到相应中断服务程序处执行。

          (4)中断服务执行完成后,恢复之前的运行环境,返回到原来的程序处继续执行。

3.  中断控制器及其相关寄存器

 (1) 由上图,中断相关寄存器对中断的管理有分类汇总的特点。

 (2) 如果发生相应中断则在没有被INTMAK 和 INTSUBMAK屏蔽的前提下,SRCPND 和 SUBSRCPND 及 EINTPEND 和 INTPND中的对应位将被置1,  cpu 通过EINTPEND 和 INTPND来确定是哪个中断发生了。

 (3) 例如,如果ENT4中断发生了,则SUBSRCPND将被置1,如果在INTSUBMAK没有屏蔽的情况下,则SRCPND将被置1,如果在INTMAK没有屏蔽的情况下EINTPEND 和 INTPND中的对应位将被置1。

4. 中断处理函数

 声明时,需要将中断处理函数的地址写到中断向量的相应的位置处。中断处理函数需要清中断标志,并执行相应的操作。先清除 SRCPND再清除 INTPND 。

5. 中断发生后具体的跳转过程,以及中断处理完成后返回的具体过程,在各个过程中arm 自动完成的操作和需要手动编程完成的操作。

时间: 2024-11-11 03:29:39

Interrupt Controller的相关文章

Input/output subsystem having an integrated advanced programmable interrupt controller for use in a personal computer

A computer system is described having one or more host processors, a host chipset and an input/output (I/O) subsystem. The host processors are connected to the host chipset by a host bus. The host chipset is connected to the input/output subsystem by

NVIC, Nested Vectored Interrupt Controller

Frm:http://blog.csdn.net/tianjueyiyi/article/details/49127749 朋友们,如果你需要在STM32上移植RTOS,那么首先必须深入理解它的中断系统.什么是NVIC?即嵌套向量中断控制器(Nested Vectored Interrupt Controller).STM32的中有一个强大而方便的NVIC,它是属于Cortex内核的器件,不可屏蔽中断 (NMI)和外部中断都由它来处理,而SYSTICK不是由 NVIC来控制的. ●  60个可屏

Interrupt distribution scheme for a computer bus

A method of handling processor to processor interrupt requests in a multiprocessing computer bus environment is described. This method allows a multiple-tiered, increasing priority, interrupt request scheme. This method also allows processor to proce

Linux中断(interrupt)子系统之一:中断系统基本原理

这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层.内核版本基于3.3.虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变. /*****************************************************************************************************/ 声明:本博内容

PatentTips - Enhanced I/O Performance in a Multi-Processor System Via Interrupt Affinity Schemes

BACKGROUND OF THE INVENTION This relates to Input/Output (I/O) performance in a host system having multiple processors, and more particularly, to efficient usage of multiple processors in handling I/O completions by using interrupt affinity schemes t

Linux中断(interrupt)子系统之一:中断系统基本原理【转】

转自:http://blog.csdn.net/droidphone/article/details/7445825 这个中断系列文章主要针对移动设备中的Linux进行讨论,文中的例子基本都是基于ARM这一体系架构,其他架构的原理其实也差不多,区别只是其中的硬件抽象层.内核版本基于3.3.虽然内核的版本不断地提升,不过自从上一次变更到当前的通用中断子系统后,大的框架性的东西并没有太大的改变. /***************************************************

Reentrant protected mode kernel using virtual 8086 mode interrupt service routines

A method for allowing a protected mode kernel to service, in virtual 8086 mode, hardware interrupts which occur during execution of ring 0 protected mode code. When an interrupt occurs during execution of ring 0 code, the microprocessor copies the?st

Linux内核中的GPIO系统之(3):pin controller driver代码分析--devm_kzalloc使用【转】

转自:http://www.wowotech.net/linux_kenrel/pin-controller-driver.html 一.前言 对于一个嵌入式软件工程师,我们的软件模块经常和硬件打交道,pin control subsystem也不例外,被它驱动的硬件叫做pin controller(一般ARM soc的datasheet会把pin controller的内容放入GPIO controller的章节中),主要功能包括: (1)pin multiplexing.基于ARM core

Linux Kernel Interrupt、Interrupt Priority、Prohibit Things Whthin CPU In The Interrupt Off State

目录 0. 引言 1. Linux 中断的概念 2. Linux 中断相关的源代码分析 3. Linux 硬件中断 4. Linux 软中断 5. 中断优先级 6. CPU在关中断状态下编程要注意的事项 0. 引言 中断是现代计算机体系结构的重要组成部分.现代体系结构的基本输入输出方式有三种 1. 程序查询: CPU周期性询问外部设备是否准备就绪.该方式的明显的缺点就是浪费CPU资源,效率低下.但是在特定的场景下这种"程序查询"的方式还有有它的用武之地的 例如,在网络驱动中,通常接口(