微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM裸机开发222440中断原理

ARM裸机开发222440中断原理

时间:11-19 来源:互联网 点击:
1CPU与外设之间的数据传送控制方式(I/O控制方式)

通常有以下三种方式

1.查询方式

2.中断方式

3.DMA方式(在独立开辟的一个空间不由CPU控制,有DMA自己进行管理。实现存储器与外设的高速的数据传输方式)

主要讲中断:

中断请求---->中断仲裁---->中断响应---->中断处理---->中断返回(要保存现场)

中断处理流程:

1.中断控制器捕获当前外设发出的中断信号,通知SOC(中央处理芯片:片上系统)

2.SOC保存当前程序的运行环境,调用中断服务程序(ISR:一小段代码)进行处理中断

3.在ISR中通过读取中断控制寄存器、外设的相关寄存器来识别那一个中断触发,获取硬件中断号IRQ,跳转到相应的处理程序(详细完整的处理程序)来完成中断处理

4.清除中断:通过读写相关寄存器

5.恢复被中断的环境,继续执行(现场)

2440有60个中断源

一级中断源,二级中断源等的概念


图片中的所指示的单元为相应的寄存器

悬挂寄存器source pending(SUBSRCPND、SRCPND)清零方式为向相应的位写1.与 常规的清零方式不同。INTPND也是通过写1进行清0操作

INTOFFSET:这个寄存器用来表示INTPND寄存器中哪位被置1了,即INTPND寄存器中位为1时,INTOFFSET寄存器的值为x(x为0~31)

在清除SRCPND、INTPND寄存器时,INTOFFSET寄存器被自动清除。

具体内容详见芯片手册S3C2440

外部中断:

外部中断也有相关的寄存器EXTINTx,EINTMASK,EINTPEND三个寄存器

EXTINTx设置中断的触发方式低电平,高电平,上升沿,下降沿,边沿触发


EINTMASK


EINTPEND中断悬挂寄存器(相应中断触发,相应的位置1)读取此寄存器可以知道是那一个寄存器被触发了


Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top