第六课 中断控制器

第六课 中断体系结构

<1>ARM中断体系结构

(1)7种工作模式

(2)异常

<2>S3C2440中断体系结构

       (1)中断处理过程

       (2)相关寄存器

<3>源码分析

1.EINT0~3是无需在EINTMASK寄存器(外部中断屏蔽寄存器)中使能的,但是EINT4~24就需要在加一条语句了,如: EINTMASK &= ~(1<<11);

2.head.S步骤:

写reset函数:栈指针,关看门狗;设置中断模式,设置栈指针;设置管理模式,设置栈指针;初始化外设为中断配置(init.c里面,还要设置优先级,并且把中断屏蔽关掉);开总中断;跳到main函数;

写中断函数:保存现场;调到中断服务函数;写返回地址(现场返回)

3.写IRQ函数:

计算中断偏移量,根据偏移量判断哪个中断,并对该中断进行相应的处理程序;

注意:EINTPEND寄存器(外部中断挂机寄存器),EINT4~24外部中断不用了需要对该寄存器相应的位写1禁止。

最后清除中断:从源头开始,包括SRCPND,INTPND等(往相应的位写1即可)。

 

  

 

posted on 2017-04-28 17:14  AcmenLiang  阅读(118)  评论(0编辑  收藏  举报

导航