zoukankan      html  css  js  c++  java
  • 中断处理流程,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.中断处理

     

     

     

  • 相关阅读:
    如何同步共享同一个list
    Java多线程生产者消费者模式(一)之两个线程交替执行
    Java多线程之如何在线程间共享数据
    Java多线程(四)实现多线程的三种方法之JUC的Callable接口
    Java线程的6种状态
    Java lambda表达式的进化论
    Java内部类
    Java多线程(五)锁机制之synchronized 同步方法和同步块
    Java装饰者模式
    Java多线程(三)实现多线程的三种方法之Runnable接口
  • 原文地址:https://www.cnblogs.com/wmx-learn/p/5320506.html
Copyright © 2011-2022 走看看