zoukankan      html  css  js  c++  java
  • Linux设备驱动之中断支持及中断分层

    快速中断:在开启快速中断时,其他中断不会打断快速中断。

    多个中断共享一个中断号。

    中断行为受到限制:

      1.不能使用可能引起阻塞的函数

      2.不能使用可能引起调度的函数

    中断注册:request_irq()

    注销中断:free_irq()

    在中断处理函数中,

    1.判断是否发生了所对应的中断

    2.清楚发生的中断

    中断编号??

    中断分层

    当快速中断被关闭时,中断之间可以被打断。当一个中断服务函数未执行完之后若再产生中断,则会执行新的中断服务函数。若产生同类型的中断时,第二次新产生同类型的中断会被忽略。

    若快速中断开启时,一个中断服务函数未执行完成之前若产生中断,则新产生的中断会被忽略。

    故为了解决这种情况,我们只能尽量缩短中断服务函数执行的时间。

    这里将中断服务函数分为两个部分。

    上半部分放在中断服务函数中,主要处理和硬件相关的操作。

    下半部分执行数据的处理。将这部分工作加入到一个专属的工作队列中。

  • 相关阅读:
    Game Engine Architecture 3
    Game Engine Architecture 2
    补码
    工厂模式
    Game Engine Architecture 1
    YDWE Keynote
    3D Math Keynote 4
    3D Math Keynote 3
    3D Math Keynote 2
    OGRE中Any 类型的实现
  • 原文地址:https://www.cnblogs.com/ynxf/p/5779027.html
Copyright © 2011-2022 走看看