中断处理流程,ok6410
中断处理流程
CPU在工作的过程中,经常需要与外设进行交互,交互的方式包括”轮询方式”,”中断方式”。
1.轮询方式:
CPU不断地查询设备的状态。该方式实现比较简单,但CPU利用率很低,不适合多任务的系统。
2. 中断方式:
CPU在告知硬件开始一项工作后,就去做别的事去了,当硬件完成了该项工作后,向CPU发送一个信号,告知CPU它已经完成了这项工作。
一、中断生命周期
中断在嵌入式里面是很常见的一个功能了。通过这个功能,可以让CPU减轻很多负担,不用不断的查询设备的状态。提高了CPU的效率。
中断源检测中断信号产生,然后将中断信号发送给中断控制器,中断控制器判断该中断是否被屏蔽,从而决定该中断信号是否要发送给CPU。中断信号发送给CPU后,CPU对中断进行处理,也就是调用中断函数。
1.1中断源
在中断的生命周期中,中断源的作用是负责产生中断信号。
S3C2440支持60个中断源;
S3C6410支持64个中断源;
S5PV210支持93个中断源;
1.2中断过滤
1.3中断处理
向量中断就是不同的中断有不同的入口地址,非向量中断就只有一个入口地址(中断异常),进去了在判断中断标志来识别具体是哪个中断(中断源)。向量中断实时性好,非向量中断简单。向量者,矢量也,即指方向,门路。
1.4非向量式
非向量方式------由软件件提供中断服务程序入口地址;VIC中的vecaddr中会存放一个默认中断服务程序的地址,这个程序是被所有的非向量中断公用的,他执行的作用就是判断究竟是发生了哪个非向量中断,然后再转向真正要被执行的中断服务程序。
1.5向量方式(6410/210)
向量中断------由硬件提供中断服务程序入口地址;VIC的vecaddr中存放的就是真正的中断服务程序的地址,直接取出来跳过去执行就可以了。所以向量中断较快。
1.6软件角色
1.初始化中断源
2.初始化中断控制器
3.中断处理