void disable_irq(int irq); void disable_irq_nosync(int irq); void enable_irq(int irq)的区别

原创 2007年09月21日 14:37:00

调用这些函数中的任何一个都会更新可编程中断控制器(PIC)中指定中断的掩码,因而,这样就可以在所有的处理器上禁止或者启动 IRQ。对这些函数的调用是可以嵌套的――如果 disable_irq 被成功调用两次,在 IRQ 真正重新打开之前,需要执行两次 enable_irq 调用。从一个中断处理程序中调用这些函数是可以的,但是在处理某个 IRQ 时使能这个 IRQ,并不是一个好习惯。

首先enable_irq是使能IRQ.

disable_irq是禁止IRQ.不但会禁止给定的中断,而且也会等待当前正在执行的中断处理程序完成

 disable_irq_nosync 是立即返回的。这样,使用后者将会更快,但是可能会让你的驱动程序处于竞态下。

void disable_irq(int irq); void disable_irq_nosync(int irq); void enable_irq(int irq)的区别

调用这些函数中的任何一个都会更新可编程中断控制器(PIC)中指定中断的掩码,因而,这样就可以在所有的处理器上禁止或者启动 IRQ。对这些函数的调用是可以嵌套的――如果 disable_irq 被成功调...
  • besthyq
  • besthyq
  • 2007年09月21日 14:37
  • 2654

disable_irq/enable_irq使用不匹配

最近在一次稳定性测试中,发现Kernel Log中出现了如下的Warring,如下:WARNING: CPU: 4 PID: 2956 at /space/builder/repo/sprdroid6...
  • longwang155069
  • longwang155069
  • 2016年06月22日 16:09
  • 1866

设备驱动中的中断问题及实例解析

1、关于设备驱动中的中断问题       操作系统为了使得快速设备和慢速设备合适工作,需要中断来提高效率,一个外设要使用一个中断就必须注册中断号,获得跟这个中断号相关的一些资源,并且在中断发生的时候...
  • chenlong12580
  • chenlong12580
  • 2012年03月11日 10:53
  • 4719

IRQ与FIQ的区别

http://www.myir-tech.com/resource/503.asp IRQ(Interrupt Request):指中断模式。 FIQ(Fast Interrupt R...
  • zhanghuaichao
  • zhanghuaichao
  • 2015年09月29日 09:22
  • 425

disable_irq与disable_irq_nosync使用场景

disable_irq与disable_irq_nosync使用场景
  • yanlaifan
  • yanlaifan
  • 2016年08月22日 11:04
  • 3647

__disable_irq是在哪里定义的

在原代码中见到__disable_irq(),看起来像是
  • booksyhay
  • booksyhay
  • 2014年11月25日 10:21
  • 2670

enable_irq_wake(irq);有嵌套层次

  enable_irq_wake(irq);有嵌套层次,多次执行后如果去执行一次disable_irq_wake,结果不能够disable irq wake,要enable和disable的次数相同...
  • zhenwenxian
  • zhenwenxian
  • 2011年05月15日 03:01
  • 4500

GPIO中断使用小结

GPIO 中断使用小结 最近在开发一个跟GPIO中断相关的功能,发现还是有很多函数比较有意思,现在总结一下: 1. 调用gpio_is_valid(int gpio_num)判断该GPIO是否有效...
  • zhanghuan_xa
  • zhanghuan_xa
  • 2015年09月08日 16:52
  • 5817

local_irq_disable和disable_irq的区别

local_irq_disable: local_irq_disable的功能是屏蔽当前CPU上的所有中断,通过操作arm核心中的寄存器来屏蔽到达CPU上的中断,此时中断控制器中所有送往该CPU上的...
  • rikeyone
  • rikeyone
  • 2016年06月01日 11:53
  • 2856

关于gcc中__irq

中断问题与完整工程测试 一. 中断问题        中断对编写程序非常的重要,所以程序对中断处理的好坏将直接影响程序的优劣,对实时性要求较高的系统更是如此。对于ADS2.0,在编写中断处理程序的...
  • LBO4031
  • LBO4031
  • 2014年08月03日 15:38
  • 1089
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:void disable_irq(int irq); void disable_irq_nosync(int irq); void enable_irq(int irq)的区别
举报原因:
原因补充:

(最多只允许输入30个字)