中断的概念
CPU在处理过程中,经常需要同外部设备进行交互,交互的方式由“轮询方式”“中断方式”

轮询方式:

方式:在同外设进行交互的过程中,CPU每隔一定的时间状态就去查询相关的状态位,所以在交互期间CPU几乎没有干任何事情,仅仅就是是 在一直等待查询,等待查询。

特点:不断查询设备状态,实现方式简单,但是CPU,利用率较低

中断方式:

方式:CPU告知硬件做某件事情 后就去做其他事情,当硬件完成相应的工作后,向CPU发送某个消息。表示已经完成相应的工作。

2440总共有60个中断:

组中断

子中断

中断过程分析:

一:中断生命周期

二:中断源

中断源分为“一般中断源”和“含有子中断源”

三:中断过滤

中断过滤主要依靠掩码寄存器(mask),通过设置相应的位起到过滤中断信号的作用(凡是需要的中断信号,就将其在mask中对应的位设置为0,反之设置为1)

注意:对于mask 寄存器中的EINT4_7总共有4个中断源,但是却用一个为来控制,所以为了分别控制每一个中断源,就需要对EINTMSK 这个寄存器。

四:中断模式
中断模式将分为irq和firq

注意:所谓firq即为将中段信号中具有vip特权的中断信号,优先处理

五:中断处理

(1)判断中断源:

在arm 中有一个寄存器叫INTOFFSET,在其中对于每一个中断都有唯一的编码,读取INTOFFSET中的值,然后惊醒判断。

(2)对不同的中断码,做不同的操作。

六:开中断

在进行核心初始化的过程中,是将中断关闭的,中断控制寄存器为与程序状态寄存器中的(cpsr),因此想要使用中断,就需要开中断。

七:清中断

SUBSRCPND:

中断状态寄存器(个人觉得应该叫这个名字),一旦有中断相应,就会

SRCPND :         对其中中断相对应的位做出置1的操作,如果不将其清零,则下个中

断将不会响应。

INTPND:

注意:这两个寄存器有点特殊,对其置0,是往里面写入1

八:改变cpu工作模式

在核心初始化的过程中,将cpu初始化为了SVC模式,然而在处理一般中断的时候需要将cpu调整为IRQ模式。尤其是对应的复用寄存器,只有在改变处理器是模式后才能发挥其相应的功能。(这里尤其指sp指针)

interrupt_control的更多相关文章

随机推荐

  1. TC-572-D1L2 未完!待续!

    题目描述 • 有一个神秘的常数 K ,s 位• 现在有 n 个 s 位数,告诉你每个数与 K 有多少位是相同的• 判断 K 的无解.多解.唯一解,并求出唯一解(如果存在的话)• 所有出现的数都允许前导 ...

  2. 8、String练习题

    String练习   1.字符串反转,例如将"abc"变成"cba" 2.统计一个字符串里面另一个字符串出现的次数,例如统计"monkey" ...

  3. P1879 [USACO06NOV]玉米田Corn Fields (状压dp入门)

    题目链接: https://www.luogu.org/problemnew/show/P1879 具体思路: 我们可以先把所有合法的情况枚举出来,然后对第一行判断有多少种情况满足,然后对于剩下的行数 ...

  4. C++ Primer 5th 第19章 特殊工具与技术

    C++是一种通用型语言,其设计者希望它能处理各种各样的问题,因此除了一些能适用于所有问题的语言特性,还有一些适用于特定问题的特性. 控制内存分配 某些程序对内存分配有着特殊的需求,它们不适合使用标准的 ...

  5. Python之容器类Collections

    容器类Collections 标签(空格分隔): Python进阶 defaultdict counter deque namedtuple defaultdict defaultdict的作用是可以 ...

  6. PHP的数据库连接mysqli遍历示例

    $mysqli = mysqli_init(); $mysqli->options(MYSQLI_OPT_CONNECT_TIMEOUT, 2);//设置超时时间,以秒为单位的连接超时时间 $m ...

  7. Pytorch多进程最佳实践

    预备知识 模型并行( model parallelism ):即把模型拆分放到不同的设备进行训练,分布式系统中的不同机器(GPU/CPU等)负责网络模型的不同部分 —— 例如,神经网络模型的不同网络层 ...

  8. linux用户权限 -> 系统特殊权限

    set_uid 运行一个命令的时候,相当于这个命令的所有者,而不是执行者的身份. suid的授权方法 suid 权限字符s(S),用户位置上的x位上设置. 授权方法: passwd chmod u+s ...

  9. dragstart drag dragend dragenter dragover dragleave drop

    dragstart drag dragend dragenter dragover dragleave drop   前端框架层出不穷,网页上的效果越来越绚丽,制作绚丽的效果的成本越来越低,其中有种拖 ...

  10. json在线工具

    1.json在线格式化工具 http://www.choujone.com/json/ 2.json在线比较工具 http://tlrobinson.net/projects/javascript-f ...