第六课 中断控制器
第六课 中断体系结构
<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) 编辑 收藏 举报